[ https://issues.apache.org/jira/browse/PHOENIX-3321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15514434#comment-15514434 ]
James Taylor commented on PHOENIX-3321: --------------------------------------- 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)