[
https://issues.apache.org/jira/browse/TRAFODION-2418?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15773542#comment-15773542
]
ASF GitHub Bot commented on TRAFODION-2418:
-------------------------------------------
GitHub user zellerh opened a pull request:
https://github.com/apache/incubator-trafodion/pull/893
[TRAFODION-2418] Allow group by push-down to a fact table
Trafodion has a rule that pushes a groupby down over a join when possible,
but it will not push the groupby to the left child of a join - it relies on
join commutativity. This might have been ok 20 years ago when this was coded
(by me...), but it isn't good for some situations today. Example:
select d.y, count(f.a), sum(f.b)
from big_fact f join small_dim d on f.x=d.y
where d.a = 1
group by d.y
The plan we would like is a hash join with the group by on big_fact as the
left child. To do this, we need to remove the heuristic that prevents this form
of push-down.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/zellerh/incubator-trafodion bug/2418
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-trafodion/pull/893.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #893
----
commit 7894cc88b4ffe5ecdfdbf353453e0e0315d26b01
Author: Hans Zeller <[email protected]>
Date: 2016-12-23T19:25:47Z
[TRAFODION-2418] Allow group by push-down to a fact table
----
> Allow group by push-down to a fact table
> ----------------------------------------
>
> Key: TRAFODION-2418
> URL: https://issues.apache.org/jira/browse/TRAFODION-2418
> Project: Apache Trafodion
> Issue Type: Improvement
> Components: sql-cmp
> Reporter: Hans Zeller
> Assignee: Hans Zeller
> Fix For: 2.1-incubating
>
>
> Trafodion has a rule that pushes a groupby down over a join when possible,
> but it will not push the groupby to the left child of a join - it relies on
> join commutativity. This might have been ok 20 years ago when this was coded
> (by me...), but it isn't good for some situations today. Example:
> {noformat}
> select d.y, count(f.a), sum(f.b)
> from big_fact f join small_dim d on f.x=d.y
> where d.a = 1
> group by d.y
> {noformat}
> The plan we would like is a hash join with the group by on big_fact as the
> left child. To do this, we need to remove the heuristic that prevents this
> form of push-down.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)