Кузнецов Евгений wrote:

Обнаружили, что вычитание дат в FB 2 было изменено - идет округление
вместо отбрасывания разрядов, не влезающих в NUMERIC(18,9), как в 1.5

Таким образом

select (CAST('2007-08-22 00:00:00.0019' AS TIMESTAMP)-
      CAST('2007-08-22 00:00:00.0000' AS TIMESTAMP))*86400*10000
from rdb$database

в 1.5.4 даст 18,144
в 2.01 и 2.02 и 2.1.0.16309  -  19,008

Так точно.

Но при вычитании большей даты из меньшей на 2.0x, 2.1 получим
-18,144.
Подобное поведение неожиданно для пользователя.
Следует ли считать это багом?

Да, в трекер. Там фикс примитивный, Влад уже в другом месте поправлял аналогичную фигню.


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

Ответить