[teiid-issues] [JBoss JIRA] (TEIID-5001) TextTable usage in UNION/UNION ALL queries with JOINs fails with "No value was available" or NPE errors
dalex dalex (JIRA)
issues at jboss.org
Wed Jul 19 14:15:00 EDT 2017
dalex dalex created TEIID-5001:
----------------------------------
Summary: TextTable usage in UNION/UNION ALL queries with JOINs fails with "No value was available" or NPE errors
Key: TEIID-5001
URL: https://issues.jboss.org/browse/TEIID-5001
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 9.3
Environment: teiid-9.3.0.Final on WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final)
Reporter: dalex dalex
Assignee: Steven Hawkins
Priority: Blocker
Attachments: emptydateranges.csv
Running the following query:
{code:sql}
SELECT id FROM
(SELECT d.id FROM (
SELECT 'l1' as domain
) dim_md_domains_to_load, table(CALL testcase.proc_web_avg_visit_duration_empty("domain" => domain)) x
JOIN testcase.dim_md_date_ranges d ON true
UNION
SELECT id FROM testcase.dim_md_date_ranges
) z
{code}
when using the following procedure:
{code:sql}
CREATE VIRTUAL PROCEDURE proc_web_avg_visit_duration_empty(
domain string
) RETURNS (i integer) AS
BEGIN
select 1;
END
{code}
leads to the following error message:
{code}
2017-07-19 19:57:12,608 ERROR [org.teiid.PROCESSOR] (Worker1_QueryProcessorQueue15) FOgTHY5kk50l TEIID30019 Unexpected exception for request FOgTHY5kk50l.1: org.teiid.core.TeiidCo
mponentException: TEIID30328 Unable to evaluate dim_md_domains_to_load.domain: No value was available
at org.teiid.query.util.CommandContext.getFromContext(CommandContext.java:514)
at org.teiid.query.eval.Evaluator.internalEvaluate(Evaluator.java:766)
at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:726)
at org.teiid.query.processor.proc.ProcedurePlan.evaluateExpression(ProcedurePlan.java:857)
at org.teiid.query.processor.proc.ProcedurePlan.open(ProcedurePlan.java:225)
at org.teiid.query.processor.relational.PlanExecutionNode.open(PlanExecutionNode.java:82)
at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
at org.teiid.query.processor.relational.JoinStrategy.openLeft(JoinStrategy.java:95)
at org.teiid.query.processor.relational.NestedTableJoinStrategy.openLeft(NestedTableJoinStrategy.java:74)
at org.teiid.query.processor.relational.JoinNode.open(JoinNode.java:145)
at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
at org.teiid.query.processor.relational.UnionAllNode.open(UnionAllNode.java:123)
at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
at org.teiid.query.processor.relational.DupRemoveNode.open(DupRemoveNode.java:53)
at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
at org.teiid.query.processor.relational.LimitNode.open(LimitNode.java:146)
at org.teiid.query.processor.relational.RelationalPlan.open(RelationalPlan.java:136)
at org.teiid.query.processor.QueryProcessor.init(QueryProcessor.java:231)
at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:138)
at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:477)
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:349)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:275)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:282)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
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}
and when using the following procedure:
{code:sql}
CREATE VIRTUAL PROCEDURE proc_web_avg_visit_duration_empty(
domain string
) RETURNS (i integer) AS
BEGIN
END
{code}
leads to the following error message:
{code}
2017-07-19 19:51:09,898 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue6) W9VMA4B+d8Gd TEIID30019 Unexpected exception for request W9VMA4B+d8Gd.1: java.lang.NullPointerEx
ception
at org.teiid.query.processor.proc.Program.instructionsRequireTransaction(Program.java:307)
at org.teiid.query.processor.proc.Program.requiresTransaction(Program.java:301)
at org.teiid.query.processor.proc.ProcedurePlan.requiresTransaction(ProcedurePlan.java:881)
at org.teiid.query.processor.relational.PlanExecutionNode.requiresTransaction(PlanExecutionNode.java:184)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:283)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:269)
at org.teiid.dqp.internal.process.Request.getTransactionContext(Request.java:374)
at org.teiid.dqp.internal.process.Request.createProcessor(Request.java:350)
at org.teiid.dqp.internal.process.Request.processRequest(Request.java:485)
at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:657)
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:338)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:275)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:282)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
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.2.3#72005)
More information about the teiid-issues
mailing list