[ https://issues.apache.org/jira/browse/IGNITE-22967?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Steshin updated IGNITE-22967: -------------------------------------- Description: Test {code:java} public class LimitOffsetIntegrationTest extends AbstractBasicIntegrationTest { /** */ @Test public void testLimitOffsetWithNestedUnion() { sql("INSERT into TEST_REPL VALUES (1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')"); assertQuery("(SELECT id FROM TEST_REPL WHERE id = 2) UNION ALL " + "SELECT id FROM (select id from (SELECT id FROM TEST_REPL OFFSET 2) order by id OFFSET 1)" ).returns(2).returns(4).check(); } /** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { QueryEntity eRepl = new QueryEntity() .setTableName("TEST_REPL") .setKeyType(Integer.class.getName()) .setValueType(String.class.getName()) .setKeyFieldName("id") .setValueFieldName("val") .addQueryField("id", Integer.class.getName(), null) .addQueryField("val", String.class.getName(), null); return super.getConfiguration(igniteInstanceName) .setCacheConfiguration( new CacheConfiguration<>(eRepl.getTableName()) .setCacheMode(CacheMode.REPLICATED) .setQueryEntities(singletonList(eRepl)) .setSqlSchema("PUBLIC")); } } {code} Gives the result [2, 3, 4] instead of [2, 4]. Removing any of `UNION` or `ORDER BY` fixes. was: Test {code:java} public class LimitOffsetIntegrationTest extends AbstractBasicIntegrationTest { /** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { QueryEntity eRepl = new QueryEntity() .setTableName("TEST_REPL") .setKeyType(Integer.class.getName()) .setValueType(String.class.getName()) .setKeyFieldName("id") .setValueFieldName("val") .addQueryField("id", Integer.class.getName(), null) .addQueryField("val", String.class.getName(), null); return super.getConfiguration(igniteInstanceName) .setCacheConfiguration( new CacheConfiguration<>(eRepl.getTableName()) .setCacheMode(CacheMode.REPLICATED) .setQueryEntities(singletonList(eRepl)) .setSqlSchema("PUBLIC")); } /** */ @Test public void testLimitOffsetWithNestedUnion() { sql("INSERT into TEST_REPL VALUES (1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')"); assertQuery("(SELECT id FROM TEST_REPL WHERE id = 2) UNION ALL " + "SELECT id FROM (select id from (SELECT id FROM TEST_REPL OFFSET 2) order by id OFFSET 1)" ).returns(2).returns(4).check(); } } {code} Gives the result [2, 3, 4] instead of [2, 4]. Removing any of `UNION` or `ORDER BY` fixes. > Incorrect SQL result with UNION, ORDER BY and OFFSET > ---------------------------------------------------- > > Key: IGNITE-22967 > URL: https://issues.apache.org/jira/browse/IGNITE-22967 > Project: Ignite > Issue Type: Bug > Reporter: Vladimir Steshin > Assignee: Vladimir Steshin > Priority: Major > Labels: calcite, ise, sql > > Test > {code:java} > public class LimitOffsetIntegrationTest extends AbstractBasicIntegrationTest { > /** */ > @Test > public void testLimitOffsetWithNestedUnion() { > sql("INSERT into TEST_REPL VALUES (1, 'a'), (2, 'b'), (3, 'c'), (4, > 'd')"); > assertQuery("(SELECT id FROM TEST_REPL WHERE id = 2) UNION ALL " + > "SELECT id FROM (select id from (SELECT id FROM TEST_REPL OFFSET > 2) order by id OFFSET 1)" > ).returns(2).returns(4).check(); > } > /** {@inheritDoc} */ > @Override protected IgniteConfiguration getConfiguration(String > igniteInstanceName) throws Exception { > QueryEntity eRepl = new QueryEntity() > .setTableName("TEST_REPL") > .setKeyType(Integer.class.getName()) > .setValueType(String.class.getName()) > .setKeyFieldName("id") > .setValueFieldName("val") > .addQueryField("id", Integer.class.getName(), null) > .addQueryField("val", String.class.getName(), null); > return super.getConfiguration(igniteInstanceName) > .setCacheConfiguration( > new CacheConfiguration<>(eRepl.getTableName()) > .setCacheMode(CacheMode.REPLICATED) > .setQueryEntities(singletonList(eRepl)) > .setSqlSchema("PUBLIC")); > } > } > {code} > Gives the result [2, 3, 4] instead of [2, 4]. Removing any of `UNION` or > `ORDER BY` fixes. -- This message was sent by Atlassian Jira (v8.20.10#820010)