-
-
Notifications
You must be signed in to change notification settings - Fork 259
Closed
Labels
affect-version: 1.5.4affect-version: 1.5.5affect-version: 1.5.6affect-version: 2.0.0affect-version: 2.0.1affect-version: 2.0.2affect-version: 2.0.3affect-version: 2.0.4affect-version: 2.0.5affect-version: 2.1.0affect-version: 2.1.1affect-version: 2.1.2affect-version: 2.1.3affect-version: 2.5 Alpha 1affect-version: 2.5 Beta 1affect-version: 2.5 Beta 2affect-version: 2.5 RC1affect-version: 2.5 RC2affect-version: 3.0 Initialcomponent: enginefix-version: 3.0.9fix-version: 4.0.2fix-version: 5.0 Beta 1priority: majorqa: done successfullytype: bug
Description
Submitted by: @dyemanov
Votes: 2
Test case:
create table T1 (ID int, COL int);
create index T1_ID on T1 (ID);
create unique index T1_COL on T1 (COL);
create table T2 (ID int);
create index T2_ID on T2 (ID);
create table T3 (ID int);
create index T3_ID on T3 (ID);
select *
from T1
join T2 on T2.ID = T1.ID
join T3 on T3.ID = coalesce(T1.ID, T2.ID)
where T1.COL = ?
-- bad plan by FB 1.5
-- PLAN JOIN (T3 NATURAL, T1 INDEX (T1_COL), T2 INDEX (T2_ID))
-- bad plan by FB 2.x
-- PLAN MERGE (SORT (JOIN (T1 INDEX (T1_COL), T2 INDEX (T2_ID))), SORT (T3 NATURAL))
-- expected plan
-- PLAN JOIN (T1 INDEX (T1_COL), T2 INDEX (T2_ID), T3 INDEX (T3_ID))
Metadata
Metadata
Assignees
Labels
affect-version: 1.5.4affect-version: 1.5.5affect-version: 1.5.6affect-version: 2.0.0affect-version: 2.0.1affect-version: 2.0.2affect-version: 2.0.3affect-version: 2.0.4affect-version: 2.0.5affect-version: 2.1.0affect-version: 2.1.1affect-version: 2.1.2affect-version: 2.1.3affect-version: 2.5 Alpha 1affect-version: 2.5 Beta 1affect-version: 2.5 Beta 2affect-version: 2.5 RC1affect-version: 2.5 RC2affect-version: 3.0 Initialcomponent: enginefix-version: 3.0.9fix-version: 4.0.2fix-version: 5.0 Beta 1priority: majorqa: done successfullytype: bug