Aleksey Plekhanov created IGNITE-16701:
------------------------------------------
Summary: 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
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].
--
This message was sent by Atlassian Jira
(v8.20.1#820001)