Repository: phoenix
Updated Branches:
  refs/heads/calcite 74409be82 -> 751d134be


Update calcite dependence to 1.7.0-SNAPSHOT; Update test cases now that 
CALCITE-864 is in; Change calcite log level


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/751d134b
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/751d134b
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/751d134b

Branch: refs/heads/calcite
Commit: 751d134be13b7a2e40a9ed162bb2f80a05aef819
Parents: 74409be
Author: maryannxue <maryann....@gmail.com>
Authored: Wed Feb 3 22:16:39 2016 -0500
Committer: maryannxue <maryann....@gmail.com>
Committed: Wed Feb 3 22:16:39 2016 -0500

----------------------------------------------------------------------
 .../org/apache/phoenix/calcite/CalciteIT.java   | 79 +++++++++++---------
 .../calcite/rules/PhoenixConverterRules.java    |  4 -
 .../src/test/resources/log4j.properties         |  1 +
 pom.xml                                         |  2 +-
 4 files changed, 46 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/751d134b/phoenix-core/src/it/java/org/apache/phoenix/calcite/CalciteIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/calcite/CalciteIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/calcite/CalciteIT.java
index 41d0542..0d9e789 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/calcite/CalciteIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/calcite/CalciteIT.java
@@ -1014,41 +1014,50 @@ public class CalciteIT extends BaseCalciteIT {
                 "    PhoenixTableScan(table=[[phoenix, Join, OrderTable]])\n";
         start(decorrelProps).sql(q4).explainIs(p4Decorrelated).resultIs(false, 
r4).close();
         
-        // CALCITE-864
-        //String q5 = "select \"order_id\" from " + JOIN_ITEM_TABLE_FULL_NAME 
+ " i JOIN " + JOIN_ORDER_TABLE_FULL_NAME + " o on o.\"item_id\" = 
i.\"item_id\" where quantity = (select max(quantity) from " + 
JOIN_ORDER_TABLE_FULL_NAME + " o2 JOIN " + JOIN_ITEM_TABLE_FULL_NAME + " i2 on 
o2.\"item_id\" = i2.\"item_id\" where i.\"supplier_id\" = i2.\"supplier_id\")";
-        //Object [][] r5 = new Object[][] {
-        //        {"000000000000003"},
-        //        {"000000000000005"},
-        //        {"000000000000004"}};
-        //String p5Correlate = 
-        //        "PhoenixToEnumerableConverter\n" +
-        //        "  PhoenixClientProject(order_id=[$7])\n" +
-        //        "    PhoenixFilter(condition=[=($11, $14)])\n" +
-        //        "      PhoenixCorrelate(correlation=[$cor0], 
joinType=[LEFT], requiredColumns=[{5}])\n" +
-        //        "        PhoenixServerJoin(condition=[=($9, $0)], 
joinType=[inner])\n" +
-        //        "          PhoenixTableScan(table=[[phoenix, Join, 
ItemTable]])\n" +
-        //        "          PhoenixTableScan(table=[[phoenix, Join, 
OrderTable]])\n" +
-        //        "        PhoenixServerAggregate(group=[{}], 
EXPR$0=[MAX($4)])\n" +
-        //        "          PhoenixServerJoin(condition=[=($2, $7)], 
joinType=[inner])\n" +
-        //        "            PhoenixTableScan(table=[[phoenix, Join, 
OrderTable]])\n" +
-        //        "            PhoenixTableScan(table=[[phoenix, Join, 
ItemTable]], filter=[=($cor0.supplier_id, $5)])\n";
-        //String p5Decorrelated =
-        //        "PhoenixToEnumerableConverter\n" +
-        //        "  PhoenixClientProject(order_id=[$7])\n" +
-        //        "    PhoenixServerJoin(condition=[AND(=($9, $0), =($5, 
$14))], joinType=[inner])\n" +
-        //        "      PhoenixTableScan(table=[[phoenix, Join, 
ItemTable]])\n" +
-        //        "      PhoenixServerJoin(condition=[=($4, $8)], 
joinType=[inner])\n" +
-        //        "        PhoenixTableScan(table=[[phoenix, Join, 
OrderTable]])\n" +
-        //        "        PhoenixServerAggregate(group=[{14}], 
EXPR$0=[MAX($4)], isOrdered=[false])\n" +
-        //        "          PhoenixServerJoin(condition=[=($2, $7)], 
joinType=[inner])\n" +
-        //        "            PhoenixTableScan(table=[[phoenix, Join, 
OrderTable]])\n" +
-        //        "            PhoenixServerJoin(condition=[=($7, $5)], 
joinType=[inner])\n" +
-        //        "              PhoenixTableScan(table=[[phoenix, Join, 
ItemTable]])\n" +
-        //        "              PhoenixServerAggregate(group=[{5}], 
isOrdered=[false])\n" +
-        //        "                PhoenixServerJoin(condition=[=($9, $0)], 
joinType=[inner])\n" +
-        //        "                  PhoenixTableScan(table=[[phoenix, Join, 
ItemTable]])\n" +
-        //        "                  PhoenixTableScan(table=[[phoenix, Join, 
OrderTable]])\n";
-        //start(correlProps).sql(q5).explainIs(p5Correlate).resultIs(false, 
r5).close();
+        String q5 = "select \"order_id\" from " + JOIN_ITEM_TABLE_FULL_NAME + 
" i JOIN " + JOIN_ORDER_TABLE_FULL_NAME + " o on o.\"item_id\" = i.\"item_id\" 
where quantity = (select max(quantity) from " + JOIN_ORDER_TABLE_FULL_NAME + " 
o2 JOIN " + JOIN_ITEM_TABLE_FULL_NAME + " i2 on o2.\"item_id\" = i2.\"item_id\" 
where i.\"supplier_id\" = i2.\"supplier_id\")";
+        Object [][] r5 = new Object[][] {
+                {"000000000000003"},
+                {"000000000000005"},
+                {"000000000000004"}};
+        String p5Correlate = 
+                "PhoenixToEnumerableConverter\n" +
+                "  PhoenixClientProject(order_id=[$2])\n" +
+                "    PhoenixFilter(condition=[=($4, $5)])\n" +
+                "      PhoenixCorrelate(correlation=[$cor0], joinType=[LEFT], 
requiredColumns=[{1}])\n" +
+                "        PhoenixServerJoin(condition=[=($3, $0)], 
joinType=[inner])\n" +
+                "          PhoenixServerProject(item_id=[$0], 
supplier_id=[$5])\n" +
+                "            PhoenixTableScan(table=[[phoenix, Join, 
ItemTable]])\n" +
+                "          PhoenixServerProject(order_id=[$0], item_id=[$2], 
QUANTITY=[$4])\n" +
+                "            PhoenixTableScan(table=[[phoenix, Join, 
OrderTable]])\n" +
+                "        PhoenixServerAggregate(group=[{}], 
EXPR$0=[MAX($4)])\n" +
+                "          PhoenixServerJoin(condition=[=($2, $7)], 
joinType=[inner])\n" +
+                "            PhoenixTableScan(table=[[phoenix, Join, 
OrderTable]])\n" +
+                "            PhoenixTableScan(table=[[phoenix, Join, 
ItemTable]], filter=[=($cor0.supplier_id, $5)])\n";
+        String p5Decorrelated =
+                "PhoenixToEnumerableConverter\n" +
+                "  PhoenixClientProject(order_id=[$2])\n" +
+                "    PhoenixServerJoin(condition=[AND(=($1, $5), =($3, $0))], 
joinType=[inner])\n" +
+                "      PhoenixServerProject(item_id=[$0], supplier_id=[$5])\n" 
+
+                "        PhoenixTableScan(table=[[phoenix, Join, 
ItemTable]])\n" +
+                "      PhoenixServerJoin(condition=[=($2, $4)], 
joinType=[inner])\n" +
+                "        PhoenixServerProject(order_id=[$0], item_id=[$2], 
QUANTITY=[$4])\n" +
+                "          PhoenixTableScan(table=[[phoenix, Join, 
OrderTable]])\n" +
+                "        PhoenixClientAggregate(group=[{4}], EXPR$0=[MAX($1)], 
isOrdered=[false])\n" +
+                "          PhoenixClientJoin(condition=[=($0, $2)], 
joinType=[inner])\n" +
+                "            PhoenixServerSort(sort0=[$0], dir0=[ASC])\n" +
+                "              PhoenixServerProject(item_id=[$2], 
QUANTITY=[$4])\n" +
+                "                PhoenixTableScan(table=[[phoenix, Join, 
OrderTable]])\n" +
+                "            PhoenixServerJoin(condition=[=($2, $1)], 
joinType=[inner])\n" +
+                "              PhoenixServerProject(item_id=[$0], 
supplier_id=[$5])\n" +
+                "                PhoenixTableScan(table=[[phoenix, Join, 
ItemTable]], scanOrder=[FORWARD])\n" +
+                "              PhoenixServerAggregate(group=[{1}], 
isOrdered=[false])\n" +
+                "                PhoenixServerJoin(condition=[=($2, $0)], 
joinType=[inner])\n" +
+                "                  PhoenixServerProject(item_id=[$0], 
supplier_id=[$5])\n" +
+                "                    PhoenixTableScan(table=[[phoenix, Join, 
ItemTable]])\n" +
+                "                  PhoenixServerProject(item_id=[$2])\n" +
+                "                    PhoenixTableScan(table=[[phoenix, Join, 
OrderTable]])\n";
+        start(correlProps).sql(q5).explainIs(p5Correlate).resultIs(false, 
r5).close();
+        //TODO long-running query, disable for now.
         
