[ 
https://issues.apache.org/jira/browse/IGNITE-9156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Denis Mekhanikov updated IGNITE-9156:
-------------------------------------
    Description: 
Execution of the following sequence of SQL statements leads to an exception:
{code:sql}
CREATE TABLE PEOPLE (id int PRIMARY KEY, name varchar);
INSERT INTO PEOPLE(id, name) VALUES(1, 'Mike');
SELECT * FROM (SELECT * FROM People p) tmp WHERE tmp.name='Mike';{code}
Exception:
{noformat}
java.lang.ClassCastException: org.h2.table.TableView cannot be cast to 
org.apache.ignite.internal.processors.query.h2.opt.GridH2Table
    at 
org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.extractPartitionFromEquality(GridSqlQuerySplitter.java:2340)
 ~[classes/:?]
    at 
org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.extractPartition(GridSqlQuerySplitter.java:2272)
 ~[classes/:?]
    at 
org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.derivePartitionsFromQuery(GridSqlQuerySplitter.java:2254)
 ~[classes/:?]
    at 
org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.splitSelect(GridSqlQuerySplitter.java:1539)
 ~[classes/:?]
    at 
org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.splitQueryModel(GridSqlQuerySplitter.java:1227)
 ~[classes/:?]
    at 
org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.splitQuery(GridSqlQuerySplitter.java:306)
 ~[classes/:?]
    at 
org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.split(GridSqlQuerySplitter.java:224)
 ~[classes/:?]
    at 
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.split(IgniteH2Indexing.java:1991)
 ~[classes/:?]
    at 
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.parseAndSplit(IgniteH2Indexing.java:1953)
 ~[classes/:?]
    at 
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1702)
 ~[classes/:?]
    at 
org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2107)
 ~[classes/:?]
    at 
org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2102)
 ~[classes/:?]
    at 
org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
 ~[classes/:?]
    at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2650)
 ~[classes/:?]
    at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2116)
 ~[classes/:?]
    ... 12 more
{noformat}
 

  was:
Execution of the following sequence of SQL statements leads to an exception:
{code:sql}
CREATE TABLE PEOPLE (id int PRIMARY KEY, name varchar);
INSERT INTO PEOPLE(id, name) VALUES(1, 'Mike');
SELECT * FROM (SELECT * FROM People p) tmp WHERE tmp.name='Mike';{code}
Exception:
{noformat}
java.lang.ClassCastException: org.h2.table.TableView cannot be cast to 
org.apache.ignite.internal.processors.query.h2.opt.GridH2Table
at 
org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.extractPartitionFromEquality(GridSqlQuerySplitter.java:2340)
 ~[classes/:?]
at 
org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.extractPartition(GridSqlQuerySplitter.java:2272)
 ~[classes/:?]
at 
org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.derivePartitionsFromQuery(GridSqlQuerySplitter.java:2254)
 ~[classes/:?]
at 
org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.splitSelect(GridSqlQuerySplitter.java:1539)
 ~[classes/:?]
at 
org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.splitQueryModel(GridSqlQuerySplitter.java:1227)
 ~[classes/:?]
at 
org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.splitQuery(GridSqlQuerySplitter.java:306)
 ~[classes/:?]
at 
org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.split(GridSqlQuerySplitter.java:224)
 ~[classes/:?]
at 
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.split(IgniteH2Indexing.java:1991)
 ~[classes/:?]
at 
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.parseAndSplit(IgniteH2Indexing.java:1953)
 ~[classes/:?]
at 
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1702)
 ~[classes/:?]
at 
org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2107)
 ~[classes/:?]
at 
org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2102)
 ~[classes/:?]
at 
org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
 ~[classes/:?]
at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2650)
 ~[classes/:?]
at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2116)
 ~[classes/:?]
... 12 more{noformat}
 


> SQL: Impossible to specify equality condition on sub-select field
> -----------------------------------------------------------------
>
>                 Key: IGNITE-9156
>                 URL: https://issues.apache.org/jira/browse/IGNITE-9156
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>    Affects Versions: 2.6
>            Reporter: Denis Mekhanikov
>            Priority: Major
>
> Execution of the following sequence of SQL statements leads to an exception:
> {code:sql}
> CREATE TABLE PEOPLE (id int PRIMARY KEY, name varchar);
> INSERT INTO PEOPLE(id, name) VALUES(1, 'Mike');
> SELECT * FROM (SELECT * FROM People p) tmp WHERE tmp.name='Mike';{code}
> Exception:
> {noformat}
> java.lang.ClassCastException: org.h2.table.TableView cannot be cast to 
> org.apache.ignite.internal.processors.query.h2.opt.GridH2Table
>     at 
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.extractPartitionFromEquality(GridSqlQuerySplitter.java:2340)
>  ~[classes/:?]
>     at 
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.extractPartition(GridSqlQuerySplitter.java:2272)
>  ~[classes/:?]
>     at 
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.derivePartitionsFromQuery(GridSqlQuerySplitter.java:2254)
>  ~[classes/:?]
>     at 
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.splitSelect(GridSqlQuerySplitter.java:1539)
>  ~[classes/:?]
>     at 
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.splitQueryModel(GridSqlQuerySplitter.java:1227)
>  ~[classes/:?]
>     at 
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.splitQuery(GridSqlQuerySplitter.java:306)
>  ~[classes/:?]
>     at 
> org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter.split(GridSqlQuerySplitter.java:224)
>  ~[classes/:?]
>     at 
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.split(IgniteH2Indexing.java:1991)
>  ~[classes/:?]
>     at 
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.parseAndSplit(IgniteH2Indexing.java:1953)
>  ~[classes/:?]
>     at 
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1702)
>  ~[classes/:?]
>     at 
> org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2107)
>  ~[classes/:?]
>     at 
> org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2102)
>  ~[classes/:?]
>     at 
> org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
>  ~[classes/:?]
>     at 
> org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2650)
>  ~[classes/:?]
>     at 
> org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2116)
>  ~[classes/:?]
>     ... 12 more
> {noformat}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to