[ 
https://issues.apache.org/jira/browse/FLINK-31344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17709961#comment-17709961
 ] 

Aitozi commented on FLINK-31344:
--------------------------------

Hi [~luoyuxia], when solving the FLINK-31301 I notice this ticket. After 
spending some time investigate on this ticket, I think we can support update 
nested columns in the following step:
 - Modify the SqlParser to accept the compound identifier for the UPDATE SET 
clause
 - Modify the interface SupportsRowLevelUpdate, which will be better to work 
with {{int[][]}} instead of {{Column}} (It will make the control of required 
column finer).

WDYT ?

> Support to update nested columns in update statement
> ----------------------------------------------------
>
>                 Key: FLINK-31344
>                 URL: https://issues.apache.org/jira/browse/FLINK-31344
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table SQL / API
>            Reporter: luoyuxia
>            Priority: Major
>
> Currently, it'll throw exception while using update statement to update 
> nested column;
> For the following sql:
>  
> {code:java}
> create table (t ROW<`a` INT>) with (xxx);
> update t set s.a = 1;{code}
> It'll throw the exception:
> {code:java}
> Caused by: org.apache.flink.sql.parser.impl.ParseException: Encountered "." 
> at line 1, column 15.
> Was expecting:
>     "=" ...
>     
>     at 
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.generateParseException(FlinkSqlParserImpl.java:46382)
>     at 
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.jj_consume_token(FlinkSqlParserImpl.java:46190)
>     at 
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.SqlUpdate(FlinkSqlParserImpl.java:14389)
>     at 
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.SqlStmt(FlinkSqlParserImpl.java:4121)
>     at 
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.SqlStmtList(FlinkSqlParserImpl.java:2998)
>     at 
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.parseSqlStmtList(FlinkSqlParserImpl.java:306)
>     at 
> org.apache.calcite.sql.parser.SqlParser.parseStmtList(SqlParser.java:198)
>     ... 33 more {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to