-
-
Notifications
You must be signed in to change notification settings - Fork 243
Description
Submitted by: @dyemanov
Is duplicated by CORE3270
Is related to QA448
Test case:
CREATE TABLE T ( ID integer, FIELD1 varchar(30) );
CREATE VIEW VT ( ID )
AS
select http://T1.ID from T as T1 where T1.FIELD1 not in ( select T2.FIELD1 from T as T2 where T2.FIELD1 = 'system1' )
;
INSERT INTO T (ID, FIELD1) VALUES (1, 'system');
INSERT INTO T (ID, FIELD1) VALUES (2, 'system');
INSERT INTO T (ID, FIELD1) VALUES (3, 'system');
INSERT INTO T (ID, FIELD1) VALUES (4, 'system');
INSERT INTO T (ID, FIELD1) VALUES (5, 'system');
COMMIT WORK;
select * from VT;
-- ERROR: string right truncation
The problem is that every select retrieves the db_key/record_version pair and they're described as having length of 8 and 4 bytes respectively. But these values gets concatenated in this case, because expand_view_nodes() returns two items. It seems being related to NOT IN, because an equivalent query with NOT EXISTS works fine. The same query without a view also works fine.
Commits: 792fbc8 fd68563 f3277d0 FirebirdSQL/fbt-repository@63d79e3