Skip to content

Commit

Permalink
[CALCITE-6088] SqlItemOperator fails in RelToSqlConverter
Browse files Browse the repository at this point in the history
  • Loading branch information
JiajunBernoulli authored and mihaibudiu committed Nov 4, 2023
1 parent 590ec85 commit 94dc167
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -668,6 +668,7 @@ public SqlNode toSql(@Nullable RexProgram program, RexNode rex) {
.field(lastAccess.getField().getIndex());
break;
case ROW:
case ITEM:
final SqlNode expr = toSql(program, referencedExpr);
sqlIdentifier = new SqlIdentifier(expr.toString(), POS);
break;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2107,6 +2107,22 @@ private SqlDialect nonOrdinalDialect() {
.withHive().ok(expected);
}

/** Test case for
* <a href="https://issues.apache.org/jira/browse/CALCITE-6088">[CALCITE-6088]
* SqlItemOperator fails in RelToSqlConverter</a>. */
@Test void testSqlItemOperator() {
sql("SELECT foo[0].\"EXPR$1\" FROM (SELECT ARRAY[ROW('a', 'b')] AS foo)")
.ok("SELECT \"ARRAY[ROW('a', 'b')][0]\".\"EXPR$1\"\n"
+ "FROM (VALUES (0)) AS \"t\" (\"ZERO\")");
sql("SELECT foo['k'].\"EXPR$1\" FROM (SELECT MAP['k', ROW('a', 'b')] AS foo)")
.ok("SELECT \"MAP['k', ROW('a', 'b')]['k']\".\"EXPR$1\"\n"
+ "FROM (VALUES (0)) AS \"t\" (\"ZERO\")");
sql("select\"books\"[0].\"title\" from \"authors\"")
.schema(CalciteAssert.SchemaSpec.BOOKSTORE)
.ok("SELECT \"`books`[0]\".\"title\"\n"
+ "FROM \"bookstore\".\"authors\"");
}

/** Test case for
* <a href="https://issues.apache.org/jira/browse/CALCITE-3282">[CALCITE-3282]
* HiveSqlDialect unparse Interger type as Int in order
Expand Down

0 comments on commit 94dc167

Please sign in to comment.