You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2016/09/22 20:44:20 UTC

[jira] [Comment Edited] (PHOENIX-3321) TPCH 100G: Query 21 Missing Equi-Join Support

    [ https://issues.apache.org/jira/browse/PHOENIX-3321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15514434#comment-15514434 ] 

James Taylor edited comment on PHOENIX-3321 at 9/22/16 8:44 PM:
----------------------------------------------------------------

Have you tried this in our calcite branch, [~jleach]? FWIW, this is where we'd add support for any missing syntax. FYI, [~maryannxue].


was (Author: jamestaylor):
Have you tried this in our calcite branch, [~jleach]? FWIW, this is where we'd add support for any missing syntax.

> TPCH 100G: Query 21 Missing Equi-Join Support
> ---------------------------------------------
>
>                 Key: PHOENIX-3321
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3321
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: John Leach
>
> {NOFORMAT}
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in [jar:file:/opt/phoenix/apache-phoenix-4.8.0-HBase-1.1-bin/phoenix-4.8.0-HBase-1.1-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in [jar:file:/usr/hdp/2.4.2.0-258/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
> 16/09/13 20:55:54 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
> 16/09/13 20:55:54 WARN shortcircuit.DomainSocketFactory: The short-circuit local reads feature cannot be used because libhadoop cannot be loaded.
> 1/1          SELECT 
> S_NAME, 
> COUNT(*) AS NUMWAIT 
> FROM 
> TPCH.SUPPLIER, 
> TPCH.LINEITEM L1, 
> TPCH.ORDERS, 
> TPCH.NATION 
> WHERE 
> S_SUPPKEY = L1.L_SUPPKEY 
> AND O_ORDERKEY = L1.L_ORDERKEY 
> AND O_ORDERSTATUS = 'F' 
> AND L1.L_RECEIPTDATE > L1.L_COMMITDATE 
> AND EXISTS( 
> SELECT * 
> FROM 
> TPCH.LINEITEM L2 
> WHERE 
> L2.L_ORDERKEY = L1.L_ORDERKEY 
> AND L2.L_SUPPKEY <> L1.L_SUPPKEY 
> ) 
> AND NOT EXISTS( 
> SELECT * 
> FROM 
> TPCH.LINEITEM L3 
> WHERE 
> L3.L_ORDERKEY = L1.L_ORDERKEY 
> AND L3.L_SUPPKEY <> L1.L_SUPPKEY 
> AND L3.L_RECEIPTDATE > L3.L_COMMITDATE 
> ) 
> AND S_NATIONKEY = N_NATIONKEY 
> AND N_NAME = 'SAUDI ARABIA' 
> GROUP BY 
> S_NAME 
> ORDER BY 
> NUMWAIT DESC, 
> S_NAME 
> LIMIT 100 
> ;
> Error: Does not support non-standard or non-equi correlated-subquery conditions. (state=,code=0)
> java.sql.SQLFeatureNotSupportedException: Does not support non-standard or non-equi correlated-subquery conditions.
> 	at org.apache.phoenix.compile.SubqueryRewriter$JoinConditionExtractor.leaveBooleanNode(SubqueryRewriter.java:485)
> 	at org.apache.phoenix.compile.SubqueryRewriter$JoinConditionExtractor.visitLeave(SubqueryRewriter.java:505)
> 	at org.apache.phoenix.compile.SubqueryRewriter$JoinConditionExtractor.visitLeave(SubqueryRewriter.java:411)
> 	at org.apache.phoenix.parse.ComparisonParseNode.accept(ComparisonParseNode.java:47)
> 	at org.apache.phoenix.parse.CompoundParseNode.acceptChildren(CompoundParseNode.java:64)
> 	at org.apache.phoenix.parse.AndParseNode.accept(AndParseNode.java:47)
> 	at org.apache.phoenix.compile.SubqueryRewriter.visitLeave(SubqueryRewriter.java:168)
> 	at org.apache.phoenix.compile.SubqueryRewriter.visitLeave(SubqueryRewriter.java:70)
> 	at org.apache.phoenix.parse.ExistsParseNode.accept(ExistsParseNode.java:53)
> 	at org.apache.phoenix.parse.CompoundParseNode.acceptChildren(CompoundParseNode.java:64)
> 	at org.apache.phoenix.parse.AndParseNode.accept(AndParseNode.java:47)
> 	at org.apache.phoenix.parse.ParseNodeRewriter.rewrite(ParseNodeRewriter.java:48)
> 	at org.apache.phoenix.compile.SubqueryRewriter.transform(SubqueryRewriter.java:84)
> 	at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:399)
> 	at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:378)
> 	at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:271)
> 	at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:266)
> 	at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
> 	at org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:265)
> 	at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1444)
> 	at sqlline.Commands.execute(Commands.java:822)
> 	at sqlline.Commands.sql(Commands.java:732)
> 	at sqlline.SqlLine.dispatch(SqlLine.java:807)
> 	at sqlline.SqlLine.runCommands(SqlLine.java:1710)
> 	at sqlline.Commands.run(Commands.java:1285)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:606)
> 	at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36)
> 	at sqlline.SqlLine.dispatch(SqlLine.java:803)
> 	at sqlline.SqlLine.initArgs(SqlLine.java:613)
> 	at sqlline.SqlLine.begin(SqlLine.java:656)
> 	at sqlline.SqlLine.start(SqlLine.java:398)
> 	at sqlline.SqlLine.main(SqlLine.java:292)
> Aborting command set because "force" is false and command failed: "SELECT 
> S_NAME, 
> COUNT(*) AS NUMWAIT 
> FROM 
> TPCH.SUPPLIER, 
> TPCH.LINEITEM L1, 
> TPCH.ORDERS, 
> TPCH.NATION 
> WHERE 
> S_SUPPKEY = L1.L_SUPPKEY 
> AND O_ORDERKEY = L1.L_ORDERKEY 
> AND O_ORDERSTATUS = 'F' 
> AND L1.L_RECEIPTDATE > L1.L_COMMITDATE 
> AND EXISTS( 
> SELECT * 
> FROM 
> TPCH.LINEITEM L2 
> WHERE 
> L2.L_ORDERKEY = L1.L_ORDERKEY 
> AND L2.L_SUPPKEY <> L1.L_SUPPKEY 
> ) 
> AND NOT EXISTS( 
> SELECT * 
> FROM 
> TPCH.LINEITEM L3 
> WHERE 
> L3.L_ORDERKEY = L1.L_ORDERKEY 
> AND L3.L_SUPPKEY <> L1.L_SUPPKEY 
> AND L3.L_RECEIPTDATE > L3.L_COMMITDATE 
> ) 
> AND S_NATIONKEY = N_NATIONKEY 
> AND N_NAME = 'SAUDI ARABIA' 
> GROUP BY 
> S_NAME 
> ORDER BY 
> NUMWAIT DESC, 
> S_NAME 
> LIMIT 100 
> ;"
> Closing: org.apache.phoenix.jdbc.PhoenixConnection
> {NOFORMAT}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)