Return-Path: X-Original-To: apmail-drill-commits-archive@www.apache.org Delivered-To: apmail-drill-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A6AF518DA2 for ; Fri, 4 Mar 2016 12:07:26 +0000 (UTC) Received: (qmail 74052 invoked by uid 500); 4 Mar 2016 12:07:26 -0000 Delivered-To: apmail-drill-commits-archive@drill.apache.org Received: (qmail 74015 invoked by uid 500); 4 Mar 2016 12:07:26 -0000 Mailing-List: contact commits-help@drill.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: commits@drill.apache.org Delivered-To: mailing list commits@drill.apache.org Received: (qmail 74006 invoked by uid 99); 4 Mar 2016 12:07:26 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 04 Mar 2016 12:07:26 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 54BFCE04BE; Fri, 4 Mar 2016 12:07:26 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: jacques@apache.org To: commits@drill.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: drill git commit: DRILL-4467: Fix field ordering issue in PrelUtil Date: Fri, 4 Mar 2016 12:07:26 +0000 (UTC) Repository: drill Updated Branches: refs/heads/master 84b3a8a87 -> edea8b1cf DRILL-4467: Fix field ordering issue in PrelUtil Project: http://git-wip-us.apache.org/repos/asf/drill/repo Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/edea8b1c Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/edea8b1c Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/edea8b1c Branch: refs/heads/master Commit: edea8b1cf4e5476d803e8b87c79e08e8c3263e04 Parents: 84b3a8a Author: Jacques Nadeau Authored: Fri Mar 4 03:04:40 2016 -0800 Committer: Jacques Nadeau Committed: Fri Mar 4 04:06:34 2016 -0800 ---------------------------------------------------------------------- .../drill/exec/planner/physical/PrelUtil.java | 2 +- .../java/org/apache/drill/TestUnionAll.java | 2 + .../exec/fn/impl/TestAggregateFunctions.java | 93 ++++++++++++-------- 3 files changed, 59 insertions(+), 38 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/drill/blob/edea8b1c/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PrelUtil.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PrelUtil.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PrelUtil.java index c69bb5f..67b3066 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PrelUtil.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PrelUtil.java @@ -256,7 +256,7 @@ public class PrelUtil { final Set columns = Sets.newLinkedHashSet(); final private List fieldNames; final private List fields; - final private Set desiredFields = Sets.newHashSet(); + final private Set desiredFields = Sets.newLinkedHashSet(); public RefFieldsVisitor(RelDataType rowType) { super(true); http://git-wip-us.apache.org/repos/asf/drill/blob/edea8b1c/exec/java-exec/src/test/java/org/apache/drill/TestUnionAll.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/test/java/org/apache/drill/TestUnionAll.java b/exec/java-exec/src/test/java/org/apache/drill/TestUnionAll.java index 32f7bcb..8e6d846 100644 --- a/exec/java-exec/src/test/java/org/apache/drill/TestUnionAll.java +++ b/exec/java-exec/src/test/java/org/apache/drill/TestUnionAll.java @@ -22,6 +22,7 @@ import org.apache.drill.common.types.TypeProtos; import org.apache.drill.common.util.FileUtils; import org.apache.drill.exec.work.foreman.SqlUnsupportedException; import org.apache.drill.exec.work.foreman.UnsupportedRelOperatorException; +import org.junit.Ignore; import org.junit.Test; public class TestUnionAll extends BaseTestQuery{ @@ -557,6 +558,7 @@ public class TestUnionAll extends BaseTestQuery{ } @Test // see DRILL-2746 + @Ignore("DRILL-4472") public void testInListPushDownOverUnionAll() throws Exception { String query = "select n_nationkey \n" + "from (select n1.n_nationkey from cp.`tpch/nation.parquet` n1 inner join cp.`tpch/region.parquet` r1 on n1.n_regionkey = r1.r_regionkey \n" + http://git-wip-us.apache.org/repos/asf/drill/blob/edea8b1c/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestAggregateFunctions.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestAggregateFunctions.java b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestAggregateFunctions.java index 36c40d5..009fe51 100644 --- a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestAggregateFunctions.java +++ b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestAggregateFunctions.java @@ -211,8 +211,9 @@ public class TestAggregateFunctions extends BaseTestQuery { .go(); } - @Test // test aggregates when input is empty and data type is optional - public void testAggregateWithEmptyInput() throws Exception { + @Test + // test aggregates when input is empty and data type is optional + public void countEmptyNullableInput() throws Exception { String query = "select " + "count(employee_id) col1, avg(employee_id) col2, sum(employee_id) col3 " + "from cp.`employee.json` where 1 = 0"; @@ -225,39 +226,47 @@ public class TestAggregateFunctions extends BaseTestQuery { .go(); } - @Test // test aggregates when input is empty and data type is required - public void testAggregateWithEmptyRequiredInput() throws Exception { - // test min function on required type - String query = "select " + - "min(bool_col) col1, min(int_col) col2, min(bigint_col) col3, min(float4_col) col4, min(float8_col) col5, " + - "min(date_col) col6, min(time_col) col7, min(timestamp_col) col8, min(interval_year_col) col9, " + - "min(varhcar_col) col10 " + - "from cp.`parquet/alltypes_required.parquet` where 1 = 0"; + @Test + @Ignore("DRILL-4473") + public void sumEmptyNonexistentNullableInput() throws Exception { + final String query = "select " + + + "sum(int_col) col1, sum(bigint_col) col2, sum(float4_col) col3, sum(float8_col) col4, sum(interval_year_col) col5 " + + + "from cp.`employee.json` where 1 = 0"; testBuilder() .sqlQuery(query) .unOrdered() - .baselineColumns("col1", "col2", "col3", "col4", "col5", "col6", "col7", "col8", "col9", "col10") - .baselineValues(null, null, null, null, null, null, null, null, null, null) + .baselineColumns("col1", "col2", "col3", "col4", "col5") + .baselineValues(null, null, null, null, null) .go(); + } - // test max function - query = "select " + - "max(int_col) col1, max(bigint_col) col2, max(float4_col) col3, max(float8_col) col4, " + - "max(date_col) col5, max(time_col) col6, max(timestamp_col) col7, max(interval_year_col) col8, " + - "max(varhcar_col) col9 " + - "from cp.`parquet/alltypes_required.parquet` where 1 = 0"; + @Test + @Ignore("DRILL-4473") + public void avgEmptyNonexistentNullableInput() throws Exception { + // test avg function + final String query = "select " + + + "avg(int_col) col1, avg(bigint_col) col2, avg(float4_col) col3, avg(float8_col) col4, avg(interval_year_col) col5 " + + + "from cp.`employee.json` where 1 = 0"; testBuilder() .sqlQuery(query) .unOrdered() - .baselineColumns("col1", "col2", "col3", "col4", "col5", "col6", "col7", "col8", "col9") - .baselineValues(null, null, null, null, null, null, null, null, null) + .baselineColumns("col1", "col2", "col3", "col4", "col5") + .baselineValues(null, null, null, null, null) .go(); + } - // test sum function - query = "select " + - "sum(int_col) col1, sum(bigint_col) col2, sum(float4_col) col3, sum(float8_col) col4, sum(interval_year_col) col5 " + + @Test + public void stddevEmptyNonexistentNullableInput() throws Exception { + // test stddev function + final String query = "select " + + "stddev_pop(int_col) col1, stddev_pop(bigint_col) col2, stddev_pop(float4_col) col3, " + + "stddev_pop(float8_col) col4, stddev_pop(interval_year_col) col5 " + "from cp.`employee.json` where 1 = 0"; testBuilder() @@ -267,33 +276,43 @@ public class TestAggregateFunctions extends BaseTestQuery { .baselineValues(null, null, null, null, null) .go(); - // test avg function - query = "select " + - "avg(int_col) col1, avg(bigint_col) col2, avg(float4_col) col3, avg(float8_col) col4, avg(interval_year_col) col5 " + - "from cp.`employee.json` where 1 = 0"; + } + @Test + public void minEmptyNonnullableInput() throws Exception { + // test min function on required type + String query = "select " + + "min(bool_col) col1, min(int_col) col2, min(bigint_col) col3, min(float4_col) col4, min(float8_col) col5, " + + "min(date_col) col6, min(time_col) col7, min(timestamp_col) col8, min(interval_year_col) col9, " + + "min(varhcar_col) col10 " + + "from cp.`parquet/alltypes_required.parquet` where 1 = 0"; testBuilder() .sqlQuery(query) .unOrdered() - .baselineColumns("col1", "col2", "col3", "col4", "col5") - .baselineValues(null, null, null, null, null) + .baselineColumns("col1", "col2", "col3", "col4", "col5", "col6", "col7", "col8", "col9", "col10") + .baselineValues(null, null, null, null, null, null, null, null, null, null) .go(); + } - // test stddev function - query = "select " + - "stddev_pop(int_col) col1, stddev_pop(bigint_col) col2, stddev_pop(float4_col) col3, " + - "stddev_pop(float8_col) col4, stddev_pop(interval_year_col) col5 " + - "from cp.`employee.json` where 1 = 0"; + @Test + public void maxEmptyNonnullableInput() throws Exception { + + // test max function + final String query = "select " + + "max(int_col) col1, max(bigint_col) col2, max(float4_col) col3, max(float8_col) col4, " + + "max(date_col) col5, max(time_col) col6, max(timestamp_col) col7, max(interval_year_col) col8, " + + "max(varhcar_col) col9 " + + "from cp.`parquet/alltypes_required.parquet` where 1 = 0"; testBuilder() .sqlQuery(query) .unOrdered() - .baselineColumns("col1", "col2", "col3", "col4", "col5") - .baselineValues(null, null, null, null, null) + .baselineColumns("col1", "col2", "col3", "col4", "col5", "col6", "col7", "col8", "col9") + .baselineValues(null, null, null, null, null, null, null, null, null) .go(); - } + /* * Streaming agg on top of a filter produces wrong results if the first two batches are filtered out. * In the below test we have three files in the input directory and since the ordering of reading