You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Valentin Kulichenko <va...@gmail.com> on 2015/11/10 22:56:28 UTC

Fwd: Does Ignite support nested SQL Queries?

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.