[
https://issues.jboss.org/browse/TEIID-2094?page=com.atlassian.jira.plugin...
]
Steven Hawkins updated TEIID-2094:
----------------------------------
Description:
If a non-pushed source node (inline view) is located over a projecting node
(windowfunctionproject, join, group, or a select node) the resulting construction of the
projection/projection indexes will be incorrect or fail - as the input elements will not
match the output elements that have been set to the views elements. For example with the
exception:
java.lang.AssertionError: ASSERTION FAILED: expected reference to be not null
at org.teiid.core.util.Assertion.failed(Assertion.java:73)
at org.teiid.core.util.Assertion.isNotNull(Assertion.java:100)
at org.teiid.core.util.Assertion.isNotNull(Assertion.java:92)
at
org.teiid.query.processor.relational.RelationalNode.getProjectionIndexes(RelationalNode.java:371)
at org.teiid.query.processor.relational.SelectNode.initialize(SelectNode.java:93)
Note that not all nodes should be the first child under a source. For example, join/group
should not appear there (typically it will be one of
project/windowfunctionproject/limit/sort/unionall/select). Other child nodes besides
windowfunctionproject/select could have issues, since we are not specifically coding to
use a different set of output vs. original elements such as with ProjectNode that holds
elements and selectSymbols respectively.
was:
If a non-pushed source node (inline view) is located over a projecting node
(windowfunctionproject, join, group, or a select node) the resulting construction of the
projection/projection indexes will be incorrect or fail - as the input elements will not
match the output elements that have been set to the views elements.
Note that not all nodes should be the first child under a source. For example, join/group
should not appear there (typically it will be one of
project/windowfunctionproject/limit/sort/unionall/select). Other child nodes besides
windowfunctionproject/select could have issues, since we are not specifically coding to
use a different set of output vs. original elements such as with ProjectNode that holds
elements and selectSymbols respectively.
Priority: Major (was: Critical)
Upon further review checked in a fix to just select nodes. Also downgraded to major since
it is more narrow in scope and would typically only happen in dependent join scenarios -
otherwise the select would be under a project. All other node types do not currently have
issues, although the case of being a source child must be considered if accessing the node
elements.
Projecting node issue
---------------------
Key: TEIID-2094
URL:
https://issues.jboss.org/browse/TEIID-2094
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 6.0.0
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 8.1
If a non-pushed source node (inline view) is located over a projecting node
(windowfunctionproject, join, group, or a select node) the resulting construction of the
projection/projection indexes will be incorrect or fail - as the input elements will not
match the output elements that have been set to the views elements. For example with the
exception:
java.lang.AssertionError: ASSERTION FAILED: expected reference to be not null
at org.teiid.core.util.Assertion.failed(Assertion.java:73)
at org.teiid.core.util.Assertion.isNotNull(Assertion.java:100)
at org.teiid.core.util.Assertion.isNotNull(Assertion.java:92)
at
org.teiid.query.processor.relational.RelationalNode.getProjectionIndexes(RelationalNode.java:371)
at org.teiid.query.processor.relational.SelectNode.initialize(SelectNode.java:93)
Note that not all nodes should be the first child under a source. For example,
join/group should not appear there (typically it will be one of
project/windowfunctionproject/limit/sort/unionall/select). Other child nodes besides
windowfunctionproject/select could have issues, since we are not specifically coding to
use a different set of output vs. original elements such as with ProjectNode that holds
elements and selectSymbols respectively.
--
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