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;