Cherevatenko Vsevolod wrote:

Отправил.

Спасибо. Любопытный случай.

Несмотря на 3-й диалект базы поле DECIMAL(15, 2) оказалось физически создан как DOUBLE вместо BIGINT. Возможно, этот столбец добавлялся в *коннекте* с 1-м диалектом.

Бага связана с режимом оптимизации компилятора и вылазит где-то между преобразованием numeric-константы к double и сравнением двух double между собой на равенство. При компиляции любого из задействованных модулей в режиме "strict" вместо "precise" проблема уходит.

Причем тут именно embedded - пока неясно. Вроде бы режимы FPU, задаваемые хост-программой, на это никак не должны влиять.


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

Ответить