You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2020/06/13 17:37:50 UTC

[hive] branch master updated: HIVE-23666 : checkHashModeEfficiency is skipped when a groupby operator doesn't have a grouping set (Ramesh Kumar via Jesus Camacho Rodriguez)

This is an automated email from the ASF dual-hosted git repository.

hashutosh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new 45f6efd  HIVE-23666 : checkHashModeEfficiency is skipped when a groupby operator doesn't have a grouping set (Ramesh Kumar via Jesus Camacho Rodriguez)
45f6efd is described below

commit 45f6efd994d6c1e34425821ac1878bdff0249500
Author: RAMESH KUMAR THANGARAJAN <ra...@gmail.com>
AuthorDate: Sat Jun 13 10:36:59 2020 -0700

    HIVE-23666 : checkHashModeEfficiency is skipped when a groupby operator doesn't have a grouping set (Ramesh Kumar via Jesus Camacho Rodriguez)
    
    Signed-off-by: Ashutosh Chauhan <ha...@apache.org>
---
 .../hive/ql/exec/vector/VectorGroupByOperator.java | 23 +++++++++++-----------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorGroupByOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorGroupByOperator.java
index d4d18ef..9f81e8e 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorGroupByOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorGroupByOperator.java
@@ -180,21 +180,20 @@ public class VectorGroupByOperator extends Operator<GroupByDesc>
 
       if (!groupingSetsPresent) {
         doProcessBatch(batch, false, null);
-        return;
-      }
-
-      // We drive the doProcessBatch logic with the same batch but different
-      // grouping set id and null variation.
-      // PERFORMANCE NOTE: We do not try to reuse columns and generate the KeyWrappers anew...
+      } else {
+        // We drive the doProcessBatch logic with the same batch but different
+        // grouping set id and null variation.
+        // PERFORMANCE NOTE: We do not try to reuse columns and generate the KeyWrappers anew...
 
-      final int size = groupingSets.length;
-      for (int i = 0; i < size; i++) {
+        final int size = groupingSets.length;
+        for (int i = 0; i < size; i++) {
 
-        // NOTE: We are overwriting the constant vector value...
-        groupingSetsDummyVectorExpression.setLongValue(groupingSets[i]);
-        groupingSetsDummyVectorExpression.evaluate(batch);
+          // NOTE: We are overwriting the constant vector value...
+          groupingSetsDummyVectorExpression.setLongValue(groupingSets[i]);
+          groupingSetsDummyVectorExpression.evaluate(batch);
 
-        doProcessBatch(batch, (i == 0), allGroupingSetsOverrideIsNulls[i]);
+          doProcessBatch(batch, (i == 0), allGroupingSetsOverrideIsNulls[i]);
+        }
       }
 
       if (this instanceof ProcessingModeHashAggregate) {