[ https://issues.apache.org/jira/browse/CALCITE-5141?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jess Balint closed CALCITE-5141. -------------------------------- Resolved in release 1.33.0 (2023-02-06) > Incomplete implicit type conversion for insert values > ----------------------------------------------------- > > Key: CALCITE-5141 > URL: https://issues.apache.org/jira/browse/CALCITE-5141 > Project: Calcite > Issue Type: Bug > Components: core > Reporter: Jiajun Xie > Assignee: Jiajun Xie > Priority: Major > Labels: pull-request-available > Fix For: 1.33.0 > > Time Spent: 2h 20m > Remaining Estimate: 0h > > - Target table schema > {code:java} > // Register "T1" table. > final MockTable t1 = > MockTable.create(this, tSchema, "T1", false, 7.0, null); > t1.addColumn("t1_varchar20", f.varchar20Type, true); > t1.addColumn("t1_smallint", f.smallintType); > t1.addColumn("t1_int", f.intType); > t1.addColumn("t1_bigint", f.bigintType); > t1.addColumn("t1_float", f.floatType); > t1.addColumn("t1_double", f.doubleType); > t1.addColumn("t1_decimal", f.decimalType); > t1.addColumn("t1_timestamp", f.timestampType); > t1.addColumn("t1_date", f.dateType); > t1.addColumn("t1_binary", f.binaryType); > t1.addColumn("t1_boolean", f.booleanType); > registerTable(t1); > {code} > - Insert query > {code:java} > insert into t1 values > ('a', 1, 1.0, 0, 0, 0, 0, TIMESTAMP '2021-11-28 00:00:00', date '2021-11-28', > x'0A', false), > ('b', 2, 2, 0, 0, 0, 0, TIMESTAMP '2021-11-28 00:00:00', date '2021-11-28', > x'0A', false), > ('c', CAST(3 AS SMALLINT), 3.0, 0, 0, 0, 0, TIMESTAMP '2021-11-28 00:00:00', > date '2021-11-28', x'0A', false), > ('d', 4, 4.0, 0, 0, 0, 0, TIMESTAMP '2021-11-28 00:00:00', date '2021-11-28', > x'0A', false), > ('e', 5, 5.0, 0, 0, 0, 0, TIMESTAMP '2021-11-28 00:00:00', date '2021-11-28', > x'0A', false) > {code} > - Incorrect converted plan: the data type is not matched with table schema > {code:java} > LogicalTableModify(table=[[CATALOG, SALES, T1]], operation=[INSERT], > flattened=[false]) > LogicalValues(tuples=[[ > { 'a', 1, 1, 0, 0, 0, 0, 2021-11-28 00:00:00, 2021-11-28, X'0a', false }, > { 'b', 2, 2, 0, 0, 0, 0, 2021-11-28 00:00:00, 2021-11-28, X'0a', false }, > { 'c', 3, ^3.0^, 0, 0, 0, 0, 2021-11-28 00:00:00, 2021-11-28, X'0a', false > }, > { 'd', 4, ^4.0^, 0, 0, 0, 0, 2021-11-28 00:00:00, 2021-11-28, X'0a', false > }, > { 'e', 5, ^5.0^, 0, 0, 0, 0, 2021-11-28 00:00:00, 2021-11-28, X'0a', false > }]]) > // Here are some numbers that are not integers{code} > - Correct converted plan > {code:java} > LogicalTableModify(table=[[CATALOG, SALES, T1]], operation=[INSERT], > flattened=[false]) > LogicalValues(tuples=[[ > { 'a', 1, 1, 0, 0, 0, 0, 2021-11-28 00:00:00, 2021-11-28, X'0a', false }, > { 'b', 2, 2, 0, 0, 0, 0, 2021-11-28 00:00:00, 2021-11-28, X'0a', false }, > { 'c', 3, 3, 0, 0, 0, 0, 2021-11-28 00:00:00, 2021-11-28, X'0a', false }, > { 'd', 4, 4, 0, 0, 0, 0, 2021-11-28 00:00:00, 2021-11-28, X'0a', false }, > { 'e', 5, 5, 0, 0, 0, 0, 2021-11-28 00:00:00, 2021-11-28, X'0a', false }]]) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)