[
https://issues.apache.org/jira/browse/CALCITE-5122?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmitry Sysolyatin resolved CALCITE-5122.
----------------------------------------
Resolution: Fixed
> Update query with correlated throws AssertionError "field ordinal 0 out of
> range"
> ---------------------------------------------------------------------------------
>
> Key: CALCITE-5122
> URL: https://issues.apache.org/jira/browse/CALCITE-5122
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.30.0
> Reporter: cwb
> Assignee: Jiajun Xie
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.41.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> code:
> String sqlUpdate="update mysql2.user_info_2 a set name = (select account_name
> from mysql2.account_info b where b.account_id=a.id )";
> RelToSqlConverter relToSqlConverter = new
> RelToSqlConverter(AnsiSqlDialect.DEFAULT);
> SqlImplementor.Result visit;
> SqlNode sqlNodeTarget;
> String targetSql;
> sqlNode = planner.parse(sqlUpdate);
> planner.validate(sqlNode);
> relRoot = planner.rel(sqlNode);
> visit = relToSqlConverter.visitRoot(relRoot.rel);
> sqlNodeTarget = visit.asStatement();
>
> targetSql=sqlNodeTarget.toSqlString(MysqlSqlDialect.DEFAULT).getSql();
> error: (in public Result visit(TableModify modify) )
> Exception in thread "main" java.lang.AssertionError: field ordinal 0 out of
> range {}
> at
> org.apache.calcite.rel.rel2sql.SqlImplementor$AliasContext.field(SqlImplementor.java:1531)
> at
> org.apache.calcite.rel.rel2sql.SqlImplementor$Context.toSql(SqlImplementor.java:630)
> at
> org.apache.calcite.rel.rel2sql.RelToSqlConverter.lambda$12(RelToSqlConverter.java:1066)
> at org.apache.calcite.util.Util$TransformingList.get(Util.java:2783)
> at java.util.AbstractList$Itr.next(AbstractList.java:358)
> at java.util.AbstractCollection.toArray(AbstractCollection.java:141)
> at java.util.ArrayList.<init>(ArrayList.java:178)
> at org.apache.calcite.sql.SqlNodeList.<init>(SqlNodeList.java:98)
> at
> org.apache.calcite.rel.rel2sql.RelToSqlConverter.exprList(RelToSqlConverter.java:1065)
> at
> org.apache.calcite.rel.rel2sql.RelToSqlConverter.visit(RelToSqlConverter.java:1038)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)