xtern commented on code in PR #2446:
URL: https://github.com/apache/ignite-3/pull/2446#discussion_r1297031725
##########
modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItDmlTest.java:
##########
@@ -575,40 +575,46 @@ private DefaultValueArg(String sqlType, String sqlVal,
Object expectedVal) {
@Test
public void testInsertMultipleDefaults() {
- sql("CREATE TABLE integers(i INTEGER PRIMARY KEY, j INTEGER DEFAULT
2)");
-
- sql("INSERT INTO integers VALUES (1, DEFAULT)");
-
- assertQuery("SELECT i, j FROM integers").returns(1, 2).check();
-
- sql("INSERT INTO integers VALUES (2, 3), (3, DEFAULT), (4, 4), (5,
DEFAULT)");
-
- assertQuery("SELECT i, j FROM integers ORDER BY i")
- .returns(1, 2)
- .returns(2, 3)
- .returns(3, 2)
- .returns(4, 4)
- .returns(5, 2)
+ sql("CREATE TABLE integers(i INTEGER PRIMARY KEY, col1 INTEGER DEFAULT
200, col2 INTEGER DEFAULT 300)");
+
+ sql("INSERT INTO integers (i) VALUES (0)");
+ sql("INSERT INTO integers VALUES (1, DEFAULT, DEFAULT)");
+ sql("INSERT INTO integers(i, col2) VALUES (2, DEFAULT), (3, 4), (4,
DEFAULT)");
Review Comment:
I tried to swap fields order "i, col2" => "col2, i"
```
sql("INSERT INTO integers(col2, i) VALUES (DEFAULT, 2), (4, 3), (DEFAULT,
4)");
```
and got the following exception
```
Caused by: java.lang.AssertionError: Field ordinal 1 is invalid for type
'RecordType(INTEGER EXPR$2)'
at
org.apache.calcite.rex.RexBuilder.makeFieldAccess(RexBuilder.java:215)
at
org.apache.calcite.sql2rel.SqlToRelConverter.createInsertBlackboard(SqlToRelConverter.java:4065)
at
org.apache.calcite.sql2rel.SqlToRelConverter.collectInsertTargets(SqlToRelConverter.java:4139)
at
org.apache.calcite.sql2rel.SqlToRelConverter.convertColumnList(SqlToRelConverter.java:3989)
at
org.apache.calcite.sql2rel.SqlToRelConverter.convertInsert(SqlToRelConverter.java:3826)
at
org.apache.ignite.internal.sql.engine.prepare.IgniteSqlToRelConvertor.convertInsert(IgniteSqlToRelConvertor.java:89)
at
org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:3767)
at
org.apache.ignite.internal.sql.engine.prepare.IgniteSqlToRelConvertor.convertQueryRecursive(IgniteSqlToRelConvertor.java:82)
at
org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:600)
at
org.apache.ignite.internal.sql.engine.prepare.IgnitePlanner.rel(IgnitePlanner.java:252)
at
org.apache.ignite.internal.sql.engine.prepare.PlannerHelper.optimize(PlannerHelper.java:83)
at
org.apache.ignite.internal.sql.engine.prepare.PrepareServiceImpl.lambda$prepareDml$4(PrepareServiceImpl.java:295)
at
java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
... 3 more
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]