[teiid-issues] [JBoss JIRA] (TEIID-5271) Joining more than one table/view to results of table function causes error

Steven Hawkins (JIRA) issues at jboss.org
Mon Mar 5 14:35:00 EST 2018


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

Steven Hawkins resolved TEIID-5271.
-----------------------------------
    Fix Version/s: 10.0.4
                   10.2
                   10.1.2
       Resolution: Done


The logic looking for correlations was not correctly walking all the way up the join tree.  By stopping prematurely the correlations were not found.  There were another couple of small adjustments to make this case work - in particular we were too broadly merging the virtual layer with correlations and no sources.

> Joining more than one table/view to results of table function causes error
> --------------------------------------------------------------------------
>
>                 Key: TEIID-5271
>                 URL: https://issues.jboss.org/browse/TEIID-5271
>             Project: Teiid
>          Issue Type: Bug
>          Components: Query Engine
>    Affects Versions: 10.1
>         Environment: teiid-10.1.0 on WildFly Full 11.0.0.Final (WildFly Core 3.0.8.Final)
>            Reporter: dalex dalex
>            Assignee: Steven Hawkins
>             Fix For: 10.0.4, 10.2, 10.1.2
>
>
> Joining more than one table/view to results of table function causes error. For example, such query:
> {code:sql}
> select * from views.v x1, table(select x1.a a) x2 join views.v x3 on x2.a=x3.a join views.v x4 on x4.a=x3.a ;;
> {code}
> causes such error:
> {code:noformat}
> 2018-03-05 10:20:14,105 ERROR [org.teiid.PROCESSOR] (Worker3_QueryProcessorQueue10) /oCxMs2/Zs22 TEIID30019 Unexpected exception for request /oCxMs2/Zs22.5: org.teiid.core.TeiidCompo
> nentException: TEIID30328 Unable to evaluate x1.a: No value was available
>         at org.teiid.query.util.CommandContext.getFromContext(CommandContext.java:520)
>         at org.teiid.query.eval.Evaluator.internalEvaluate(Evaluator.java:751)
>         at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:707)
>         at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:344)
>         at org.teiid.query.eval.Evaluator.internalEvaluateTVL(Evaluator.java:185)
>         at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:297)
>         at org.teiid.query.eval.Evaluator.internalEvaluateTVL(Evaluator.java:181)
>         at org.teiid.query.eval.Evaluator.evaluateTVL(Evaluator.java:174)
>         at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:168)
>         at org.teiid.query.processor.relational.SelectNode.nextBatchDirect(SelectNode.java:106)
>         at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
>         at org.teiid.query.processor.relational.LimitNode.nextBatchDirect(LimitNode.java:98)
>         at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
>         at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
>         at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
>         at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:141)
>         at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:148)
>         at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:111)
>         at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:160)
>         at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:142)
>         at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:480)
>         at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:350)
>         at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:47)
>         at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:276)
>         at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:280)
>         at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:115)
>         at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:206)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         at java.lang.Thread.run(Thread.java:745)
> {code}



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the teiid-issues mailing list