ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Denis Mekhanikov <dmekhani...@gmail.com>
Subject Re: An issue of Ignite In-Menory Sql Grid since version 2.0.0
Date Fri, 22 Sep 2017 16:20:12 GMT
Hi!

Internally Ignite uses H2 to process SQL queries. Recursive queries is an
experimental feature of H2, so I wouldn't recommend you to use it in
production for now.
Ignite 2.0 and 2.1 don't seem to support this kind of queries, so the best
option for you is to modify your query if possible to avoid recursive
constructs, or retrieve data from cache directly, without use of SQL.

Denis

пт, 22 сент. 2017 г. в 12:37, 贺波 <hebo824@163.com>:

> Hi,I used Apache Ignite in my project for more than a year,from version
> 1.8.0 to 2.2.0.I use Ignite In-Menory Sql Grid in my project.I use “with
> as” sql function in my sql,it executes correctly in version 1.9.0,but
> executes error since version 2.0.0.My sql statement is:
>           *with* RECURSIVE children(typeId, pTypeId)* AS* (
> SELECT typeId, pTypeId FROM ProcessDefTypePo WHERE pTypeId = '1'
> UNION ALL
> SELECT ProcessDefTypePo.typeId, ProcessDefTypePo.pTypeId FROM children
> INNER JOIN ProcessDefTypePo ON children.typeId =ProcessDefTypePo.pTypeId
> )
>        select t1.typeId,t1.pTypeId,t1.typeName,t1.description, t2.typeName
> as pTypeName from ProcessDefTypePo t1 left join ProcessDefTypePo t2 on
> t1.pTypeId=t2.typeId where t1.typeId not in ( select typeId from children )
>
>        The  execution error in version 2.2.0 is:
> Caused by: class org.apache.ignite.IgniteCheckedException: Unknown query
> type: null
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2316)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:1820)
> ... 165 more
> Caused by: java.lang.UnsupportedOperationException: Unknown query type:
> null
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.parseQuery(GridSqlQueryParser.java:1225)
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.parseTable(GridSqlQueryParser.java:501)
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.parseTableFilter(GridSqlQueryParser.java:465)
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.parseSelect(GridSqlQueryParser.java:565)
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.parseQuery(GridSqlQueryParser.java:1220)
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.parseQueryExpression(GridSqlQueryParser.java:452)
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.parseExpression0(GridSqlQueryParser.java:1436)
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.parseExpression(GridSqlQueryParser.java:1267)
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.parseExpression0(GridSqlQueryParser.java:1378)
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.parseExpression(GridSqlQueryParser.java:1267)
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.parseSelect(GridSqlQueryParser.java:536)
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.parseQuery(GridSqlQueryParser.java:1220)
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.parse(GridSqlQueryParser.java:1181)
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.parse(GridSqlQuerySplitter.java:1604)
> at
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.split(GridSqlQuerySplitter.java:197)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1307)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor$5.applyx(GridQueryProcessor.java:1815)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor$5.applyx(GridQueryProcessor.java:1813)
> at
> org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2293)
>
>         Can you help me with this problem?Thanks.
>
>
>
>
>
>
>
>

Mime
View raw message