[teiid-issues] [JBoss JIRA] (TEIID-2885) Allow dependent join pushdown to be chosen by the planner

Steven Hawkins (JIRA) issues at jboss.org
Tue Apr 22 12:58:34 EDT 2014


     [ https://issues.jboss.org/browse/TEIID-2885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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


More information about the teiid-issues mailing list