[
https://issues.apache.org/jira/browse/FLINK-26295?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated FLINK-26295:
-----------------------------------
Labels: pull-request-available (was: )
> 'HELP ;', 'QUIT ;' and other sql-client commands fail with CalciteException:
> Non-query expression encountered in illegal context
> --------------------------------------------------------------------------------------------------------------------------------
>
> Key: FLINK-26295
> URL: https://issues.apache.org/jira/browse/FLINK-26295
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Client
> Affects Versions: 1.15.0
> Reporter: Sergey Nuyanzin
> Priority: Major
> Labels: pull-request-available
>
> It seems the reason is https://github.com/apache/flink/pull/18363/files
> where added condition like
> {code:java}
> super(Pattern.compile("HELP;?", DEFAULT_PATTERN_FLAGS))
> {code}
> that means {{HELP;}} will work however if there is any space between {{HELP}}
> and {{;}} then not
> and it fails like below (before that it worked without failing)
> Having a space between command and a semicolon is pretty common since
> autocompletion inserts it after tab
> {noformat}
> [ERROR] Could not execute SQL statement. Reason:
> org.apache.calcite.runtime.CalciteException: Non-query expression encountered
> in illegal context
> at
> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at
> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at
> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
> 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.checkNonQueryExpression(FlinkSqlParserImpl.java:395)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.Expression3(FlinkSqlParserImpl.java:21147)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.Expression2b(FlinkSqlParserImpl.java:20816)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.Expression2(FlinkSqlParserImpl.java:20857)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.Expression(FlinkSqlParserImpl.java:20788)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.LeafQueryOrExpr(FlinkSqlParserImpl.java:20765)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.QueryOrExpr(FlinkSqlParserImpl.java:20213)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.OrderedQueryOrExpr(FlinkSqlParserImpl.java:588)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.SqlStmt(FlinkSqlParserImpl.java:3986)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.SqlStmtList(FlinkSqlParserImpl.java:2915)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.parseSqlStmtList(FlinkSqlParserImpl.java:287)
> at
> org.apache.calcite.sql.parser.SqlParser.parseStmtList(SqlParser.java:193)
> at
> org.apache.flink.table.planner.parse.CalciteParser.parseSqlList(CalciteParser.java:77)
> at
> org.apache.flink.table.planner.delegation.ParserImpl.parse(ParserImpl.java:101)
> at
> org.apache.flink.table.client.gateway.local.LocalExecutor.lambda$parseStatement$1(LocalExecutor.java:172)
> at
> org.apache.flink.table.client.gateway.context.ExecutionContext.wrapClassLoader(ExecutionContext.java:88)
> at
> org.apache.flink.table.client.gateway.local.LocalExecutor.parseStatement(LocalExecutor.java:172)
> at
> org.apache.flink.table.client.cli.SqlCommandParserImpl.parseCommand(SqlCommandParserImpl.java:45)
> at
> org.apache.flink.table.client.cli.SqlMultiLineParser.parse(SqlMultiLineParser.java:71)
> at
> org.jline.reader.impl.LineReaderImpl.acceptLine(LineReaderImpl.java:2731)
> at
> org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:585)
> at
> org.apache.flink.table.client.cli.CliClient.getAndExecuteStatements(CliClient.java:296)
> at
> org.apache.flink.table.client.cli.CliClient.executeInteractive(CliClient.java:281)
> at
> org.apache.flink.table.client.cli.CliClient.executeInInteractiveMode(CliClient.java:229)
> at org.apache.flink.table.client.SqlClient.openCli(SqlClient.java:151)
> at org.apache.flink.table.client.SqlClient.start(SqlClient.java:95)
> at
> org.apache.flink.table.client.SqlClient.startClient(SqlClient.java:187)
> at org.apache.flink.table.client.SqlClient.main(SqlClient.java:161)
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)