[JBoss JIRA] (TEIID-3470) NPE in ConnectorWorkItem when using source hints
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3470?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-3470.
---------------------------------
> NPE in ConnectorWorkItem when using source hints
> ------------------------------------------------
>
> Key: TEIID-3470
> URL: https://issues.jboss.org/browse/TEIID-3470
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.5
> Reporter: Mark Addleman
> Assignee: Steven Hawkins
> Fix For: 8.7.1.6_2, 8.11, 8.7.4
>
>
> When using a source general source hint in a query that uses multple sources, I get an NPE:
> java.lang.NullPointerException
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.<init>(ConnectorWorkItem.java:141)
> at org.teiid.dqp.internal.datamgr.ConnectorManager.registerRequest(ConnectorManager.java:203)
> at org.teiid.dqp.internal.process.DataTierManagerImpl.registerRequest(DataTierManagerImpl.java:966)
> at org.teiid.query.tempdata.TempTableDataManager.registerRequest(TempTableDataManager.java:179)
> at org.teiid.query.processor.relational.AccessNode.registerRequest(AccessNode.java:475)
> at org.teiid.query.processor.relational.AccessNode.open(AccessNode.java:248)
> at org.teiid.query.processor.relational.JoinStrategy.openLeft(JoinStrategy.java:95)
> 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.JoinStrategy.openLeft(JoinStrategy.java:95)
> at org.teiid.query.processor.relational.JoinNode.open(JoinNode.java:145)
> at org.teiid.query.processor.relational.JoinStrategy.openLeft(JoinStrategy.java:95)
> at org.teiid.query.processor.relational.JoinNode.open(JoinNode.java:145)
> at org.teiid.query.processor.relational.JoinStrategy.openLeft(JoinStrategy.java:95)
> 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.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:457)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:339)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:267)
> at org.teiid.dqp.internal.process.DQPCore.executeRequest(DQPCore.java:298)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:483)
> at org.teiid.transport.LocalServerConnection$1$1.call(LocalServerConnection.java:175)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:260)
> at org.teiid.transport.LocalServerConnection$1.invoke(LocalServerConnection.java:173)
> at com.sun.proxy.$Proxy14.executeRequest(Unknown Source)
> at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:661)
> at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:527)
> at org.teiid.jdbc.PreparedStatementImpl.executeQuery(PreparedStatementImpl.java:261)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (TEIID-3310) Nesting aliases that match the engine recontext logic can lead to naming conflicts
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3310?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-3310.
---------------------------------
> Nesting aliases that match the engine recontext logic can lead to naming conflicts
> ----------------------------------------------------------------------------------
>
> Key: TEIID-3310
> URL: https://issues.jboss.org/browse/TEIID-3310
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 7.7
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.10
>
>
> A query such as:
> select (select e4 from pm1.g1 X__1), pm1.g1.e2 from pm1.g1, /*+ makeind */ (select e1 from pm2.g1) AS X__1, (select distinct e2, e3 from pm3.g1) X__2 where pm1.g1.e3 = X__1.e1 and pm1.g1.e2 = year(X__2.e3)
> Will fail to process correctly as the X__1 and X__2 aliases are already in use, which will cause an AssertionError during processing attempting to reference X__1.e1.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (TEIID-3716) Error joining file data sources
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3716?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-3716.
---------------------------------
> Error joining file data sources
> -------------------------------
>
> Key: TEIID-3716
> URL: https://issues.jboss.org/browse/TEIID-3716
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Reporter: Salvatore R
> Assignee: Steven Hawkins
> Fix For: 8.12
>
>
> I have defined a file data source in the VDB and I am running a query that joins a CSV file to another relation (a relational table or a subquery like in the following example).
> Two different exceptions are thrown if a INNER or LEFT OUTER JOIN is used:
> {code:sql}
> SELECT
> csv_table.*
> FROM
> (call f1.getFiles('csvFile.csv')) f,
> TEXTTABLE(to_chars(f.file,'UTF-8')
> COLUMNS
> "a" STRING ,
> "b" STRING
> DELIMITER ','
> QUOTE ''''
> SKIP 1
> ) csv_table
> LEFT JOIN (SELECT '1' as a, '2' as b) as t ON csv_table.a = t.a;
> {code}
> {code:sql}
> 16:30:25,220 ERROR [org.teiid.PROCESSOR] (Worker11_QueryProcessorQueue278) 49Wb3t6yP73K TEIID30019 Unexpected exception for request 49Wb3t6yP73K.16: org.teiid.core.TeiidComponentException: TEIID30328 Unable to evaluate f.file: No value was available
> at org.teiid.query.util.CommandContext.getFromContext(CommandContext.java:501) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.eval.Evaluator.internalEvaluate(Evaluator.java:705) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:680) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.relational.NestedTableJoinStrategy.process(NestedTableJoinStrategy.java:93) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:227) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.relational.LimitNode.nextBatchDirect(LimitNode.java:102) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.relational.SourceState.prefetch(SourceState.java:211) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.relational.JoinNode.prefetch(JoinNode.java:247) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:239) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.relational.LimitNode.nextBatchDirect(LimitNode.java:102) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:150) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:462) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:344) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:271) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_67]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_67]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_67]
> {code}
> If INNER JOIN is used:
> {code:sql}
> SELECT
> csv_table.*
> FROM
> (call f1.getFiles('csvFile.csv')) f,
> TEXTTABLE(to_chars(f.file,'UTF-8')
> COLUMNS
> "a" STRING ,
> "b" STRING
> DELIMITER ','
> QUOTE ''''
> SKIP 1
> ) csv_table
> JOIN (SELECT '1' as a, '2' as b) as t ON csv_table.a = t.a;
> {code}
> the following exception is thrown:
> {code:sql}
> 16:32:18,260 ERROR [org.teiid.PROCESSOR] (Worker11_QueryProcessorQueue281) 49Wb3t6yP73K TEIID30019 Unexpected exception for request 49Wb3t6yP73K.18: java.lang.AssertionError: Cannot use a depenedent join when the join involves a correlated nested table.
> at org.teiid.query.optimizer.relational.rules.RuleImplementJoinStrategy.execute(RuleImplementJoinStrategy.java:88) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.optimizer.relational.RelationalPlanner.executeRules(RelationalPlanner.java:792) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:223) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:159) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:434) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.Request.processRequest(Request.java:461) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:632) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:333) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:271) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.0.Beta3.jar:8.12.0.Beta3]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_67]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_67]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_67]
> {code}
> It seems that the structure of the CSV file is not relevant since this issue can be reproduced even providing a file that does not exist.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (TEIID-3783) Error when limit/sort is pushed above a window function
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3783?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-3783.
---------------------------------
> Error when limit/sort is pushed above a window function
> -------------------------------------------------------
>
> Key: TEIID-3783
> URL: https://issues.jboss.org/browse/TEIID-3783
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.12.1, 8.13
>
>
> TEIID-3568 introduced a regression by pushing a sort over a project node, but not accounting for aliases. This can be reproduced with a query such as:
> select column_a, column_b from (select sum(column_a) over (partition by key_column) as column_a, key_column from a ) a left outer join ( select sum(column_b) over (partition by key_column) as column_b, key_column from b) b on a.key_column = b.key_column order by column_a desc limit 10
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months