Skip to content

Index for integer column cannot be used when INT128/DECFLOAT value is being searched #7727

@simeonbodurov

Description

@simeonbodurov

Test case:

CREATE TABLE TEST_A (
A BIGINT NOT NULL,
CONSTRAINT PK_TEST PRIMARY KEY(A)
);

CREATE TABLE TEST_B (
B BIGINT NOT NULL,
CONSTRAINT PK_TEST_B PRIMARY KEY(B)
);

SELECT ta.A, tb.B
FROM TEST_A ta
LEFT JOIN TEST_B tb ON tb.B = ta.A / 1000

On Firebird 3.0.10 the plan is: PLAN JOIN (TA NATURAL, TB INDEX (PK_TEST_B)) - TEST_B is read with index

On Firebird 4.0.3 the plan is: PLAN JOIN (TA NATURAL, TB NATURAL) - TEST_B is read is NATURAL

Metadata

Metadata