Alexandr Shapkin created IGNITE-13822:
-----------------------------------------

             Summary: NPE in SQL query [with xxx as  (select xxx)]
                 Key: IGNITE-13822
                 URL: https://issues.apache.org/jira/browse/IGNITE-13822
             Project: Ignite
          Issue Type: Improvement
          Components: sql
    Affects Versions: 2.9
            Reporter: Alexandr Shapkin


We use '*with xxx as  (select xxx)* ', which works very fine in 2.8.1 and other 
past release versions. After we upgrade to 2.9.0, such SQL starts to throw an 
exception.

Note, the SQL works fine while Ignite just started. The error happens after 
Ignite runs a while. And after that, the error seems to happen every time. 

 
{code:java}
args=Object[] [], stmtType=SELECT_STATEMENT_TYPE, autoCommit=true,
partResReq=false, super=JdbcRequest [type=2, reqId=790418]]]
class org.apache.ignite.internal.processors.query.IgniteSQLException: Failed
to parse query. General error: "java.lang.NullPointerException" [50000-197]
               at
org.apache.ignite.internal.processors.query.h2.H2Connection.prepareStatementNoCache(H2Connection.java:194)
               at
org.apache.ignite.internal.processors.query.h2.H2PooledConnection.prepareStatementNoCache(H2PooledConnection.java:109)
               at
org.apache.ignite.internal.processors.query.h2.QueryParser.parseH2(QueryParser.java:355)
               at
org.apache.ignite.internal.processors.query.h2.QueryParser.parse0(QueryParser.java:222)
               at
org.apache.ignite.internal.processors.query.h2.QueryParser.parse(QueryParser.java:138)
               at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1071)
               at
org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2779)
               at
org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2775)
               at
org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
               at
org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:3338)
               at
org.apache.ignite.internal.processors.query.GridQueryProcessor.lambda$querySqlFields$2(GridQueryProcessor.java:2795)
               at
org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuerySafe(GridQueryProcessor.java:2833)
               at
org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2769)
               at
org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2727)
               at
org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:647)
               at
org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.doHandle(JdbcRequestHandler.java:320)
               at
org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:257)
               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:1142)
               at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
               at java.lang.Thread.run(Thread.java:745)
Caused by: org.h2.jdbc.JdbcSQLException: General error:
"java.lang.NullPointerException" [50000-197]
               at 
org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
               at org.h2.message.DbException.get(DbException.java:168)
               at org.h2.message.DbException.convert(DbException.java:307)
               at 
org.h2.message.DbException.toSQLException(DbException.java:280)
               at org.h2.message.TraceObject.logAndConvert(TraceObject.java:357)
               at 
org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:697)
               at
org.apache.ignite.internal.processors.query.h2.H2Connection.prepareStatementNoCache(H2Connection.java:191)
               ... 26 more
Caused by: java.lang.NullPointerException
               at org.h2.table.Table.removeChildrenAndResources(Table.java:545)
               at 
org.h2.table.TableView.removeChildrenAndResources(TableView.java:439)
               at org.h2.engine.Session.removeLocalTempTable(Session.java:409)
               at 
org.h2.command.Parser.parseSingleCommonTableExpression(Parser.java:5233)
               at org.h2.command.Parser.parseWith(Parser.java:5145)
               at 
org.h2.command.Parser.parseWithStatementOrQuery(Parser.java:1931)
               at org.h2.command.Parser.parsePrepared(Parser.java:499)
               at org.h2.command.Parser.parse(Parser.java:335)
               at org.h2.command.Parser.parse(Parser.java:307)
               at org.h2.command.Parser.prepareCommand(Parser.java:278)
               at org.h2.engine.Session.prepareLocal(Session.java:611)
               at org.h2.engine.Session.prepareCommand(Session.java:549)
               at 
org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1247)
               at 
org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:76)
               at 
org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:694)
               ... 27 more
{code}
 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to