Tom Arnold created TEIID-2861:
---------------------------------
Summary: Partitioned UNION query fails
Key: TEIID-2861
URL:
https://issues.jboss.org/browse/TEIID-2861
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 8.6
Reporter: Tom Arnold
Assignee: Steven Hawkins
I have a query like this where FOO and BAR are two different Oracle databases.
select * from (
(select item_id, created_at, 'Foo' source from foo.items order by created_at
desc limit 5000)
union all
(select item_id, created_at, 'Bar' source from bar.items order by created_at
desc limit 5000)
) x
where
source in ('Foo', 'Bar')
order by created_at desc
limit 0, 500;
If I adjust the filter to only include results from the second query, I get an exception.
09:15:19,287 ERROR [org.teiid.PROCESSOR] (Worker5_QueryProcessorQueue50) 7rl0TEA59SdU
TEIID30019 Unexpected exception for request 7rl0TEA59SdU.7:
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.elementData(ArrayList.java:400) [rt.jar:1.7.0_51]
at java.util.ArrayList.get(ArrayList.java:413) [rt.jar:1.7.0_51]
at
org.teiid.query.optimizer.relational.rules.RuleRaiseNull.raiseNullNode(RuleRaiseNull.java:170)
[teiid-engine-8.6.0.Final.jar:8.6.0.Final]
at
org.teiid.query.optimizer.relational.rules.RuleRaiseNull.execute(RuleRaiseNull.java:70)
[teiid-engine-8.6.0.Final.jar:8.6.0.Final]
at
org.teiid.query.optimizer.relational.RelationalPlanner.executeRules(RelationalPlanner.java:606)
[teiid-engine-8.6.0.Final.jar:8.6.0.Final]
at
org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:255)
[teiid-engine-8.6.0.Final.jar:8.6.0.Final]
at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:159)
[teiid-engine-8.6.0.Final.jar:8.6.0.Final]
at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:408)
[teiid-engine-8.6.0.Final.jar:8.6.0.Final]
at org.teiid.dqp.internal.process.Request.processRequest(Request.java:435)
[teiid-engine-8.6.0.Final.jar:8.6.0.Final]
at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:600)
[teiid-engine-8.6.0.Final.jar:8.6.0.Final]
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:309)
[teiid-engine-8.6.0.Final.jar:8.6.0.Final]
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
[teiid-engine-8.6.0.Final.jar:8.6.0.Final]
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:248)
[teiid-engine-8.6.0.Final.jar:8.6.0.Final]
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:273)
[teiid-engine-8.6.0.Final.jar:8.6.0.Final]
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
[teiid-engine-8.6.0.Final.jar:8.6.0.Final]
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:214)
[teiid-engine-8.6.0.Final.jar:8.6.0.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[rt.jar:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.7.0_51]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
--
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