//start(decorrelProps).sql(q5).explainIs(p5Decorrelated).resultIs(false, 
r5).close();
         
         String q6 = "select organization_id, entity_id, a_integer from v v1 
where a_integer = (select min(a_integer) from v v2 where v1.organization_id = 
v2.organization_id and v1.b_string = v2.b_string)";

http://git-wip-us.apache.org/repos/asf/phoenix/blob/751d134b/phoenix-core/src/main/java/org/apache/phoenix/calcite/rules/PhoenixConverterRules.java
----------------------------------------------------------------------
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/calcite/rules/PhoenixConverterRules.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/calcite/rules/PhoenixConverterRules.java
index 1d38204..81dbe21 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/calcite/rules/PhoenixConverterRules.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/calcite/rules/PhoenixConverterRules.java
@@ -3,7 +3,6 @@ package org.apache.phoenix.calcite.rules;
 import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
-import java.util.logging.Logger;
 
 import org.apache.calcite.adapter.enumerable.EnumerableConvention;
 import org.apache.calcite.plan.Convention;
@@ -36,7 +35,6 @@ import org.apache.calcite.rel.logical.LogicalSort;
 import org.apache.calcite.rel.logical.LogicalUnion;
 import org.apache.calcite.rel.logical.LogicalValues;
 import org.apache.calcite.rex.RexNode;
