![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Bug с отрицательными числами в Firebird 1.5 [D6, IB6.x]
dzh2000 © (2003-10-04 16:36:00)
Уважаемые коллеги!
Очень надеюсь на Вашу помощь. Возникла проблема, с которой бьюсь уже неделю
и не могу найти объяснения.
Есть Firebird 1.5.0.3815 RC6, IB Expert 2003.10.01, БД Dialect 3
Упрощу свой рассказ. Из одной хранимой процедуры вызывается другая:
KK = -0.486;
execute procedure EX(KK) returning_values KK;
где переменная KK объявлена как NUMERIC(11,3)
а процедура EX описана как
create procedure EX (V NUMERIC(11,3))
returns (R NUMERIC(11,3))
as
begin
R = V;
end
При пошаговом выполнении проверяю значение переменной KK после выполнения
процедуры EX, и вместо значения -0.486 получаю -486.
Объясните мне, пожалуйста, почему так происходит. Как я понимаю, для
хранения значения переменной KK отводится тип INT64, но почему при передаче
в процедуру и возврате из нее число так искажается?
Спасибо. Дмитрий
dzh2000 (2003-10-05 23:08:00) [1]
Digitman, ты оказался прав. Александр Хвастунов (автор IB Expert) подтвердил, что это баг в отладчике.
Digitman (2003-10-04 17:18:00) [2]
это IBExpert врет, скорей всего