[JBoss JIRA] (TEIID-4451) Teradata translator - Unable to evaluate SUM(B.LongNum) in subquery
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-4451?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration updated TEIID-4451:
-------------------------------------------
Bugzilla References: https://bugzilla.redhat.com/show_bug.cgi?id=1377251
Bugzilla Update: Perform
> Teradata translator - Unable to evaluate SUM(B.LongNum) in subquery
> -------------------------------------------------------------------
>
> Key: TEIID-4451
> URL: https://issues.jboss.org/browse/TEIID-4451
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Reporter: Juraj Duráni
> Assignee: Steven Hawkins
> Fix For: 9.1, 9.0.5
>
>
> Teiid throws exception \[2\] during evaluation of query \[1\] with teradata translator.
> Similar issue with other functions, e.g. SUM, MIN.
> {code:sql|title=\[1\] Query}
> SELECT INTKEY, LONGNUM FROM BQT1.SMALLA AS A WHERE LONGNUM > (SELECT SUM(LONGNUM) FROM BQT1.SMALLA AS B WHERE A.INTKEY = B.INTKEY) ORDER BY INTKEY
> {code}
> {code:plain|title=\[2\] Exception}
> 11:44:51,977 ERROR [org.teiid.PROCESSOR] (Worker3_QueryProcessorQueue51) TEIID30019 Unexpected exception for request t79rG4toMpAB.6: org.teiid.core.TeiidComponentException: TEIID30328 Unable to evaluate SUM(B.LongNum): No value was available
> at org.teiid.query.util.CommandContext.getFromContext(CommandContext.java:506) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.eval.Evaluator.internalEvaluate(Evaluator.java:718) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:693) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:362) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.eval.Evaluator.internalEvaluateTVL(Evaluator.java:237) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.eval.Evaluator.evaluateTVL(Evaluator.java:226) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:220) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.JoinNode.matchesCriteria(JoinNode.java:353) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.MergeJoinStrategy.process(MergeJoinStrategy.java:248) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:227) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:69) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:70) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:84) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.common.buffer.AbstractTupleSource.nextTuple(AbstractTupleSource.java:48) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.SortUtility.initialSort(SortUtility.java:262) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.SortUtility.sort(SortUtility.java:196) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.SortNode.sortPhase(SortNode.java:112) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.SortNode.getBufferDirect(SortNode.java:206) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalNode.getBuffer(RelationalNode.java:634) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.LimitNode.getBufferDirect(LimitNode.java:211) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalNode.getBuffer(RelationalNode.java:634) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.ProjectNode.getBufferDirect(ProjectNode.java:237) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalNode.getBuffer(RelationalNode.java:634) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalPlan.getBuffer(RelationalPlan.java:285) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.QueryProcessor.getBuffer(QueryProcessor.java:290) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:154) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0-internal]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0-internal]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0-internal]
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-4452) Pushdown SQL/XML
by Tom Arnold (JIRA)
Tom Arnold created TEIID-4452:
---------------------------------
Summary: Pushdown SQL/XML
Key: TEIID-4452
URL: https://issues.jboss.org/browse/TEIID-4452
Project: Teiid
Issue Type: Enhancement
Components: JDBC Connector
Affects Versions: 9.x
Reporter: Tom Arnold
Assignee: Steven Hawkins
It would be helpful to pushdown SQL/XML functions for JDBC databases that support them.
Databases:
- Oracle
- Postgres
Functions:
- XMLELEMENT
- XMLATTRIBUTES
- XMLAGG
- XMLCONCAT
We have an application that uses these functions and we support Oracle, Postgres, and Teiid (to integrate external data sources). Here's an example query generated by this application:
{code:xml}
select
"ITEMS"."ITEM_ID" "ITEM_ID",
(
select xmlelement (
name "attributes",
xmlagg(
xmlelement(
name "attribute",
xmlattributes(
"ITEM_ATTRIBUTES"."ATTR_NAME" as "name",
"ITEM_ATTRIBUTES"."ATTR_VALUE" as "value"
)
)
)
)
from "ITEM_ATTRIBUTES" "ITEM_ATTRIBUTES"
where (
"ITEMS"."ITEM_ID" = "ITEM_ATTRIBUTES"."ITEM_ID"
)
) "ITEM_ATTRIBUTES"
{code}
{code}
ITEM_ID ITEM_ATTRIBUTES
3 <attributes><attribute name="foo" value="bar"></attribute><attribute name="baz" value="blah"></attribute></attributes>
4 <attributes><attribute name="foo" value="123"></attribute><attribute name="baz" value="456"></attribute></attributes>
{code}
When we are using Teiid queries like this do not work well because they cannot be pushed down, so we get N-many queries (one per row) and the query ends up taking much longer than if performed directly against Oracle/Postgres.
Since SQL/XML is standard and supported by both Oracle/Postgres it would be good if queries like this could be pushed in their entirety so that there would be no performance difference between going through Teiid and native.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-4447) database service logging for auditlog gives NPE when running a query
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-4447?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-4447:
-------------------------------------
IMO, both require database changes that is the bigger issue to either support in a patch release or not.
I would leave AuditMessage as is, and make necessary changes in the AuditEntity to account for the LogonInfo about and CommandContext being null.
> database service logging for auditlog gives NPE when running a query
> --------------------------------------------------------------------
>
> Key: TEIID-4447
> URL: https://issues.jboss.org/browse/TEIID-4447
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.12.5
> Reporter: Debbie Steigner
> Assignee: Steven Hawkins
>
> When using the database logger (database-service.jar) running a query gives an NPE on the auditlog[1], the tables are in the database and the commandlog table is written to just not the auditlog table.
> [1]
> 12:18:57,297 ERROR [org.jboss.as.ejb3.invocation] (pool-2-thread-1) JBAS014134: EJB Invocation failed on component teiid-database-service for method public abstract void org.teiid.service.DatabaseServiceLocal.log(org.teiid.logging.AuditMessage): javax.ejb.EJBException: java.lang.NullPointerException
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:190) [jboss-as-ejb3-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:280) [jboss-as-ejb3-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:330) [jboss-as-ejb3-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:242) [jboss-as-ejb3-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43) [jboss-as-ejb3-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:89) [jboss-as-ejb3-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22) [jboss-as-ejb3-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) [jboss-as-ejb3-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [jboss-as-ejb3-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55) [jboss-as-ejb3-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
> at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:189)
> at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
> at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)
> at org.teiid.service.DatabaseServiceLocal$$$view1.log(Unknown Source) [database-service.jar:]
> at org.teiid.logger.DatabaseAppender.publish(DatabaseAppender.java:51) [database-logging-appender-1.2.0.redhat-10.jar:1.2.0.redhat-10]
> at org.jboss.logmanager.handlers.AsyncHandler$AsyncTask.run(AsyncHandler.java:196) [jboss-logmanager-1.5.4.Final-redhat-1.jar:1.5.4.Final-redhat-1]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_60]
> Caused by: java.lang.NullPointerException
> at org.teiid.service.AuditEnitity.<init>(AuditEnitity.java:55) [database-service.jar:]
> at org.teiid.service.DatabaseServiceBean.log(DatabaseServiceBean.java:44) [database-service.jar:]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_60]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_60]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_60]
> at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_60]
> at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
> at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374)
> at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:86) [jboss-as-weld-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:97) [jboss-as-weld-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
> at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:49) [jboss-as-ejb3-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47) [jboss-as-jpa-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:93) [jboss-as-weld-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
> at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) [jboss-as-ejb3-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:278) [jboss-as-ejb3-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
> ... 31 more
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-979) Add pushdown support for sql/xml functions
by Tom Arnold (JIRA)
[ https://issues.jboss.org/browse/TEIID-979?page=com.atlassian.jira.plugin.... ]
Tom Arnold commented on TEIID-979:
----------------------------------
> If Teiid simply generated a plan that pushed a join rather than individually processing the subqueries, would that be acceptable?
Yes I think that would be helpful. Anything is better than N-many queries.
> Otherwise can you create a sub-task with the specific sql/xml constructs you need to be pushed?
I will write a new JIRA for this. Do you have an idea of what work would be involved? I can probably work on it if it doesn't fit on your roadmap.
Thanks!
> Add pushdown support for sql/xml functions
> ------------------------------------------
>
> Key: TEIID-979
> URL: https://issues.jboss.org/browse/TEIID-979
> Project: Teiid
> Issue Type: Sub-task
> Components: JDBC Connector
> Affects Versions: 7.1
> Reporter: Marc Shirley
> Assignee: Steven Hawkins
>
> We should have pushdown support for SQL/XML functionality. In particular Oracle and DB2 have support.
> see also case 5715
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-979) Add pushdown support for sql/xml functions
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-979?page=com.atlassian.jira.plugin.... ]
Steven Hawkins commented on TEIID-979:
--------------------------------------
> Is there any reason this never got finished?
It's a large amount of work, but not often requested.
> To further explain my use-case, here's a query that does N-many queries (one per ITEM).
Yes, unfortunately we only currently convert to traditional join / semi-join processing for subqueries in the the where clause.
> I'm not sure if the reason it's not getting pushed down is because XML functions are not, or if it's something to do with the aggregate/subquery?
The xml* functions are currently not pushed, so that is the primary reason. If Teiid simply generated a plan that pushed a join rather than individually processing the subqueries, would that be acceptable? Otherwise can you create a sub-task with the specific sql/xml constructs you need to be pushed?
> Add pushdown support for sql/xml functions
> ------------------------------------------
>
> Key: TEIID-979
> URL: https://issues.jboss.org/browse/TEIID-979
> Project: Teiid
> Issue Type: Sub-task
> Components: JDBC Connector
> Affects Versions: 7.1
> Reporter: Marc Shirley
> Assignee: Steven Hawkins
>
> We should have pushdown support for SQL/XML functionality. In particular Oracle and DB2 have support.
> see also case 5715
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-4451) Teradata translator - Unable to evaluate SUM(B.LongNum) in subquery
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4451?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4451:
----------------------------------
Component/s: Query Engine
Fix Version/s: 9.1
9.0.5
This is a general issue with the conversion of a plan that calls a subquery repeatedly into a semi-join plan. If the projection is an aggregate, then the parent plan isn't finding the value.
> Teradata translator - Unable to evaluate SUM(B.LongNum) in subquery
> -------------------------------------------------------------------
>
> Key: TEIID-4451
> URL: https://issues.jboss.org/browse/TEIID-4451
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Reporter: Juraj Duráni
> Assignee: Steven Hawkins
> Fix For: 9.1, 9.0.5
>
>
> Teiid throws exception \[2\] during evaluation of query \[1\] with teradata translator.
> Similar issue with other functions, e.g. SUM, MIN.
> {code:sql|title=\[1\] Query}
> SELECT INTKEY, LONGNUM FROM BQT1.SMALLA AS A WHERE LONGNUM > (SELECT SUM(LONGNUM) FROM BQT1.SMALLA AS B WHERE A.INTKEY = B.INTKEY) ORDER BY INTKEY
> {code}
> {code:plain|title=\[2\] Exception}
> 11:44:51,977 ERROR [org.teiid.PROCESSOR] (Worker3_QueryProcessorQueue51) TEIID30019 Unexpected exception for request t79rG4toMpAB.6: org.teiid.core.TeiidComponentException: TEIID30328 Unable to evaluate SUM(B.LongNum): No value was available
> at org.teiid.query.util.CommandContext.getFromContext(CommandContext.java:506) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.eval.Evaluator.internalEvaluate(Evaluator.java:718) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:693) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:362) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.eval.Evaluator.internalEvaluateTVL(Evaluator.java:237) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.eval.Evaluator.evaluateTVL(Evaluator.java:226) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:220) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.JoinNode.matchesCriteria(JoinNode.java:353) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.MergeJoinStrategy.process(MergeJoinStrategy.java:248) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:227) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:69) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:70) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:84) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.common.buffer.AbstractTupleSource.nextTuple(AbstractTupleSource.java:48) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.SortUtility.initialSort(SortUtility.java:262) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.SortUtility.sort(SortUtility.java:196) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.SortNode.sortPhase(SortNode.java:112) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.SortNode.getBufferDirect(SortNode.java:206) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalNode.getBuffer(RelationalNode.java:634) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.LimitNode.getBufferDirect(LimitNode.java:211) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalNode.getBuffer(RelationalNode.java:634) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.ProjectNode.getBufferDirect(ProjectNode.java:237) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalNode.getBuffer(RelationalNode.java:634) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalPlan.getBuffer(RelationalPlan.java:285) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.QueryProcessor.getBuffer(QueryProcessor.java:290) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:154) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0-internal]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0-internal]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0-internal]
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-4451) Teradata translator - Unable to evaluate SUM(B.LongNum) in subquery
by Juraj Duráni (JIRA)
Juraj Duráni created TEIID-4451:
-----------------------------------
Summary: Teradata translator - Unable to evaluate SUM(B.LongNum) in subquery
Key: TEIID-4451
URL: https://issues.jboss.org/browse/TEIID-4451
Project: Teiid
Issue Type: Bug
Reporter: Juraj Duráni
Assignee: Steven Hawkins
Teiid throws exception \[2\] during evaluation of query \[1\] with teradata translator.
Similar issue with other functions, e.g. SUM, MIN.
{code:sql|title=\[1\] Query}
SELECT INTKEY, LONGNUM FROM BQT1.SMALLA AS A WHERE LONGNUM > (SELECT SUM(LONGNUM) FROM BQT1.SMALLA AS B WHERE A.INTKEY = B.INTKEY) ORDER BY INTKEY
{code}
{code:plain|title=\[2\] Exception}
11:44:51,977 ERROR [org.teiid.PROCESSOR] (Worker3_QueryProcessorQueue51) TEIID30019 Unexpected exception for request t79rG4toMpAB.6: org.teiid.core.TeiidComponentException: TEIID30328 Unable to evaluate SUM(B.LongNum): No value was available
at org.teiid.query.util.CommandContext.getFromContext(CommandContext.java:506) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.eval.Evaluator.internalEvaluate(Evaluator.java:718) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:693) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:362) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.eval.Evaluator.internalEvaluateTVL(Evaluator.java:237) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.eval.Evaluator.evaluateTVL(Evaluator.java:226) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:220) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.relational.JoinNode.matchesCriteria(JoinNode.java:353) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.relational.MergeJoinStrategy.process(MergeJoinStrategy.java:248) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:227) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:69) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:70) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:84) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.common.buffer.AbstractTupleSource.nextTuple(AbstractTupleSource.java:48) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.relational.SortUtility.initialSort(SortUtility.java:262) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.relational.SortUtility.sort(SortUtility.java:196) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.relational.SortNode.sortPhase(SortNode.java:112) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.relational.SortNode.getBufferDirect(SortNode.java:206) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.relational.RelationalNode.getBuffer(RelationalNode.java:634) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.relational.LimitNode.getBufferDirect(LimitNode.java:211) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.relational.RelationalNode.getBuffer(RelationalNode.java:634) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.relational.ProjectNode.getBufferDirect(ProjectNode.java:237) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.relational.RelationalNode.getBuffer(RelationalNode.java:634) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.relational.RelationalPlan.getBuffer(RelationalPlan.java:285) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.QueryProcessor.getBuffer(QueryProcessor.java:290) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:154) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0-internal]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0-internal]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0-internal]
{code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-4450) Consolidate Version class
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-4450:
-------------------------------------
Summary: Consolidate Version class
Key: TEIID-4450
URL: https://issues.jboss.org/browse/TEIID-4450
Project: Teiid
Issue Type: Quality Risk
Components: Misc. Connectors
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 9.1
We have the Version class replicated in several places, so we should consolidate.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years