Skip to content

Regression when derived table has column evaluated as result of subquery with IN(), ANY() or ALL() predicate: "invalid BLR at offset ... / context already in use" #7183

@pavel-zotov

Description

@pavel-zotov

Following script passed on 2.5 but fails on fresh 3.x, 4.x and 5.x starting from second statement.
All errors are:

Statement failed, SQLSTATE = HY000
invalid request BLR at offset 113
-context already in use (BLR error)

If line "where B > 0" will be commented out then no errors occur.

SQL:

set echo on;
set heading off;

-----------------------   1   -----------------------
select B from (
    select 
        iif( exists(select 1 from rdb$database), 1, 0) b
    from rdb$database
)
where B > 0
;
 
-----------------------   2   -----------------------
select B from (
    select 
        iif( 2 in (select 2 from rdb$database), 1, 0) B
    from rdb$database
)
where B > 0
;
 
-----------------------   3   -----------------------
select B from (
    select 
        iif( 3 = any (select 3 from rdb$database), 1, 0) B
    from rdb$database
)
where B > 0
;
 
-----------------------   4   -----------------------
select B from (
    select 
        iif( 4 = all (select 4 from rdb$database), 1, 0) B
    from rdb$database
)
where B > 0
;

show version;

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions