[ https://issues.apache.org/jira/browse/IGNITE-19307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Maksim Zhuravkov updated IGNITE-19307: -------------------------------------- Description: The following query fails with "Conversion to relational algebra failed to preserve datatypes" {code:java} @Test public void test() { sql("CREATE TABLE tt (id integer primary key, test_key integer)"); sql("INSERT INTO tt VALUES(1, 100)"); assertQuery("SELECT test_key FROM tt UNION ALL SELECT '1000'").check(); } {code} Although the same expression with literal works as expected: {code:java} @Test public void test2() { assertQuery("SELECT 100 UNION ALL SELECT '1000'").check(); } {code} Error: {code:java} java.lang.AssertionError: Conversion to relational algebra failed to preserve datatypes: validated type: RecordType(VARCHAR CHARACTER SET "UTF-8" NOT NULL TEST_KEY) NOT NULL converted type: RecordType(VARCHAR CHARACTER SET "UTF-8" EXPR$0) NOT NULL rel: LogicalUnion(all=[true]) LogicalProject(EXPR$0=[CAST($1):VARCHAR CHARACTER SET "UTF-8"]) IgniteLogicalTableScan(table=[[PUBLIC, TT]]) LogicalValues(tuples=[[{ _UTF-8'1000' }]]) {code} > Sql. Set operation: Conversion to relational algebra failed to preserve > datatypes. > ---------------------------------------------------------------------------------- > > Key: IGNITE-19307 > URL: https://issues.apache.org/jira/browse/IGNITE-19307 > Project: Ignite > Issue Type: Bug > Components: sql > Reporter: Maksim Zhuravkov > Priority: Minor > Labels: ignite-3 > Fix For: 3.0.0-beta2 > > > The following query fails with "Conversion to relational algebra failed to > preserve datatypes" > {code:java} > @Test > public void test() { > sql("CREATE TABLE tt (id integer primary key, test_key integer)"); > sql("INSERT INTO tt VALUES(1, 100)"); > assertQuery("SELECT test_key FROM tt UNION ALL SELECT '1000'").check(); > } > {code} > Although the same expression with literal works as expected: > {code:java} > @Test > public void test2() { > assertQuery("SELECT 100 UNION ALL SELECT '1000'").check(); > } > {code} > Error: > {code:java} > java.lang.AssertionError: Conversion to relational algebra failed to preserve > datatypes: > validated type: > RecordType(VARCHAR CHARACTER SET "UTF-8" NOT NULL TEST_KEY) NOT NULL > converted type: > RecordType(VARCHAR CHARACTER SET "UTF-8" EXPR$0) NOT NULL > rel: > LogicalUnion(all=[true]) > LogicalProject(EXPR$0=[CAST($1):VARCHAR CHARACTER SET "UTF-8"]) > IgniteLogicalTableScan(table=[[PUBLIC, TT]]) > LogicalValues(tuples=[[{ _UTF-8'1000' }]]) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)