[
https://issues.apache.org/jira/browse/DRILL-6589?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16555598#comment-16555598
]
ASF GitHub Bot commented on DRILL-6589:
---------------------------------------
vdiravka commented on a change in pull request #1372: DRILL-6589: Push
transitive closure predicates past aggregates/projects
URL: https://github.com/apache/drill/pull/1372#discussion_r205094066
##########
File path:
exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillRelFactories.java
##########
@@ -122,4 +127,16 @@ public RelNode createJoin(RelNode left, RelNode right,
}
}
+ private static class DrillAggregateFactoryImpl implements
RelFactories.AggregateFactory {
+
+ @Override
+ public RelNode createAggregate(RelNode input, boolean indicator,
ImmutableBitSet groupSet,
+ ImmutableList<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) {
+ try {
+ return new DrillAggregateRel(input.getCluster(), input.getTraitSet(),
input, indicator, groupSet, groupSets, aggCalls);
+ } catch (InvalidRelException ex) {
Review comment:
I have checked that `InvalidRelException` in `DrillAggregateRel` and
`DrillAggregateRelBase` constructors declarations is redundant, it can never be
thrown. So I suppose it is safe to remove it there and also all `try-catch`
blocks connected to it.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Push transitive closure generated predicates past aggregates/projects
> ---------------------------------------------------------------------
>
> Key: DRILL-6589
> URL: https://issues.apache.org/jira/browse/DRILL-6589
> Project: Apache Drill
> Issue Type: Bug
> Affects Versions: 1.13.0
> Reporter: Gautam Kumar Parai
> Assignee: Gautam Kumar Parai
> Priority: Major
> Fix For: 1.15.0
>
>
> Here is a sample query that may benefit from this optimization:
> SELECT * FROM T1 WHERE a1 = 5 AND a1 IN (SELECT a2 FROM T2);
> Here the transitive predicate a2 = 5 would be pushed past the aggregate due
> to this optimization.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)