-import org.apache.calcite.util.trace.CalciteTrace;
 import org.apache.phoenix.calcite.CalciteUtils;
 import org.apache.phoenix.calcite.rel.PhoenixAbstractAggregate;
 import org.apache.phoenix.calcite.rel.PhoenixClientAggregate;
@@ -70,8 +68,6 @@ import com.google.common.collect.Lists;
 public class PhoenixConverterRules {
     private PhoenixConverterRules() {}
 
-    protected static final Logger LOGGER = CalciteTrace.getPlannerTracer();
-
     public static final RelOptRule[] RULES = {
         PhoenixToEnumerableConverterRule.SERVER,
         PhoenixToEnumerableConverterRule.SERVERJOIN,

http://git-wip-us.apache.org/repos/asf/phoenix/blob/751d134b/phoenix-core/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/phoenix-core/src/test/resources/log4j.properties 
b/phoenix-core/src/test/resources/log4j.properties
index 8e54793..96ebd73 100644
--- a/phoenix-core/src/test/resources/log4j.properties
+++ b/phoenix-core/src/test/resources/log4j.properties
@@ -61,3 +61,4 @@ log4j.logger.org.mortbay.log=WARN
 log4j.logger.org.apache.hadoop=WARN
 log4j.logger.org.apache.zookeeper=ERROR
 log4j.logger.org.apache.hadoop.hbase=DEBUG
+log4j.logger.org.apache.calcite=INFO

http://git-wip-us.apache.org/repos/asf/phoenix/blob/751d134b/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index fc642da..c3fb0f4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -109,7 +109,7 @@
     <collections.version>3.2.1</collections.version>
     <jodatime.version>2.7</jodatime.version>
     <joni.version>2.1.2</joni.version>
-    <calcite.version>1.6.0-SNAPSHOT</calcite.version>
+    <calcite.version>1.7.0-SNAPSHOT</calcite.version>
     <jettyVersion>8.1.7.v20120910</jettyVersion>
     <tephra.version>0.6.4</tephra.version>
     <spark.version>1.5.2</spark.version>

Reply via email to