04.11.2011 1:22, Arioch пишет:

А с какими данными это произошло?
В какой строке в каком столбце какой таблицы ???

Ну и запросы у вас (с)

а план запроса можно построить по BLR ?

Конечно. Но причем тут план?

select * from VIEW_VECTOR_COSINES

Arithmetic overflow or division by zero has occurred.
arithmetic exception, numeric overflow, or string truncation.
Floating-point divide by zero. The code attempted to divide a
floating-point value by zero.


PLAN JOIN (VECTOR_COSINES P NATURAL, VECTOR_COSINES Q INDEX (PK_VECTORS))

План любопытный - показываются вьюхи, а не таблицы - но при этом
показывают PK от таблицЫ, а не от вьюх.

Показывается как имя вьюхи (VECTOR_COSINES) так и имя/алиас таблицы внутри вьюхи (Q).

Но зато есть статистика - а в статистике уже показаны не вьюхи, а
таблицы!!!

Причем тут статистика?

Так вот, зная таблицы и зная внутрение id каждой строки (RDB$ что-то
там, не помню уже), движок же может
для каждой таблицы выбрать поля, входящие в PK или уникакльные индексы,
и для этих полей прочитать и сообщить значения ?

Какие именно значения сообщить? Ну при нарушении PK/UK теоретически возможно сообщить значение ключа-дубликата. А при arithmetic error что выводить? Движок понятия не имеет на этот момент, с какими строками/столбцами он работает. Код выполнения операций контекстно отвязан от выборки данных, ему все равно с чем работать на входе.


--
Дмитрий Еманов

Ответить