Cherevatenko Vsevolod wrote:
Отправил.
Спасибо. Любопытный случай.
Несмотря на 3-й диалект базы поле DECIMAL(15, 2) оказалось физически
создан как DOUBLE вместо BIGINT. Возможно, этот столбец добавлялся в
*коннекте* с 1-м диалектом.
Бага связана с режимом оптимизации компилятора и вылазит где-то между
преобразованием numeric-константы к double и сравнением двух double
между собой на равенство. При компиляции любого из задействованных
модулей в режиме "strict" вместо "precise" проблема уходит.
Причем тут именно embedded - пока неясно. Вроде бы режимы FPU,
задаваемые хост-программой, на это никак не должны влиять.
--
Дмитрий Еманов