You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ma...@apache.org on 2015/10/28 15:24:58 UTC

phoenix git commit: Update code and test ref based on latest Calcite master

Repository: phoenix
Updated Branches:
  refs/heads/calcite 2bfebfd1d -> d46eed5e0


Update code and test ref based on latest Calcite master


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

Branch: refs/heads/calcite
Commit: d46eed5e0830352d025fa29261b99aedb7fb8a20
Parents: 2bfebfd
Author: maryannxue <we...@intel.com>
Authored: Wed Oct 28 10:24:47 2015 -0400
Committer: maryannxue <we...@intel.com>
Committed: Wed Oct 28 10:24:47 2015 -0400

----------------------------------------------------------------------
 .../org/apache/phoenix/calcite/CalciteIT.java   | 27 ++++++++++----------
 .../calcite/jdbc/PhoenixPrepareImpl.java        |  4 +++
 2 files changed, 18 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/d46eed5e/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 3f001e0..385ebaf 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
@@ -999,12 +999,12 @@ public class CalciteIT extends BaseClientManagedTimeIT {
                        "    PhoenixToClientConverter\n" +
                        "      PhoenixServerJoin(condition=[=($0, $7)], joinType=[left], isSingleValueRhs=[true])\n" +
                        "        PhoenixTableScan(table=[[phoenix, Join, ItemTable]])\n" +
-                       "        PhoenixServerAggregate(group=[{7}], SQ=[MAX($4)], isOrdered=[false])\n" +
-                       "          PhoenixServerJoin(condition=[=($2, $7)], joinType=[inner])\n" +
-                       "            PhoenixTableScan(table=[[phoenix, Join, OrderTable]])\n" +
+                       "        PhoenixServerAggregate(group=[{0}], SQ=[MAX($5)], isOrdered=[true])\n" +
+                       "          PhoenixServerJoin(condition=[=($3, $0)], joinType=[inner])\n" +
+                       "            PhoenixServerProject(item_id=[$0])\n" +
+                       "              PhoenixTableScan(table=[[phoenix, Join, ItemTable]])\n" +
                        "            PhoenixToClientConverter\n" +
-                       "              PhoenixServerProject(item_id=[$0])\n" +
-                       "                PhoenixTableScan(table=[[phoenix, Join, ItemTable]])\n")
+                       "              PhoenixTableScan(table=[[phoenix, Join, OrderTable]])\n")
             .resultIs(new Object[][] {
                     new Object[] {"0000000001", "T1", 1000},
                     new Object[] {"0000000002", "T2", 3000},
@@ -1027,8 +1027,9 @@ public class CalciteIT extends BaseClientManagedTimeIT {
                           "          PhoenixToClientConverter\n" +
                           "            PhoenixServerJoin(condition=[=($2, $7)], joinType=[inner])\n" +
                           "              PhoenixTableScan(table=[[phoenix, Join, OrderTable]])\n" +
-                          "              PhoenixServerAggregate(group=[{0}], isOrdered=[true])\n" +
-                          "                PhoenixTableScan(table=[[phoenix, Join, ItemTable]], filter=[<($0, '0000000006')])\n")
+                          "              PhoenixToClientConverter\n" +
+                          "                PhoenixServerProject(item_id=[$0])\n" +
+                          "                  PhoenixTableScan(table=[[phoenix, Join, ItemTable]], filter=[<($0, '0000000006')])\n")
                .resultIs(new Object[][] {
                          new Object[] {"0000000001", "T1", 1000},
                          new Object[] {"0000000002", "T2", 3000},
@@ -1287,15 +1288,15 @@ public class CalciteIT extends BaseClientManagedTimeIT {
                 "PhoenixToEnumerableConverter\n" +
                 "  PhoenixClientProject(item_id=[$0], NAME=[$1])\n" +
                 "    PhoenixToClientConverter\n" +
-                "      PhoenixServerSemiJoin(condition=[=($0, $8)], joinType=[inner])\n" +
+                "      PhoenixServerSemiJoin(condition=[=($0, $7)], joinType=[inner])\n" +
                 "        PhoenixTableScan(table=[[phoenix, Join, ItemTable]])\n" +
-                "        PhoenixClientProject($f0=[true], item_id0=[$7])\n" +
+                "        PhoenixClientProject(item_id0=[$0], $f0=[true])\n" +
                 "          PhoenixToClientConverter\n" +
-                "            PhoenixServerJoin(condition=[=($7, $2)], joinType=[inner])\n" +
-                "              PhoenixTableScan(table=[[phoenix, Join, OrderTable]])\n" +
+                "            PhoenixServerJoin(condition=[=($0, $3)], joinType=[inner])\n" +
+                "              PhoenixServerProject(item_id=[$0])\n" +
+                "                PhoenixTableScan(table=[[phoenix, Join, ItemTable]])\n" +
                 "              PhoenixToClientConverter\n" +
-                "                PhoenixServerProject(item_id=[$0])\n" +
-                "                  PhoenixTableScan(table=[[phoenix, Join, ItemTable]])\n";
+                "                PhoenixTableScan(table=[[phoenix, Join, OrderTable]])\n";
         start(correlProps).sql(q3a).explainIs(p3aCorrelate).resultIs(r3a).close();
         start(decorrelProps).sql(q3a).explainIs(p3aDecorrelated).resultIs(r3a).close();
         // Test PhoenixClientSemiJoin

http://git-wip-us.apache.org/repos/asf/phoenix/blob/d46eed5e/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixPrepareImpl.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixPrepareImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixPrepareImpl.java
index b165c40..3d50429 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixPrepareImpl.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixPrepareImpl.java
@@ -13,6 +13,8 @@ import org.apache.calcite.prepare.CalcitePrepareImpl;
 import org.apache.calcite.prepare.Prepare.Materialization;
 import org.apache.calcite.rel.RelNode;
 import org.apache.calcite.rel.rules.JoinCommuteRule;
+import org.apache.calcite.rel.rules.SortJoinTransposeRule;
+import org.apache.calcite.rel.rules.SortUnionTransposeRule;
 import org.apache.calcite.runtime.Hook;
 import org.apache.calcite.sql.SqlNode;
 import org.apache.calcite.sql.parser.SqlParser;
@@ -65,6 +67,8 @@ public class PhoenixPrepareImpl extends CalcitePrepareImpl {
         planner.removeRule(EnumerableRules.ENUMERABLE_SEMI_JOIN_RULE);
         planner.removeRule(JoinCommuteRule.INSTANCE);
         planner.addRule(JoinCommuteRule.SWAP_OUTER);
+        planner.removeRule(SortUnionTransposeRule.INSTANCE);
+        planner.addRule(SortUnionTransposeRule.MATCH_NULL_FETCH);
         
         for (RelOptRule rule : this.defaultConverterRules) {
             planner.addRule(rule);