You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by mm...@apache.org on 2015/12/04 19:48:11 UTC

hive git commit: HIVE-12565 VectorUDAFCount.aggregateInputSelection does not handle isRepeated case (Matt McCline, reviewed by Prasanth J)

Repository: hive
Updated Branches:
  refs/heads/master d2c6b132f -> 6116a1068


HIVE-12565 VectorUDAFCount.aggregateInputSelection does not handle isRepeated case (Matt McCline, reviewed by Prasanth J)


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

Branch: refs/heads/master
Commit: 6116a10686949639089d241d5ec6a8cd22ed16bc
Parents: d2c6b13
Author: Matt McCline <mm...@hortonworks.com>
Authored: Fri Dec 4 10:47:59 2015 -0800
Committer: Matt McCline <mm...@hortonworks.com>
Committed: Fri Dec 4 10:47:59 2015 -0800

----------------------------------------------------------------------
 .../exec/vector/expressions/aggregates/VectorUDAFCount.java   | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/6116a106/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/aggregates/VectorUDAFCount.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/aggregates/VectorUDAFCount.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/aggregates/VectorUDAFCount.java
index 4e43905..cf373a1 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/aggregates/VectorUDAFCount.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/aggregates/VectorUDAFCount.java
@@ -97,7 +97,12 @@ public class VectorUDAFCount extends VectorAggregateExpression {
 
       ColumnVector inputVector = batch.cols[this.inputExpression.getOutputColumn()];
 
-      if (inputVector.noNulls) {
+      if (inputVector.isRepeating) {
+        if (inputVector.noNulls || !inputVector.isNull[0]) {
+          iterateNoNullsWithAggregationSelection(
+              aggregationBufferSets, aggregateIndex, batchSize);
+        }
+      } else if (inputVector.noNulls) {
           // if there are no nulls then the iteration is the same on all cases
           iterateNoNullsWithAggregationSelection(
             aggregationBufferSets, aggregateIndex, batchSize);