[teiid-issues] [JBoss JIRA] (TEIID-2688) NPE determining dependent join cost

Steven Hawkins (JIRA) issues at jboss.org
Tue Apr 22 14:24:37 EDT 2014


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

Steven Hawkins closed TEIID-2688.
---------------------------------


    
> NPE determining dependent join cost
> -----------------------------------
>
>                 Key: TEIID-2688
>                 URL: https://issues.jboss.org/browse/TEIID-2688
>             Project: Teiid
>          Issue Type: Bug
>          Components: Query Engine
>    Affects Versions: 7.4
>            Reporter: Steven Hawkins
>            Assignee: Steven Hawkins
>             Fix For: 8.6, 7.7.8
>
>
> Given that the initial node in the cost determination is not a select node if it is "pushed" to a point where the criteria is assumed to exist, then an NPE is thrown:
> java.lang.NullPointerException
> 	at org.teiid.query.optimizer.relational.rules.JoinUtil.replaceWithNullValues(JoinUtil.java:186)
> 	at org.teiid.query.optimizer.relational.rules.JoinUtil.isNullDependent(JoinUtil.java:141)
> 	at org.teiid.query.optimizer.relational.rules.JoinUtil.optimizeJoinType(JoinUtil.java:106)
> 	at org.teiid.query.optimizer.relational.rules.RulePushSelectCriteria.examinePath(RulePushSelectCriteria.java:356)
> 	at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.determineTargets(NewCalculateCostUtil.java:1294)
> 	at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.computeCostForDepJoin(NewCalculateCostUtil.java:1155)
> 	at org.teiid.query.optimizer.relational.rules.JoinRegion.getDepJoinCost(JoinRegion.java:373)
> 	at org.teiid.query.optimizer.relational.rules.JoinRegion.scoreRegion(JoinRegion.java:316)
> 	at org.teiid.query.optimizer.relational.rules.RulePlanJoins.findBestJoinOrder(RulePlanJoins.java:571)
> 	at org.teiid.query.optimizer.relational.rules.RulePlanJoins.execute(RulePlanJoins.java:173)
> 	at org.teiid.query.optimizer.relational.RelationalPlanner.executeRules(RelationalPlanner.java:525)
> 	at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:212)
> 	at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:195)
> This will occur if the prospective dependent join for example is above an outer join such that we need to check whether pushing the criteria would alter the meaning of the join.

--
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