You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by ght230 <gh...@163.com> on 2015/11/10 17:46:41 UTC

Re: Does Ignite support nested SQL Queries?

Hi
I tried the following sub-queries, it seems ignite can not work well.

"SELECT 
  a.* 
FROM
  (SELECT 
    CASE WHEN u.id < 100 THEN u.id ELSE ug.id END id
  FROM
    "UserCache".user u,
    userorder ug 
  WHERE u.id = ug.usrid) a,
  (SELECT 
    CASE
      WHEN og.goodid < 5 
      THEN 100 
      ELSE og.goodid 
    END id 
  FROM
    userorder ug,
    "OrderGoodCache".ordergood og 
  WHERE ug.id = og.orderid) b 
WHERE a.id = b.id"

information about error as following:

Exception in thread "main" javax.cache.CacheException: class
org.apache.ignite.IgniteException: Failed to parse query: SELECT 
  a.* 
FROM
  (SELECT 
    CASE WHEN u.id < 100 THEN u.id ELSE ug.id END id
  FROM
    "UserCache".user u,
    userorder ug 
  WHERE u.id = ug.usrid) a,
  (SELECT 
    CASE
      WHEN og.goodid < 5 
      THEN 100 
      ELSE og.goodid 
    END id 
  FROM
    userorder ug,
    "OrderGoodCache".ordergood og 
  WHERE ug.id = og.orderid) b 
WHERE a.id = b.id 
	at
org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:636)
	at cn.ffcs.main2.main(main2.java:54)
Caused by: class org.apache.ignite.IgniteException: Failed to parse query:
SELECT 
  a.* 
FROM
  (SELECT 
    CASE WHEN u.id < 100 THEN u.id ELSE ug.id END id
  FROM
    "UserCache".user u,
    userorder ug 
  WHERE u.id = ug.usrid) a,
  (SELECT 
    CASE
      WHEN og.goodid < 5 
      THEN 100 
      ELSE og.goodid 
    END id 
  FROM
    userorder ug,
    "OrderGoodCache".ordergood og 
  WHERE ug.id = og.orderid) b 
WHERE a.id = b.id 
	at
org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:641)
	at
org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:627)
	... 1 more
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to parse
query: SELECT 
  a.* 
FROM
  (SELECT 
    CASE WHEN u.id < 100 THEN u.id ELSE ug.id END id
  FROM
    "UserCache".user u,
    userorder ug 
  WHERE u.id = ug.usrid) a,
  (SELECT 
    CASE
      WHEN og.goodid < 5 
      THEN 100 
      ELSE og.goodid 
    END id 
  FROM
    userorder ug,
    "OrderGoodCache".ordergood og 
  WHERE ug.id = og.orderid) b 
WHERE a.id = b.id 
	at
org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:1510)
	at
org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:634)
	... 2 more



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Does-Ignite-support-nested-SQL-Queries-tp1714p1910.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Does Ignite support nested SQL Queries?

Posted by ght230 <gh...@163.com>.
Thank you very much!



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Does-Ignite-support-nested-SQL-Queries-tp1714p2011.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Does Ignite support nested SQL Queries?

Posted by Sergi Vladykin <se...@gmail.com>.
This issue is already fixed in the latest H2 database engine, I hope we
will be able to upgrade in 1.5

Sergi

2015-11-11 0:48 GMT+03:00 vkulichenko <va...@gmail.com>:

> Hi,
>
> I reproduced the issue and created a ticket [1]. Someone in the community
> will take a look shortly and provide feedback.
>
> [1] https://issues.apache.org/jira/browse/IGNITE-1886
>
> -Val
>
>
>
> --
> View this message in context:
> http://apache-ignite-users.70518.x6.nabble.com/Does-Ignite-support-nested-SQL-Queries-tp1714p1919.html
> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>

Re: Does Ignite support nested SQL Queries?

Posted by vkulichenko <va...@gmail.com>.
Hi,

I reproduced the issue and created a ticket [1]. Someone in the community
will take a look shortly and provide feedback.

[1] https://issues.apache.org/jira/browse/IGNITE-1886

-Val



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Does-Ignite-support-nested-SQL-Queries-tp1714p1919.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Fwd: Does Ignite support nested SQL Queries?

Posted by Valentin Kulichenko <va...@gmail.com>.
Sergi,

I tried to execute this query and got an NPE in H2:
https://issues.apache.org/jira/browse/IGNITE-1886. Can you please take a
look?

-Val

---------- Forwarded message ----------
From: ght230 <gh...@163.com>
Date: Tue, Nov 10, 2015 at 8:46 AM
Subject: Re: Does Ignite support nested SQL Queries?
To: user@ignite.apache.org


Hi
I tried the following sub-queries, it seems ignite can not work well.

"SELECT
  a.*
FROM
  (SELECT
    CASE WHEN u.id < 100 THEN u.id ELSE ug.id END id
  FROM
    "UserCache".user u,
    userorder ug
  WHERE u.id = ug.usrid) a,
  (SELECT
    CASE
      WHEN og.goodid < 5
      THEN 100
      ELSE og.goodid
    END id
  FROM
    userorder ug,
    "OrderGoodCache".ordergood og
  WHERE ug.id = og.orderid) b
WHERE a.id = b.id"

information about error as following:

Exception in thread "main" javax.cache.CacheException: class
org.apache.ignite.IgniteException: Failed to parse query: SELECT
  a.*
FROM
  (SELECT
    CASE WHEN u.id < 100 THEN u.id ELSE ug.id END id
  FROM
    "UserCache".user u,
    userorder ug
  WHERE u.id = ug.usrid) a,
  (SELECT
    CASE
      WHEN og.goodid < 5
      THEN 100
      ELSE og.goodid
    END id
  FROM
    userorder ug,
    "OrderGoodCache".ordergood og
  WHERE ug.id = og.orderid) b
WHERE a.id = b.id
        at
org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:636)
        at cn.ffcs.main2.main(main2.java:54)
Caused by: class org.apache.ignite.IgniteException: Failed to parse query:
SELECT
  a.*
FROM
  (SELECT
    CASE WHEN u.id < 100 THEN u.id ELSE ug.id END id
  FROM
    "UserCache".user u,
    userorder ug
  WHERE u.id = ug.usrid) a,
  (SELECT
    CASE
      WHEN og.goodid < 5
      THEN 100
      ELSE og.goodid
    END id
  FROM
    userorder ug,
    "OrderGoodCache".ordergood og
  WHERE ug.id = og.orderid) b
WHERE a.id = b.id
        at
org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:641)
        at
org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:627)
        ... 1 more
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to parse
query: SELECT
  a.*
FROM
  (SELECT
    CASE WHEN u.id < 100 THEN u.id ELSE ug.id END id
  FROM
    "UserCache".user u,
    userorder ug
  WHERE u.id = ug.usrid) a,
  (SELECT
    CASE
      WHEN og.goodid < 5
      THEN 100
      ELSE og.goodid
    END id
  FROM
    userorder ug,
    "OrderGoodCache".ordergood og
  WHERE ug.id = og.orderid) b
WHERE a.id = b.id
        at
org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:1510)
        at
org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:634)
        ... 2 more



--
View this message in context:
http://apache-ignite-users.70518.x6.nabble.com/Does-Ignite-support-nested-SQL-Queries-tp1714p1910.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.