[
https://issues.apache.org/jira/browse/IGNITE-14163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17294807#comment-17294807
]
Yury Gerzhedovich commented on IGNITE-14163:
--------------------------------------------
[~korlov], LGTM
> SQL. Calcite: Error: Failed to plan query. (state=50000,code=1)
> ----------------------------------------------------------------
>
> Key: IGNITE-14163
> URL: https://issues.apache.org/jira/browse/IGNITE-14163
> Project: Ignite
> Issue Type: Bug
> Components: sql
> Reporter: Fedor Malchikov
> Assignee: Konstantin Orlov
> Priority: Blocker
> Attachments: caches.xml, create_env.txt, data-reg.xml, ignite.log,
> server.xml, sqlline.log
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> Problem reproduced on inner , right, right outer joins and unions, but not
> affected left\ left outer joins.
> For test db creation please use create_env.txt.
> {code:SQL}
> SELECT t17_1.int_col1, t17_2.int_col1, t17_1.id FROM t17_1 INNER JOIN t17_2
> ON t17_1.id=t17_2.id WHERE t17_1.int_col2
> IN(0,1,-2,3,-5,7,-11,13,-17,19,-23,29,-31,37,-41,43,-47,53,-59,61,-67,71,-73,79,-83,89,-97)
> OR t17_1.int_col1 > 10 ORDER BY t17_1.id;
> {code}
> {code:java}
> Error: Failed to plan query. (state=50000,code=1)
> java.sql.SQLException: Failed to plan query.
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:1009)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:234)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:560)
> at sqlline.Commands.execute(Commands.java:823)
> at sqlline.Commands.sql(Commands.java:733)
> at sqlline.SqlLine.dispatch(SqlLine.java:795)
> at sqlline.SqlLine.runCommands(SqlLine.java:1706)
> at sqlline.Commands.run(Commands.java:1317)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:791)
> at sqlline.SqlLine.initArgs(SqlLine.java:595)
> at sqlline.SqlLine.begin(SqlLine.java:643)
> at sqlline.SqlLine.start(SqlLine.java:373)
> at sqlline.SqlLine.main(SqlLine.java:265)
> {code}
> Ignite log:
> {code:java}
> [20:50:31,206][SEVERE][client-connector-#142][JdbcRequestHandler] Failed to
> execute SQL query [reqId=392, req=JdbcQueryExecuteRequest [schemaName=PUBLIC,
> pageSize=1024, maxRows=0, sqlQry=SELECT t17_1.int_col1, t17_2.int_col1,
> t17_1.id FROM t17_1 INNER JOIN t17_2 ON t17_1.id=t17_2.id WHERE
> t17_1.int_col1
> IN(0,1,-2,3,-5,7,-11,13,-17,19,-23,29,-31,37,-41,43,-47,53,-59,61,-67,71,-73,79,-83,89,-97)
> OR t17_1.int_col1 > 10 ORDER BY t17_1.id, args=Object[] [],
> stmtType=ANY_STATEMENT_TYPE, autoCommit=true, partResReq=false,
> explicitTimeout=false, super=JdbcRequest [type=2, reqId=392]]]
> class org.apache.ignite.internal.processors.query.IgniteSQLException: Failed
> to plan query.
> at
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:522)
> at
> org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.queryPlan(QueryPlanCacheImpl.java:84)
> at
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:379)
> at
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:248)
> at
> org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.querySqlFields(JdbcRequestHandler.java:790)
> at
> org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:673)
> at
> org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.doHandle(JdbcRequestHandler.java:341)
> at
> org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:278)
> at
> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:202)
> at
> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:56)
> at
> org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
> at
> org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
> at
> org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
> at
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
> at
> org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.UnsupportedOperationException: type not serializable:
> Sarg[(-∞..0), (0..+∞)] (type org.apache.calcite.util.Sarg)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJson.toJson(RelJson.java:291)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJson.toJson(RelJson.java:727)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJson.toJson(RelJson.java:766)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJson.toJson(RelJson.java:252)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:136)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> at
> org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explainInputs(RelJsonWriter.java:158)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:139)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> at
> org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explainInputs(RelJsonWriter.java:158)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:139)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> at
> org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explainInputs(RelJsonWriter.java:158)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:139)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> at
> org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explainInputs(RelJsonWriter.java:158)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:139)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> at
> org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explainInputs(RelJsonWriter.java:158)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:139)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> at
> org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explainInputs(RelJsonWriter.java:158)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:139)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> at
> org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explainInputs(RelJsonWriter.java:158)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:139)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> at
> org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> at
> org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.toJson(RelJsonWriter.java:65)
> at
> org.apache.ignite.internal.processors.query.calcite.prepare.Fragment.<init>(Fragment.java:79)
> at
> org.apache.ignite.internal.processors.query.calcite.prepare.Fragment.<init>(Fragment.java:71)
> at
> org.apache.ignite.internal.processors.query.calcite.prepare.Splitter$FragmentProto.build(Splitter.java:119)
> at
> org.apache.ignite.internal.processors.query.calcite.prepare.Splitter.go(Splitter.java:56)
> at
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:572)
> at
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareSingle(ExecutionServiceImpl.java:543)
> at
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:502)
> ... 17 more
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)