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 что выводить? Движок понятия не имеет на этот момент, с какими строками/столбцами он работает. Код выполнения операций контекстно отвязан от выборки данных, ему все равно с чем работать на входе.
-- Дмитрий Еманов