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> > >
