You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by gi...@apache.org on 2019/07/19 20:52:25 UTC
[incubator-druid] branch master updated: Fix druid sql group by
queries returning complex aggregation type (#8099)
This is an automated email from the ASF dual-hosted git repository.
gian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git
The following commit(s) were added to refs/heads/master by this push:
new ceb3a89 Fix druid sql group by queries returning complex aggregation type (#8099)
ceb3a89 is described below
commit ceb3a891bb253fd9942950fbda6e9ecb0e5c6a4e
Author: Samarth Jain <sa...@apache.org>
AuthorDate: Fri Jul 19 13:52:14 2019 -0700
Fix druid sql group by queries returning complex aggregation type (#8099)
* Fix druid sql group by queries returning complex aggregation type
* Remove unnecessary check
---
.../java/org/apache/druid/sql/calcite/rel/Projection.java | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/rel/Projection.java b/sql/src/main/java/org/apache/druid/sql/calcite/rel/Projection.java
index 5dcd90c..68962ac 100644
--- a/sql/src/main/java/org/apache/druid/sql/calcite/rel/Projection.java
+++ b/sql/src/main/java/org/apache/druid/sql/calcite/rel/Projection.java
@@ -28,6 +28,7 @@ import org.apache.druid.math.expr.ExprType;
import org.apache.druid.query.aggregation.PostAggregator;
import org.apache.druid.query.aggregation.post.ExpressionPostAggregator;
import org.apache.druid.segment.VirtualColumn;
+import org.apache.druid.segment.column.ValueType;
import org.apache.druid.sql.calcite.expression.DruidExpression;
import org.apache.druid.sql.calcite.expression.Expressions;
import org.apache.druid.sql.calcite.planner.Calcites;
@@ -193,11 +194,14 @@ public class Projection
return false;
}
- // Check if a cast is necessary.
- final ExprType toExprType = Expressions.exprTypeForValueType(
- aggregateRowSignature.getColumnType(expression.getDirectColumn())
- );
+ // We don't really have a way to cast complex type. So might as well not do anything and return.
+ final ValueType columnValueType = aggregateRowSignature.getColumnType(expression.getDirectColumn());
+ if (columnValueType == ValueType.COMPLEX) {
+ return true;
+ }
+ // Check if a cast is necessary.
+ final ExprType toExprType = Expressions.exprTypeForValueType(columnValueType);
final ExprType fromExprType = Expressions.exprTypeForValueType(
Calcites.getValueTypeForSqlTypeName(rexNode.getType().getSqlTypeName())
);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org