[JBoss JIRA] (TEIID-5285) Add high-level feature for redirection of updates
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-5285:
-------------------------------------
Summary: Add high-level feature for redirection of updates
Key: TEIID-5285
URL: https://issues.jboss.org/browse/TEIID-5285
Project: Teiid
Issue Type: Feature Request
Components: Query Engine, Teiid Spring Boot
Reporter: Steven Hawkins
Assignee: Steven Hawkins
In microservices testing it is desirable to test against production/live data but not commit any updates. We should offer a simple solution that can defined by extension metadata and enabled/disabled by a feature flag. We may need to make simplifying assumptions about the scope (per session, per application, etc.) and durability of the updates.
Under the covers this will be achieved by using views, update triggers, and a store for the updates and when not enabled the expectation is that all operations should pass through. However the application will be limited to using Teiid SQL and will be required to use the Teiid or pg driver, or Teiid spring boot.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (TEIID-5284) Capability text is misworded
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-5284:
-------------------------------------
Summary: Capability text is misworded
Key: TEIID-5284
URL: https://issues.jboss.org/browse/TEIID-5284
Project: Teiid
Issue Type: Bug
Components: Documentation
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 10.2
The text for OnlyLiteralComparison needs corrected.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (TEIID-5283) Recursive WITH query results in "java.lang.ClassCastException: org.teiid.query.sql.lang.Query cannot be cast to org.teiid.query.sql.lang.SetQuery"
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5283?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5283.
-----------------------------------
Fix Version/s: 10.2
10.1.2
10.0.4
Resolution: Done
Corrected the projection removal in the recursive case to apply separately to each branch.
> Recursive WITH query results in "java.lang.ClassCastException: org.teiid.query.sql.lang.Query cannot be cast to org.teiid.query.sql.lang.SetQuery"
> --------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: TEIID-5283
> URL: https://issues.jboss.org/browse/TEIID-5283
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12.11.6_4
> Reporter: Marc Shirley
> Assignee: Steven Hawkins
> Fix For: 10.2, 10.1.2, 10.0.4
>
>
> Executing a query using a recursive WITH clause results in the error:
> ERROR [org.teiid.PROCESSOR] (Worker1_QueryProcessorQueue29) TEIID30019 Unexpected exception for request juY1MrNVs8vD.7: java.lang.ClassCastException: org.teiid.query.sql.lang.Query cannot be cast to org.teiid.query.sql.lang.SetQuery
> at org.teiid.query.optimizer.relational.RelationalPlanner.planWith(RelationalPlanner.java:327) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:208) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:159) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:448) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.Request.processRequest(Request.java:476) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:642) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:337) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:284) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_151]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_151]
> at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151]
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (TEIID-5281) Issue with concatenating null strings with OData translator
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5281?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5281.
-----------------------------------
Fix Version/s: 10.0.4
10.2
10.1.2
Resolution: Done
Updated the sql generation for concat and substring.
> Issue with concatenating null strings with OData translator
> -----------------------------------------------------------
>
> Key: TEIID-5281
> URL: https://issues.jboss.org/browse/TEIID-5281
> Project: Teiid
> Issue Type: Bug
> Components: OData
> Affects Versions: 8.12.11.6_4
> Reporter: Jan Martiska
> Assignee: Steven Hawkins
> Priority: Minor
> Fix For: 10.0.4, 10.2, 10.1.2
>
>
> There is a difference in behavior of {{CONCAT(x,y)}} function in Teiid SQL and the {{concat(x,y)}} filtering function in OData - the SQL function will return null if one of the arguments is null, but the OData function will return the non-null argument in this case.
> This leads to some peculiar behavior that for rows where A='10' and B=null, the query
> {noformat}
> SELECT concat(A, B) = '10'
> FROM BQT1.SmallA
> WHERE concat(A, B) = '10';
> {noformat}
> will return a row containing {{false}}, because the expression in the SELECT clause will be evaluated by Teiid, whereas the one in the WHERE clause will be evaluated by the OData {{concat}} function.
> This is against the documented behavior of Teiid's {{CONCAT}} function, because such row should not be returned at all.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (TEIID-5283) Recursive WITH query results in "java.lang.ClassCastException: org.teiid.query.sql.lang.Query cannot be cast to org.teiid.query.sql.lang.SetQuery"
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5283?page=com.atlassian.jira.plugin... ]
Work on TEIID-5283 started by Steven Hawkins.
---------------------------------------------
> Recursive WITH query results in "java.lang.ClassCastException: org.teiid.query.sql.lang.Query cannot be cast to org.teiid.query.sql.lang.SetQuery"
> --------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: TEIID-5283
> URL: https://issues.jboss.org/browse/TEIID-5283
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12.11.6_4
> Reporter: Marc Shirley
> Assignee: Steven Hawkins
>
> Executing a query using a recursive WITH clause results in the error:
> ERROR [org.teiid.PROCESSOR] (Worker1_QueryProcessorQueue29) TEIID30019 Unexpected exception for request juY1MrNVs8vD.7: java.lang.ClassCastException: org.teiid.query.sql.lang.Query cannot be cast to org.teiid.query.sql.lang.SetQuery
> at org.teiid.query.optimizer.relational.RelationalPlanner.planWith(RelationalPlanner.java:327) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:208) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:159) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:448) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.Request.processRequest(Request.java:476) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:642) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:337) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:284) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_151]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_151]
> at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151]
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (TEIID-5283) Recursive WITH query results in "java.lang.ClassCastException: org.teiid.query.sql.lang.Query cannot be cast to org.teiid.query.sql.lang.SetQuery"
by Marc Shirley (JIRA)
Marc Shirley created TEIID-5283:
-----------------------------------
Summary: Recursive WITH query results in "java.lang.ClassCastException: org.teiid.query.sql.lang.Query cannot be cast to org.teiid.query.sql.lang.SetQuery"
Key: TEIID-5283
URL: https://issues.jboss.org/browse/TEIID-5283
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 8.12.11.6_4
Reporter: Marc Shirley
Assignee: Steven Hawkins
Executing a query using a recursive WITH clause results in the error:
ERROR [org.teiid.PROCESSOR] (Worker1_QueryProcessorQueue29) TEIID30019 Unexpected exception for request juY1MrNVs8vD.7: java.lang.ClassCastException: org.teiid.query.sql.lang.Query cannot be cast to org.teiid.query.sql.lang.SetQuery
at org.teiid.query.optimizer.relational.RelationalPlanner.planWith(RelationalPlanner.java:327) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:208) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:159) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:448) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
at org.teiid.dqp.internal.process.Request.processRequest(Request.java:476) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:642) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:337) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:284) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_151]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_151]
at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151]
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (TEIID-5281) Issue with concatenating null strings with OData translator
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5281?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-5281:
---------------------------------------
Yes, that is the root of this issue. We also need to update substring sql generation.
> Issue with concatenating null strings with OData translator
> -----------------------------------------------------------
>
> Key: TEIID-5281
> URL: https://issues.jboss.org/browse/TEIID-5281
> Project: Teiid
> Issue Type: Bug
> Components: OData
> Affects Versions: 8.12.11.6_4
> Reporter: Jan Martiska
> Assignee: Steven Hawkins
> Priority: Minor
>
> There is a difference in behavior of {{CONCAT(x,y)}} function in Teiid SQL and the {{concat(x,y)}} filtering function in OData - the SQL function will return null if one of the arguments is null, but the OData function will return the non-null argument in this case.
> This leads to some peculiar behavior that for rows where A='10' and B=null, the query
> {noformat}
> SELECT concat(A, B) = '10'
> FROM BQT1.SmallA
> WHERE concat(A, B) = '10';
> {noformat}
> will return a row containing {{false}}, because the expression in the SELECT clause will be evaluated by Teiid, whereas the one in the WHERE clause will be evaluated by the OData {{concat}} function.
> This is against the documented behavior of Teiid's {{CONCAT}} function, because such row should not be returned at all.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (TEIID-5281) Issue with concatenating null strings with OData translator
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5281?page=com.atlassian.jira.plugin... ]
Work on TEIID-5281 started by Steven Hawkins.
---------------------------------------------
> Issue with concatenating null strings with OData translator
> -----------------------------------------------------------
>
> Key: TEIID-5281
> URL: https://issues.jboss.org/browse/TEIID-5281
> Project: Teiid
> Issue Type: Bug
> Components: OData
> Affects Versions: 8.12.11.6_4
> Reporter: Jan Martiska
> Assignee: Steven Hawkins
> Priority: Minor
>
> There is a difference in behavior of {{CONCAT(x,y)}} function in Teiid SQL and the {{concat(x,y)}} filtering function in OData - the SQL function will return null if one of the arguments is null, but the OData function will return the non-null argument in this case.
> This leads to some peculiar behavior that for rows where A='10' and B=null, the query
> {noformat}
> SELECT concat(A, B) = '10'
> FROM BQT1.SmallA
> WHERE concat(A, B) = '10';
> {noformat}
> will return a row containing {{false}}, because the expression in the SELECT clause will be evaluated by Teiid, whereas the one in the WHERE clause will be evaluated by the OData {{concat}} function.
> This is against the documented behavior of Teiid's {{CONCAT}} function, because such row should not be returned at all.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (TEIID-5281) Issue with concatenating null strings with OData translator
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-5281?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-5281:
-------------------------------------
I think this is an issue in the Teiid's OData implementation. We used CONCAT2 instead of CONCAT here
https://github.com/rareddy/teiid/blob/master/olingo/src/main/java/org/tei...
which explains the difference in behavior.
I could not verify the behavior at reference service.
> Issue with concatenating null strings with OData translator
> -----------------------------------------------------------
>
> Key: TEIID-5281
> URL: https://issues.jboss.org/browse/TEIID-5281
> Project: Teiid
> Issue Type: Bug
> Components: OData
> Affects Versions: 8.12.11.6_4
> Reporter: Jan Martiska
> Assignee: Steven Hawkins
> Priority: Minor
>
> There is a difference in behavior of {{CONCAT(x,y)}} function in Teiid SQL and the {{concat(x,y)}} filtering function in OData - the SQL function will return null if one of the arguments is null, but the OData function will return the non-null argument in this case.
> This leads to some peculiar behavior that for rows where A='10' and B=null, the query
> {noformat}
> SELECT concat(A, B) = '10'
> FROM BQT1.SmallA
> WHERE concat(A, B) = '10';
> {noformat}
> will return a row containing {{false}}, because the expression in the SELECT clause will be evaluated by Teiid, whereas the one in the WHERE clause will be evaluated by the OData {{concat}} function.
> This is against the documented behavior of Teiid's {{CONCAT}} function, because such row should not be returned at all.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years