[ https://issues.apache.org/jira/browse/IGNITE-16580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Evgeny Stanilovsky resolved IGNITE-16580. ----------------------------------------- Resolution: Invalid > Calcite. Merge returns unexpected results. > ------------------------------------------ > > Key: IGNITE-16580 > URL: https://issues.apache.org/jira/browse/IGNITE-16580 > Project: Ignite > Issue Type: Bug > Components: sql > Reporter: Evgeny Stanilovsky > Assignee: Aleksey Plekhanov > Priority: Major > Labels: calcite, calcite2-required > > {noformat} > @Test > public void testMerge0() { > sql("CREATE TABLE test1 (k1 int, k2 int, a int, b varchar, c varchar, > CONSTRAINT PK PRIMARY KEY (k1, k2))"); > sql("INSERT INTO test1 VALUES (111, 111, 0, 'a', '0')"); > sql("INSERT INTO test1 VALUES (222, 222, 1, 'b', '1')"); > sql("CREATE TABLE test2 (k1 int, k2 int, a int, b varchar, c varchar, > CONSTRAINT PK PRIMARY KEY (k1, k2))"); > sql("INSERT INTO test2 VALUES (333, 333, 0, '100', '')"); > sql("INSERT INTO test2 VALUES (444, 444, 2, '200', '')"); > String sql = "MERGE INTO test2 dst USING test1 src ON (dst.a = src.a) > " + > "WHEN MATCHED THEN UPDATE SET b = src.b " + > "WHEN NOT MATCHED THEN INSERT (k1, k2, a, b) VALUES (src.k2, > src.k2, src.a, src.b)"; > > assertQuery(sql).matches(QueryChecker.containsSubPlan("IgniteTableSpool")).check(); > assertQuery("SELECT * FROM test2 ORDER BY k1") > .returns(222, 222, 1, "b", "1") > .returns(333, 333, 0, "a", "") > .returns(444, 444, 2, "200", "") > .check(); > } > {noformat} > java.lang.AssertionError: Collections sizes are not equal: > Expected: [[222, 222, 1, b, 1], [333, 333, 0, a, ], [444, 444, 2, 200, ]] > Actual: [[333, 333, 0, 100, ], [444, 444, 2, 200, ]] -- This message was sent by Atlassian Jira (v8.20.1#820001)