You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by jn...@apache.org on 2017/06/03 04:46:06 UTC
[11/12] drill git commit: DRILL-5537: Display columns alias for
queries with sum() when RDBMS storage plugin is enabled
DRILL-5537: Display columns alias for queries with sum() when RDBMS storage plugin is enabled
close #845
Project: http://git-wip-us.apache.org/repos/asf/drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/d38917be
Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/d38917be
Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/d38917be
Branch: refs/heads/master
Commit: d38917be44c7d98f1b37984e324c781f2a4e25ad
Parents: b14e30b
Author: Arina Ielchiieva <ar...@gmail.com>
Authored: Thu May 25 13:23:43 2017 +0000
Committer: Jinfeng Ni <jn...@apache.org>
Committed: Fri Jun 2 21:43:14 2017 -0700
----------------------------------------------------------------------
.../logical/DrillReduceAggregatesRule.java | 63 ++++++--------------
1 file changed, 17 insertions(+), 46 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/drill/blob/d38917be/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillReduceAggregatesRule.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillReduceAggregatesRule.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillReduceAggregatesRule.java
index 62d679d..9f8d062 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillReduceAggregatesRule.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillReduceAggregatesRule.java
@@ -1,4 +1,4 @@
-/**
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -161,11 +161,11 @@ public class DrillReduceAggregatesRule extends RelOptRule {
List<AggregateCall> oldCalls = oldAggRel.getAggCallList();
final int nGroups = oldAggRel.getGroupCount();
- List<AggregateCall> newCalls = new ArrayList<AggregateCall>();
+ List<AggregateCall> newCalls = new ArrayList<>();
Map<AggregateCall, RexNode> aggCallMapping =
- new HashMap<AggregateCall, RexNode>();
+ new HashMap<>();
- List<RexNode> projList = new ArrayList<RexNode>();
+ List<RexNode> projList = new ArrayList<>();
// pass through group key
for (int i = 0; i < nGroups; ++i) {
@@ -179,7 +179,7 @@ public class DrillReduceAggregatesRule extends RelOptRule {
// will add an expression to the end, and we will create an extra
// project.
RelNode input = oldAggRel.getInput();
- List<RexNode> inputExprs = new ArrayList<RexNode>();
+ List<RexNode> inputExprs = new ArrayList<>();
for (RelDataTypeField field : input.getRowType().getFieldList()) {
inputExprs.add(
rexBuilder.makeInputRef(
@@ -315,24 +315,11 @@ public class DrillReduceAggregatesRule extends RelOptRule {
typeFactory.createTypeWithNullability(
avgInputType,
avgInputType.isNullable() || nGroups == 0);
- // SqlAggFunction sumAgg = new SqlSumAggFunction(sumType);
SqlAggFunction sumAgg = new SqlSumEmptyIsZeroAggFunction();
- AggregateCall sumCall =
- new AggregateCall(
- sumAgg,
- oldCall.isDistinct(),
- oldCall.getArgList(),
- sumType,
- null);
+ AggregateCall sumCall = AggregateCall.create(sumAgg, oldCall.isDistinct(), oldCall.getArgList(), -1, sumType, null);
final SqlCountAggFunction countAgg = (SqlCountAggFunction) SqlStdOperatorTable.COUNT;
final RelDataType countType = countAgg.getReturnType(typeFactory);
- AggregateCall countCall =
- new AggregateCall(
- countAgg,
- oldCall.isDistinct(),
- oldCall.getArgList(),
- countType,
- null);
+ AggregateCall countCall = AggregateCall.create(countAgg, oldCall.isDistinct(), oldCall.getArgList(), -1, countType, null);
RexNode tmpsumRef =
rexBuilder.addAggCall(
@@ -429,23 +416,10 @@ public class DrillReduceAggregatesRule extends RelOptRule {
argType, argType.isNullable());
sumZeroAgg = new SqlSumEmptyIsZeroAggFunction();
}
- AggregateCall sumZeroCall =
- new AggregateCall(
- sumZeroAgg,
- oldCall.isDistinct(),
- oldCall.getArgList(),
- sumType,
- null);
+ AggregateCall sumZeroCall =AggregateCall.create(sumZeroAgg, oldCall.isDistinct(), oldCall.getArgList(), -1, sumType, null);
final SqlCountAggFunction countAgg = (SqlCountAggFunction) SqlStdOperatorTable.COUNT;
final RelDataType countType = countAgg.getReturnType(typeFactory);
- AggregateCall countCall =
- new AggregateCall(
- countAgg,
- oldCall.isDistinct(),
- oldCall.getArgList(),
- countType,
- null);
-
+ AggregateCall countCall = AggregateCall.create(countAgg, oldCall.isDistinct(), oldCall.getArgList(), -1, countType, null);
// NOTE: these references are with respect to the output
// of newAggRel
RexNode sumZeroRef =
@@ -524,10 +498,11 @@ public class DrillReduceAggregatesRule extends RelOptRule {
argType,
true);
final AggregateCall sumArgSquaredAggCall =
- new AggregateCall(
+ AggregateCall.create(
new SqlSumAggFunction(sumType),
oldCall.isDistinct(),
ImmutableIntList.of(argSquaredOrdinal),
+ -1,
sumType,
null);
final RexNode sumArgSquared =
@@ -540,10 +515,11 @@ public class DrillReduceAggregatesRule extends RelOptRule {
ImmutableList.of(argType));
final AggregateCall sumArgAggCall =
- new AggregateCall(
+ AggregateCall.create(
new SqlSumAggFunction(sumType),
oldCall.isDistinct(),
ImmutableIntList.of(argOrdinal),
+ -1,
sumType,
null);
final RexNode sumArg =
@@ -561,13 +537,7 @@ public class DrillReduceAggregatesRule extends RelOptRule {
final SqlCountAggFunction countAgg = (SqlCountAggFunction) SqlStdOperatorTable.COUNT;
final RelDataType countType = countAgg.getReturnType(typeFactory);
- final AggregateCall countArgAggCall =
- new AggregateCall(
- countAgg,
- oldCall.isDistinct(),
- oldCall.getArgList(),
- countType,
- null);
+ final AggregateCall countArgAggCall = AggregateCall.create(countAgg, oldCall.isDistinct(), oldCall.getArgList(), -1, countType, null);
final RexNode countArg =
rexBuilder.addAggCall(
countArgAggCall,
@@ -719,12 +689,13 @@ public class DrillReduceAggregatesRule extends RelOptRule {
final SqlAggFunction sumZeroAgg = new DrillCalciteSqlAggFunctionWrapper(
new SqlSumEmptyIsZeroAggFunction(), sumType);
AggregateCall sumZeroCall =
- new AggregateCall(
+ AggregateCall.create(
sumZeroAgg,
oldAggregateCall.isDistinct(),
oldAggregateCall.getArgList(),
+ -1,
sumType,
- null);
+ oldAggregateCall.getName());
oldAggRel.getCluster().getRexBuilder()
.addAggCall(sumZeroCall,
oldAggRel.getGroupCount(),