ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Denis Magda <dma...@apache.org>
Subject Re: An issue of Ignite In-Menory Sql Grid since version 2.0.0
Date Tue, 26 Sep 2017 21:51:43 GMT
Denis Mek.,

How do you suggest executing the same query without SQL? Please be specific if you advise
discontinuing the SQL for the use case.


Alex P., Vladimir,

What’s the main reason of WITH RECURSIVE removal? Why it worked before and broken now?
https://issues.apache.org/jira/browse/IGNITE-5289 <https://issues.apache.org/jira/browse/IGNITE-5289>
  
—
Denis

> On Sep 25, 2017, at 12:31 AM, Denis Mekhanikov <dmekhanikov@gmail.com> wrote:
> 
> 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
<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, 贺波 <hebo824@163.com <mailto:hebo824@163.com>>:
> Hi!
>     I have executed the  recursive sql statement on H2 database,it executes correctly.But
it executes error since version 2.0.0.So <http://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" <dmekhanikov@gmail.com <mailto:dmekhanikov@gmail.com>>
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, 贺波 <hebo824@163.com <mailto: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 <http://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>   


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message