[JBoss JIRA] (TEIID-3721) Add OPTIONS capability to Procedure ResultSet
by Ramesh Reddy (JIRA)
Ramesh Reddy created TEIID-3721:
-----------------------------------
Summary: Add OPTIONS capability to Procedure ResultSet
Key: TEIID-3721
URL: https://issues.jboss.org/browse/TEIID-3721
Project: Teiid
Issue Type: Enhancement
Components: Connector API, Query Engine
Reporter: Ramesh Reddy
Assignee: Steven Hawkins
Fix For: 8.12
Currently there is no way to add metadata on Procedures return value if the return value is "ResultSet".
Actually you can call _setProperty_ add on _ColumnSet<Procedure>_ metadata object, but _DDLStringFactory_ will not recognize it, also I believe JAVACC file needs to updated for this to recognize.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 3 months
[JBoss JIRA] (TEIID-3686) OData DELETE nonexisting row - wrong response code
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-3686?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on TEIID-3686:
------------------------------------------------
Van Halbert <vhalbert(a)redhat.com> changed the Status of [bug 1266539|https://bugzilla.redhat.com/show_bug.cgi?id=1266539] from NEW to MODIFIED
> OData DELETE nonexisting row - wrong response code
> --------------------------------------------------
>
> Key: TEIID-3686
> URL: https://issues.jboss.org/browse/TEIID-3686
> Project: Teiid
> Issue Type: Bug
> Components: OData
> Affects Versions: 8.7.1.6_2
> Reporter: Michal Sanitrak
> Assignee: Ramesh Reddy
> Labels: CR1
> Fix For: 8.12
>
>
> I deployed VDB that can be accessed with OData. When I perform DELETE request to remove row for first time response code is 200 OK (maybe it should be 204) but when I repeat the same DELETE request and tried to delete already deleted entry, response is again 200 OK, but it should be 404 Not Found. Same thing happens even I when tried to delete entry with id that doesn't exist at all.
> Only indication of this problem is in the server log:
> {code:plain}INFO [org.teiid.ODATA] (http-/127.0.0.1:8080-1) no entity to delete in = BooksMySQL.BOOKS with key= ('1')
> {code}
> I think that response code for deleting row that doesn't exist should be different than 200 OK.
> For example the service at odata.org returns following content with response code 404 Not Found:
> {code:xml}
> <?xml version="1.0" encoding="utf-8" standalone="yes"?>
> <error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
> <code></code>
> <message xml:lang="en-US">Resource not found for the segment 'Products'.</message>
> </error>
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 3 months
[JBoss JIRA] (TEIID-3670) Salesforce query issue
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3670?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-3670.
-----------------------------------
Resolution: Deferred
Marking as deferred. The exception doesn't quite match the expectation of the runtime type modeling of string, but since it is perfectly valid for salesforce to throw an exception when there is a datatype mismatch - similar to issuing something like int_col = 'x' in most databases - this doesn't seem to warrant addressing in our code at this time.
> Salesforce query issue
> ----------------------
>
> Key: TEIID-3670
> URL: https://issues.jboss.org/browse/TEIID-3670
> Project: Teiid
> Issue Type: Quality Risk
> Components: Salesforce Connector
> Affects Versions: 8.7.3
> Reporter: Mark Drilling
> Assignee: Steven Hawkins
> Priority: Minor
> Fix For: 8.12
>
> Attachments: SFException.txt
>
>
> Linking to JIRA that was logged under Teiid Designer. I was able to reproduce the reported problem with both types of VDB - it is not really a designer issue.
> For this query:
> select Opportunity.CloseDate from SalesForceSource.Campaign, SalesForceSource.Opportunity WHERE Campaign.Id = Opportunity.CampaignId
> I was able to reproduce with earlier 8.7 version of teiid, but it appears to have been addressed in a later 8.7.x version (DV62).
> However I then tried this query:
> select Opportunity.CloseDate from SalesForceSource.Campaign, SalesForceSource.Opportunity WHERE Campaign.Id = 'xx'
> which results in a "Invalid QName in mapping: sf:INVALID_QUERY_FILTER_OPERATOR" exception (see attachment). This occurs in the DV62/teiid8.7.1 version.
> I realize there has been some work recently in the salesforce connector area, so not sure if it is still an issue with recent versions.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 3 months
[JBoss JIRA] (TEIID-3711) Teiid XML Plan not showing Aggregate function
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3711?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-3711.
-----------------------------------
Fix Version/s: 8.12
Resolution: Done
Added a "Grouping Mapping" property to the grouping node to show the mapping of aggregates and grouping columns from their internal name to expression form.
> Teiid XML Plan not showing Aggregate function
> ---------------------------------------------
>
> Key: TEIID-3711
> URL: https://issues.jboss.org/browse/TEIID-3711
> Project: Teiid
> Issue Type: Bug
> Components: Embedded, Query Engine
> Affects Versions: 8.11.4
> Reporter: Sathish Kumaran Vairavelu
> Assignee: Steven Hawkins
> Fix For: 8.12
>
>
> The SQL contains aggregation function but the aggregation function(count, sum, etc) is missing from Teiid Plan. The plan should provide which aggregate functions is being worked on.
>
> Below is the SQL and the plan.
>
> SQL:
>
> select a.ACCOUNT_ID as ACCOUNT_ID, b.company_name as company_name, c.ssn as ssn, count(a.shares_count) as total_shares
> from UbuntuMySQL.PORTFOLIO.HOLDINGS a, UbuntuMySQL.PORTFOLIO.PRODUCT b,HadoopSrcModel.default.account c
> WHERE a.PRODUCT_ID = b.ID and a.ACCOUNT_ID = c.ACCOUNT_ID GROUP BY a.ACCOUNT_ID,b.company_name, c.ssn
>
> XML Plan:
>
> <?xml version="1.0" encoding="UTF-8" ?>
>
> - <node name="ProjectNode">
>
>
> - <property name="Relational Node ID">
>
>
> <value>3</value>
>
> </property>
>
> - <property name="Output Columns">
>
>
> <value>ACCOUNT_ID (integer)</value>
>
>
> <value>company_name (string)</value>
>
>
> <value>ssn (string)</value>
>
>
> <value>total_shares (integer)</value>
>
> </property>
>
> - <property name="Cost Estimates">
>
>
> <value>Estimated Node Cardinality: -1.0</value>
>
> </property>
>
> - <property name="Child 0">
>
>
> - <node name="GroupingNode">
>
>
> - <property name="Relational Node ID">
>
>
> <value>4</value>
>
> </property>
>
> - <property name="Output Columns">
>
>
> <value>gcol0 (integer)</value>
>
>
> <value>gcol1 (string)</value>
>
>
> <value>gcol2 (string)</value>
>
>
> <value>agg0 (long)</value>
>
> </property>
>
> - <property name="Cost Estimates">
>
>
> <value>Estimated Node Cardinality: -1.0</value>
>
> </property>
>
> - <property name="Child 0">
>
>
> - <node name="JoinNode">
>
>
> - <property name="Relational Node ID">
>
>
> <value>5</value>
>
> </property>
>
> - <property name="Output Columns">
>
>
> <value>gcol1 (integer)</value>
>
>
> <value>gcol2 (string)</value>
>
>
> <value>ssn (string)</value>
>
>
> <value>agg0 (integer)</value>
>
> </property>
>
> - <property name="Cost Estimates">
>
>
> <value>Estimated Node Cardinality: -1.0</value>
>
> </property>
>
> - <property name="Child 0">
>
>
> - <node name="GroupingNode">
>
>
> - <property name="Relational Node ID">
>
>
> <value>6</value>
>
> </property>
>
> - <property name="Output Columns">
>
>
> <value>gcol0 (string)</value>
>
>
> <value>gcol1 (integer)</value>
>
>
> <value>gcol2 (string)</value>
>
>
> <value>agg0 (integer)</value>
>
> </property>
>
> - <property name="Cost Estimates">
>
>
> <value>Estimated Node Cardinality: -1.0</value>
>
> </property>
>
> - <property name="Child 0">
>
>
> - <node name="AccessNode">
>
>
> - <property name="Relational Node ID">
>
>
> <value>7</value>
>
> </property>
>
> - <property name="Output Columns">
>
>
> <value>expr (string)</value>
>
>
> <value>ACCOUNT_ID (integer)</value>
>
>
> <value>COMPANY_NAME (string)</value>
>
>
> <value>SHARES_COUNT (integer)</value>
>
> </property>
>
> - <property name="Cost Estimates">
>
>
> <value>Estimated Node Cardinality: -1.0</value>
>
> </property>
>
> - <property name="Query">
>
>
> <value>SELECT convert(g_0.ACCOUNT_ID, string), g_0.ACCOUNT_ID, g_1.COMPANY_NAME, g_0.SHARES_COUNT FROM UbuntuMySQL.PORTFOLIO.HOLDINGS AS g_0, UbuntuMySQL.PORTFOLIO.PRODUCT AS g_1 WHERE g_0.PRODUCT_ID = g_1.ID</value>
>
> </property>
>
> - <property name="Model Name">
>
>
> <value>UbuntuMySQL</value>
>
> </property>
> </node>
> </property>
>
> - <property name="Grouping Columns">
>
>
> <value>convert(a.ACCOUNT_ID, string)</value>
>
>
> <value>a.ACCOUNT_ID</value>
>
>
> <value>b.COMPANY_NAME</value>
>
> </property>
>
> - <property name="Sort Mode">
>
>
> <value>false</value>
>
> </property>
> </node>
> </property>
>
> - <property name="Child 1">
>
>
> - <node name="AccessNode">
>
>
> - <property name="Relational Node ID">
>
>
> <value>8</value>
>
> </property>
>
> - <property name="Output Columns">
>
>
> <value>account_id (string)</value>
>
>
> <value>ssn (string)</value>
>
> </property>
>
> - <property name="Cost Estimates">
>
>
> <value>Estimated Node Cardinality: -1.0</value>
>
> </property>
>
> - <property name="Query">
>
>
> <value>SELECT g_0.account_id AS c_0, g_0.ssn AS c_1 FROM HadoopSrcModel."default".account AS g_0 ORDER BY c_0</value>
>
> </property>
>
> - <property name="Model Name">
>
>
> <value>HadoopSrcModel</value>
>
> </property>
> </node>
> </property>
>
> - <property name="Join Strategy">
>
>
> <value>ENHANCED SORT JOIN RAN AS SORT MERGE (ALREADY_SORTED/ALREADY_SORTED)</value>
>
> </property>
>
> - <property name="Join Type">
>
>
> <value>INNER JOIN</value>
>
> </property>
>
> - <property name="Join Criteria">
>
>
> <value>anon_grp2.gcol0=c.account_id</value>
>
> </property>
> </node>
> </property>
>
> - <property name="Grouping Columns">
>
>
> <value>anon_grp2.gcol1</value>
>
>
> <value>anon_grp2.gcol2</value>
>
>
> <value>c.ssn</value>
>
> </property>
>
> - <property name="Sort Mode">
>
>
> <value>false</value>
>
> </property>
> </node>
> </property>
>
> - <property name="Select Columns">
>
>
> <value>anon_grp1.gcol0 AS ACCOUNT_ID</value>
>
>
> <value>anon_grp1.gcol1 AS company_name</value>
>
>
> <value>anon_grp1.gcol2 AS ssn</value>
>
>
> <value>IFNULL(convert(anon_grp1.agg0, integer), 0) AS total_shares</value>
>
> </property>
>
> - <property name="Data Bytes Sent">
>
>
> <value>0</value>
>
> </property>
>
> - <property name="Planning Time">
>
>
> <value>149</value>
>
> </property>
> </node>
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 3 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 resolved TEIID-3716.
-----------------------------------
Resolution: Done
Corrected the sideways join logic to associate the necessary references for processing and to more narrowly mark the nested join.
> 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)
9 years, 3 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 updated TEIID-3716:
----------------------------------
Component/s: Query Engine
Fix Version/s: 8.12
> 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)
9 years, 3 months