Yes, you are right about that, but Ignite has no intention to support this
syntax, it worked in 1.9 by chance.
Here, I found a ticket to explicitly forbid it:
https://issues.apache.org/jira/browse/IGNITE-5289

So, it's better to use cache directly without SQL in your case.

Denis

пн, 25 сент. 2017 г. в 4:11, 贺波 <[email protected]>:

> Hi!
>     I have executed the  recursive sql statement on H2 database,it
> executes correctly.But it executes error since version 2.0.0.So I think
> it's a bug of Ingite,not H2.My test demo is in the attachment.
>
>
>
>
>
>
> At 2017-09-23 00:20:12, "Denis Mekhanikov" <[email protected]> wrote:
>
> 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, 贺波 <[email protected]>:
>
>> 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.
>>
>>
>>
>>
>>
>>
>>
>>
>
>
> 【网易自营】好吃到爆!鲜香弹滑加热即食,经典13香/麻辣小龙虾仅75元3斤>>
> <http://you.163.com/item/detail?id=1183001&from=web_gg_mail_jiaobiao_7>
>
>

Reply via email to