simenliuxing created FLINK-24536: ------------------------------------ Summary: flink sql where condition is not supported != writing Key: FLINK-24536 URL: https://issues.apache.org/jira/browse/FLINK-24536 Project: Flink Issue Type: Improvement Components: Table SQL / Planner Affects Versions: 1.14.0 Reporter: simenliuxing Fix For: 1.14.1
sql: {code:java} CREATE TABLE source ( id INT, name STRING, money DECIMAL(32, 2), dateone timestamp, age bigint, datethree timestamp, datesix timestamp(6), datenigth timestamp(9), dtdate date, dttime time ) WITH ( 'connector' = 'datagen' ,'rows-per-second' = '1' ); CREATE TABLE sink ( id bigint, name STRING ) WITH ( 'connector' = 'print' ); insert into sink select sum(id) as id, name from source where name != 'aa' group by name; {code} exception: {code:java} Caused by: org.apache.calcite.sql.parser.SqlParseException: Bang equal '!=' is not allowed under the current SQL conformance levelCaused by: org.apache.calcite.sql.parser.SqlParseException: Bang equal '!=' is not allowed under the current SQL conformance level at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.convertException(FlinkSqlParserImpl.java:462) at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.normalizeException(FlinkSqlParserImpl.java:225) at org.apache.calcite.sql.parser.SqlParser.handleException(SqlParser.java:140) at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:155) at org.apache.calcite.sql.parser.SqlParser.parseStmt(SqlParser.java:180) at org.apache.flink.table.planner.parse.CalciteParser.parse(CalciteParser.java:54) ... 22 moreCaused by: org.apache.calcite.runtime.CalciteException: Bang equal '!=' is not allowed under the current SQL conformance level at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:467) at org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:560) at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:883) at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:868) at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.BinaryRowOperator(FlinkSqlParserImpl.java:31759) at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.Expression2(FlinkSqlParserImpl.java:19802) at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.Expression(FlinkSqlParserImpl.java:19553) at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.WhereOpt(FlinkSqlParserImpl.java:14370) at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.SqlSelect(FlinkSqlParserImpl.java:7836) at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.LeafQuery(FlinkSqlParserImpl.java:704) at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.LeafQueryOrExpr(FlinkSqlParserImpl.java:19536) at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.QueryOrExpr(FlinkSqlParserImpl.java:18982) at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.OrderedQueryOrExpr(FlinkSqlParserImpl.java:578) at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.RichSqlInsert(FlinkSqlParserImpl.java:5596) at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.SqlStmt(FlinkSqlParserImpl.java:3404) at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.SqlStmtEof(FlinkSqlParserImpl.java:3980) at org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.parseSqlStmtEof(FlinkSqlParserImpl.java:273) at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:153) ... 24 more{code} It is ok when I use the following syntax: where name <> 'aa' Why not support '!=' This kind of grammar, will it be supported later? -- This message was sent by Atlassian Jira (v8.3.4#803005)