[
https://issues.jboss.org/browse/TEIID-1991?page=com.atlassian.jira.plugin...
]
Steven Hawkins commented on TEIID-1991:
---------------------------------------
Yes, it makes a difference if the column is a projected literal. That optimization would
be done on top of what I was mentioning before - otherwise you'd still be left with
extra union columns. The non-union case is much simpler as we are able to remove the view
and propagate the constant.
What you're suggesting only works since the projected value is the same for all union
branches. This also seems contrived as you are grouping on a constant column, is that
intended?
GROUP BY pushdown into subselect of UNIONs
------------------------------------------
Key: TEIID-1991
URL:
https://issues.jboss.org/browse/TEIID-1991
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 7.7
Reporter: Mark Addleman
Assignee: Steven Hawkins
Attachments: efficient_rewrite.txt, plan.txt, plan.txt, simplified_plan.txt
If have a query of the form
SELECT a FROM (
SELECT a FROM (
SELECT a FROM ds.t1
) u
) t GROUP BY a
Teiid correctly optimizes the inner SELECT to SELECT 1 FROM ds.t1. However, if the inner
subselect is a union:
SELECT a FROM (
SELECT a FROM (
SELECT a FROM ds.t1 UNION
SELECT a FROM ds.t2
) u
) t GROUP BY a
Teiid does not optimize to
SELECT 1 FROM ds.t1 UNION
SELECT 1 FROM ds.t2
as I would expect.
See attached plan
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira