Skip to content

Scalar subquery issue [CORE1413] #1831

Open
@firebird-automations

Description

@firebird-automations

Submitted by: freemanzav (freemanzav)

Server Version: LI-V2.0.0.12748 Firebird 2.0.
CREATE TABLE TABLE1 (
FILED1 INTEGER,
FILED2 INTEGER
);

INSERT INTO TABLE1 (FILED1, FILED2) VALUES (1, 0);
INSERT INTO TABLE1 (FILED1, FILED2) VALUES (2, 1);
INSERT INTO TABLE1 (FILED1, FILED2) VALUES (1, 0);
INSERT INTO TABLE1 (FILED1, FILED2) VALUES (2, 1);

CREATE INDEX TABLE1_IDX1 ON TABLE1 (FILED1, FILED2);

Query
------------------------------------------------
SELECT (SELECT FIRST 1 R1.FILED1 FROM TABLE1 R1 WHERE R1.FILED1 = R.FILED1
AND R1.FILED1 = (SELECT MAX(R2.FILED1) FROM TABLE1 R2) ) FROM TABLE1 R

Plan
------------------------------------------------
PLAN (R2 NATURAL)
PLAN (R1 INDEX (TABLE1_IDX1))
PLAN (R NATURAL)

Enchanced Info:
Indexed reads - 20

There are 20 unindexed readings. It seems like query "SELECT MAX(R2.FILED1) FROM TABLE1 R2 " executes for every iteration.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions