[ 
https://issues.apache.org/jira/browse/IGNITE-16701?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Plekhanov updated IGNITE-16701:
---------------------------------------
    Description: 
Reproducer:
{code:java}
executeSql("CREATE TABLE t1(i INT)");
executeSql("CREATE INDEX t1_i ON t1(i)");
executeSql("INSERT INTO t1 VALUES (0)");
executeSql("CREATE TABLE t2(i INT)");
executeSql("CREATE INDEX t2_i ON t2(i)");
executeSql("INSERT INTO t2 VALUES (0), (0), (0)");
assertQuery("SELECT /*+ DISABLE_RULE('CorrelatedNestedLoopJoin', 
'NestedLoopJoinConverter') */ t1.i FROM t1 LEFT JOIN t2 ON t1.i = 
t2.i").returns(0).returns(0).returns(0).check();
{code}
Should return [0, 0, 0], but returns [0, 0].

 

 

  was:
 

Reproducer:

 
{code:java}
executeSql("CREATE TABLE t1(i INT)");
executeSql("CREATE INDEX t1_i ON t1(i)");
executeSql("INSERT INTO t1 VALUES (0)");
executeSql("CREATE TABLE t2(i INT)");
executeSql("CREATE INDEX t2_i ON t2(i)");
executeSql("INSERT INTO t1 VALUES (0), (0), (0)");

assertQuery("SELECT t1.i FROM t1 LEFT JOIN t2 ON t1.i = 
t2.i").returns(0).returns(0).returns(0).check();

assertQuery("SELECT t1.i FROM t1 RIGHT JOIN t2 ON t1.i = 
t2.i").returns(0).returns(0).returns(0).check(); 

assertQuery("SELECT t1.i FROM t1 RIGHT JOIN t2 ON t1.i = 
t2.i").returns(0).returns(0).returns(0).check(); {code}
Queries shold return [0, 0, 0]. But LEFT JOIN returns [0, 0], RIGHT JOIN 
returns [empty], and FULL JOIN returns [0, 0, 0, 0].

 

 


> Calcite engine. Merge join incorrectly works when there are more then two 
> matched rows on the right side
> --------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-16701
>                 URL: https://issues.apache.org/jira/browse/IGNITE-16701
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Aleksey Plekhanov
>            Assignee: Aleksey Plekhanov
>            Priority: Major
>              Labels: calcite, calcite2-required, calcite3-required
>
> Reproducer:
> {code:java}
> executeSql("CREATE TABLE t1(i INT)");
> executeSql("CREATE INDEX t1_i ON t1(i)");
> executeSql("INSERT INTO t1 VALUES (0)");
> executeSql("CREATE TABLE t2(i INT)");
> executeSql("CREATE INDEX t2_i ON t2(i)");
> executeSql("INSERT INTO t2 VALUES (0), (0), (0)");
> assertQuery("SELECT /*+ DISABLE_RULE('CorrelatedNestedLoopJoin', 
> 'NestedLoopJoinConverter') */ t1.i FROM t1 LEFT JOIN t2 ON t1.i = 
> t2.i").returns(0).returns(0).returns(0).check();
> {code}
> Should return [0, 0, 0], but returns [0, 0].
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to