Hi, Dan. I'm wondering what type of error you expect. IMO, I think most engines throw parse error in such way which tell you encounter an unexpected token.
Best regards, Yuxia 发件人: "Dan Hill" <quietgol...@gmail.com> 收件人: "User" <user@flink.apache.org> 发送时间: 星期三, 2022年 11 月 23日 下午 1:55:20 主题: Weird Flink SQL error Hi. I'm hitting an obfuscated Flink SQL parser error. Is there a way to get better errors for Flink SQL? I'm hitting it when I wrap some of the fields on an inner Row. Works CREATE TEMPORARY VIEW `test_content_metrics_view` AS SELECT DATE_FORMAT(TUMBLE_ROWTIME(rowtime, INTERVAL '1' DAY ), 'yyyy-MM-dd' ), platform_id, content_id FROM content_event GROUP BY platform_id, content_id, TUMBLE(rowtime, INTERVAL '1' DAY ) CREATE TABLE test_content_metrics ( dt STRING NOT NULL , `platform_id` BIGINT, `content_id` STRING ) PARTITIONED BY (dt) WITH ( 'connector' = 'filesystem' , 'path' = 'etl/test_content_metrics' , 'format' = 'json' , ) INSERT INTO `test_content_metrics` SELECT * FROM `test_content_metrics_view` Fails Wrapping a couple parameters in a Row causes the following exception. Caused by : org.apache.flink. sql .parser.impl.ParseException: Encountered "." at line 1 , column 119 . Was expecting one of : ")" ... "," ... org.apache.flink. sql .parser.impl.FlinkSqlParserImpl.generateParseException(FlinkSqlParserImpl.java: 40981 ) org.apache.flink. sql .parser.impl.FlinkSqlParserImpl.jj_consume_token(FlinkSqlParserImpl.java: 40792 ) org.apache.flink. sql .parser.impl.FlinkSqlParserImpl.ParenthesizedSimpleIdentifierList(FlinkSqlParserImpl.java: 25220 ) org.apache.flink. sql .parser.impl.FlinkSqlParserImpl.Expression3(FlinkSqlParserImpl.java: 19925 ) org.apache.flink. sql .parser.impl.FlinkSqlParserImpl.Expression2b(FlinkSqlParserImpl.java: 19581 ) [...] CREATE TEMPORARY VIEW `test_content_metrics_view` AS SELECT DATE_FORMAT(TUMBLE_ROWTIME(rowtime, INTERVAL '1' DAY ), 'yyyy-MM-dd' ), ROW( platform_id, content_id ) FROM content_event GROUP BY platform_id, content_id, TUMBLE(rowtime, INTERVAL '1' DAY ) CREATE TABLE test_content_metrics ( dt STRING NOT NULL , `body` ROW( `platform_id` BIGINT, `content_id` STRING ) ) PARTITIONED BY (dt) WITH ( 'connector' = 'filesystem' , 'path' = 'etl/test_content_metrics' , 'format' = 'json' , ) INSERT INTO `test_content_metrics` SELECT * FROM `test_content_metrics_view`