You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by ja...@apache.org on 2014/05/16 22:33:59 UTC
[1/2] git commit: Create 2 phase plan for qualified plain aggregates
(no group-by).
Repository: incubator-drill
Updated Branches:
refs/heads/master cdd2ce905 -> 4ea36c3f1
Create 2 phase plan for qualified plain aggregates (no group-by).
Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/62a8bf2f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/62a8bf2f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/62a8bf2f
Branch: refs/heads/master
Commit: 62a8bf2f582acb28d35b704a12e1b75ecbc8aa9f
Parents: cdd2ce9
Author: Aman Sinha <as...@maprtech.com>
Authored: Thu May 15 18:19:27 2014 -0700
Committer: Aman Sinha <as...@maprtech.com>
Committed: Thu May 15 18:20:03 2014 -0700
----------------------------------------------------------------------
.../exec/planner/physical/StreamAggPrule.java | 36 ++++++++++++++++++--
1 file changed, 33 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/62a8bf2f/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/StreamAggPrule.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/StreamAggPrule.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/StreamAggPrule.java
index bccdea5..ff648a4 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/StreamAggPrule.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/StreamAggPrule.java
@@ -65,10 +65,40 @@ public class StreamAggPrule extends AggPruleBase {
try {
if (aggregate.getGroupSet().isEmpty()) {
DrillDistributionTrait singleDist = DrillDistributionTrait.SINGLETON;
- traits = call.getPlanner().emptyTraitSet().plus(Prel.DRILL_PHYSICAL).plus(collation).plus(singleDist);
- createTransformRequest(call, aggregate, input, traits);
- } else {
+ RelTraitSet singleDistTrait = call.getPlanner().emptyTraitSet().plus(Prel.DRILL_PHYSICAL).plus(singleDist);
+
+ if (create2PhasePlan(call, aggregate)) {
+ traits = call.getPlanner().emptyTraitSet().plus(Prel.DRILL_PHYSICAL) ;
+
+ RelNode convertedInput = convert(input, traits);
+
+ if (convertedInput instanceof RelSubset) {
+ RelSubset subset = (RelSubset) convertedInput;
+ for (RelNode rel : subset.getRelList()) {
+ if (!rel.getTraitSet().getTrait(DrillDistributionTraitDef.INSTANCE).equals(DrillDistributionTrait.DEFAULT)) {
+ DrillDistributionTrait toDist = rel.getTraitSet().getTrait(DrillDistributionTraitDef.INSTANCE);
+ traits = call.getPlanner().emptyTraitSet().plus(Prel.DRILL_PHYSICAL).plus(toDist);
+ RelNode newInput = convert(input, traits);
+
+ StreamAggPrel phase1Agg = new StreamAggPrel(aggregate.getCluster(), traits, newInput,
+ aggregate.getGroupSet(),
+ aggregate.getAggCallList());
+
+ UnionExchangePrel exch =
+ new UnionExchangePrel(phase1Agg.getCluster(), singleDistTrait, phase1Agg);
+
+ StreamAggPrel phase2Agg = new StreamAggPrel(aggregate.getCluster(), singleDistTrait, exch,
+ aggregate.getGroupSet(),
+ aggregate.getAggCallList());
+ call.transformTo(phase2Agg);
+ }
+ }
+ }
+ } else {
+ createTransformRequest(call, aggregate, input, singleDistTrait);
+ }
+ } else {
// hash distribute on all grouping keys
DrillDistributionTrait distOnAllKeys =
new DrillDistributionTrait(DrillDistributionTrait.DistributionType.HASH_DISTRIBUTED,
[2/2] git commit: Disable tests that rely on Pacific timezone until
fixes can be made
Posted by ja...@apache.org.
Disable tests that rely on Pacific timezone until fixes can be made
Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/4ea36c3f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/4ea36c3f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/4ea36c3f
Branch: refs/heads/master
Commit: 4ea36c3f18841b229aca5048b7d162ea16bfd5a1
Parents: 62a8bf2
Author: Jacques Nadeau <ja...@apache.org>
Authored: Fri May 16 20:31:20 2014 +0000
Committer: Jacques Nadeau <ja...@apache.org>
Committed: Fri May 16 20:31:20 2014 +0000
----------------------------------------------------------------------
.../java/org/apache/drill/exec/fn/impl/TestDateFunctions.java | 3 +++
.../test/java/org/apache/drill/jdbc/test/TestHiveScalarUDFs.java | 3 ++-
2 files changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/4ea36c3f/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestDateFunctions.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestDateFunctions.java b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestDateFunctions.java
index a2ba851..8d065d4 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestDateFunctions.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestDateFunctions.java
@@ -31,6 +31,7 @@ import org.apache.drill.exec.server.RemoteServiceSet;
import org.apache.drill.exec.vector.ValueVector;
import org.apache.drill.exec.vector.BigIntVector;
import org.junit.Test;
+import org.junit.Ignore;
import java.util.List;
@@ -73,6 +74,7 @@ public class TestDateFunctions extends PopUnitTestBase {
}
@Test
+ @Ignore("relies on particular timezone")
public void testDateIntervalArithmetic() throws Exception {
String expectedResults[] = {"2009-02-23T00:00:00.000-08:00",
"2008-02-24T00:00:00.000-08:00",
@@ -131,6 +133,7 @@ public class TestDateFunctions extends PopUnitTestBase {
}
@Test
+ @Ignore("relies on particular time zone")
public void testToDateType() throws Exception {
String expectedResults[] = {"2008-02-23T00:00:00.000-08:00",
"1970-01-01T12:20:30.000-08:00",
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/4ea36c3f/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/TestHiveScalarUDFs.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/TestHiveScalarUDFs.java b/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/TestHiveScalarUDFs.java
index 76af1b0..ce26c55 100644
--- a/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/TestHiveScalarUDFs.java
+++ b/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/TestHiveScalarUDFs.java
@@ -24,7 +24,7 @@ import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
import org.junit.BeforeClass;
import org.junit.Test;
-
+import org.junit.Ignore;
public class TestHiveScalarUDFs {
@@ -35,6 +35,7 @@ public class TestHiveScalarUDFs {
/** Test a hive function that implements the interface {@link org.apache.hadoop.hive.ql.exec.UDF}. */
@Test
+ @Ignore("relies on particular timezone")
public void simpleUDF() throws Exception {
JdbcAssert.withNoDefaultSchema()
.sql("SELECT " +