[
https://issues.jboss.org/browse/TEIID-2885?page=com.atlassian.jira.plugin...
]
Steven Hawkins resolved TEIID-2885.
-----------------------------------
Fix Version/s: 8.8
Resolution: Done
Allowed the planner to utilize a pushdown dependent join even if a hint is not specified.
If there is a hint (without a join directive) with a max, then we still won't pushdown
as we will try to honor the max using a standard dependent join.
Introduced two system properties documented in the admin guide:
org.teiid.defaultIndependentCardinality - defaults to 10. The number of independent rows
or less that can automatically trigger a dependent join. Increase when tables typically
only have cardinality set and more dependent joins are desired.
This was introduced to make the value less "magically" - it was also introduced
in the MMX days and has not been updated since.
org.teiid.dependentJoinPushdownThreshold - defaults to 0. The data width ratio of all
pushdown columns to just the equi-join columns that will be considered for a full
dependent join pushdown without a hint. A setting less than 1 effectively disables
allowing the optimizer to choose to fully push a dependent join. A setting of 1 will only
enable full pushdown of joins that only require the use the equi-join columns. And a
setting greater than 1 will allow wider data sets to be considered.
dependentJoinPushdownThreshold provides one dimension of control as to whether the join
should be pushed down. Ideally we would consider the plan both ways, but the act of
speculatively raising the access node is somewhat destructive. So without a lot of
additional logic, we'll make this simple check for now. Additional engine logic and
the ability to defer to the translator is expected.
Allow dependent join pushdown to be chosen by the planner
---------------------------------------------------------
Key: TEIID-2885
URL:
https://issues.jboss.org/browse/TEIID-2885
Project: Teiid
Issue Type: Enhancement
Components: Query Engine
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 8.7.1, 8.8
As a follow on to TEIID-2249, the planner should be able to choose when to use full join
pushdown, rather than only relying upon a hint. One downside to this currently is that
there isn't a good way to do a back off to a different join processing (unless we
embedded an alternative plan) and so we may have to add failure logic if too many
independent values are retrieved.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira