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

kgyrtkirk 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 d078d86  HIVE-24072: HiveAggregateJoinTransposeRule may try to create 
an invalid transformation (#1432) (Zoltan Haindrich via Jesus Camacho Rodriguez)
d078d86 is described below

commit d078d86bad1e891524fa82d69a6895188438c008
Author: Zoltan Haindrich <k...@rxd.hu>
AuthorDate: Wed Sep 9 10:36:56 2020 +0200

    HIVE-24072: HiveAggregateJoinTransposeRule may try to create an invalid 
transformation (#1432) (Zoltan Haindrich via Jesus Camacho Rodriguez)
---
 .../ql/optimizer/calcite/rules/HiveAggregateJoinTransposeRule.java  | 6 +++++-
 .../authorization/plugin/metastore/events/ReadTableEvent.java       | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveAggregateJoinTransposeRule.java
 
b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveAggregateJoinTransposeRule.java
index 76ca54b..197fcd5 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveAggregateJoinTransposeRule.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveAggregateJoinTransposeRule.java
@@ -25,6 +25,8 @@ import java.util.SortedMap;
 import java.util.TreeMap;
 
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
+
 import org.apache.calcite.linq4j.Ord;
 import org.apache.calcite.plan.RelOptCost;
 import org.apache.calcite.plan.RelOptRuleCall;
@@ -175,7 +177,9 @@ public class HiveAggregateJoinTransposeRule extends 
AggregateJoinTransposeRule {
         }
         if (unique) {
           ++uniqueCount;
-          side.newInput = joinInput;
+          relBuilder.push(joinInput);
+          
relBuilder.project(belowAggregateKey.asList().stream().map(relBuilder::field).collect(Collectors.toList()));
+          side.newInput = relBuilder.build();
         } else {
           List<AggregateCall> belowAggCalls = new ArrayList<>();
           final SqlSplittableAggFunction.Registry<AggregateCall>
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/metastore/events/ReadTableEvent.java
 
b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/metastore/events/ReadTableEvent.java
index 21152c3..083e2b9 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/metastore/events/ReadTableEvent.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/metastore/events/ReadTableEvent.java
@@ -20,7 +20,7 @@
 package 
org.apache.hadoop.hive.ql.security.authorization.plugin.metastore.events;
 
 import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;;
+import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hive.metastore.api.Table;
 import org.apache.hadoop.hive.metastore.events.PreEventContext;
 import org.apache.hadoop.hive.metastore.events.PreReadTableEvent;

Reply via email to