Добрый день

После обновления до Firebird-2.5.0.26074_1_Win32.exe (была
2.5.0.25904)
Перестала работать view'ха

Запрос отрабатывает нормально
select Up.test_field1
 from User_param2 UP
 where
  UP.test_field1 not in
   (
    select U.test_field1
     from User_param2 U
where U.test_field1 = 'system1'
)

а view на основе него не работает
ругается на
select *
 from TEST_VIEW

Arithmetic overflow or division by zero has occurred.
arithmetic exception, numeric overflow, or string truncation.
string right truncation.

Если убрать условие - все ок
--where U.test_field1 = 'system1'
Похоже на БАГ
------------------

выкладываю скрипт>>
--drop TABLE USER_PARAM2
CREATE TABLE USER_PARAM2 (
    ID           integer,
    TEST_FIELD1  VARCHAR(30)
);


--drop view Test_VIEW
CREATE VIEW Test_VIEW(
    ID
)
AS
select Up.test_field1
 from User_param2 UP
 where
  UP.test_field1 not in
   (
    select U.test_field1
     from User_param2 U
where U.test_field1 = 'system1'
   )

INSERT INTO USER_PARAM2 (ID, TEST_FIELD1) VALUES (1, 'system');
INSERT INTO USER_PARAM2 (ID, TEST_FIELD1) VALUES (2, 'system');
INSERT INTO USER_PARAM2 (ID, TEST_FIELD1) VALUES (3, 'system');
INSERT INTO USER_PARAM2 (ID, TEST_FIELD1) VALUES (4, 'system');
INSERT INTO USER_PARAM2 (ID, TEST_FIELD1) VALUES (5, 'system');

COMMIT WORK;

Ответить