[JBoss JIRA] (TEIID-5927) S3 translator can not support minIO endpoint
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5927?page=com.atlassian.jira.plugi... ]
Steven Hawkins updated TEIID-5927:
----------------------------------
Original Estimate: 6 hours
Remaining Estimate: 6 hours
Story Points: 1 (was: 2)
> S3 translator can not support minIO endpoint
> --------------------------------------------
>
> Key: TEIID-5927
> URL: https://issues.redhat.com/browse/TEIID-5927
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Reporter: Rui Wang
> Assignee: Steven Hawkins
> Priority: Major
> Fix For: 14.0
>
> Original Estimate: 6 hours
> Remaining Estimate: 6 hours
>
> When I try to config my on own minIO storage to teiied RA, get following error, seems it tied directly with amazon endpoints, could you pls takes an enhancement to make it generic so it can be used with minio stores. Thanks a lot.
> <resource-adapter id="webservice">
> <module slot="main" id="org.jboss.teiid.resource-adapter.webservice"/>
> <connection-definitions>
> <connection-definition class-name="org.teiid.resource.adapter.ws.WSManagedConnectionFactory" jndi-name="java:/wsDS" enabled="true" use-java-context="true" pool-name="wsDS">
> <config-property name="EndPoint">
> http://myMinioIp:9091/minio/bucket1/
> </config-property>
> </connection-definition>
> </connection-definitions>
> </resource-adapter>
>
>
> Exception in thread "main" org.teiid.jdbc.TeiidSQLException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 web-connector: Error reading the file https://s3.amazonaws.com/bucket1/price.csv; The response code returned 403. Details: <?xml version="1.0" encoding="UTF-8"?>
> <Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>minioadmin</AWSAccessKeyId><RequestId>EB7421ECD8EF9B88</RequestId><HostId>m3fHokjXC5shrV+y+2vIHl7KNcr46RvoKRXuZ8TnU4fiZyi1XG6rT9DiTu6yRZfg328QGcr2w+A=</HostId></Error>
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:131)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:67)
> at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:783)
> at org.teiid.jdbc.StatementImpl.access$100(StatementImpl.java:62)
> at org.teiid.jdbc.StatementImpl$2.onCompletion(StatementImpl.java:581)
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:131)
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:36)
> at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:75)
> at org.teiid.net.socket.SocketServerInstanceImpl.receivedMessage(SocketServerInstanceImpl.java:281)
> at org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:333)
> at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:423)
> at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:590)
> at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:420)
> at org.teiid.jdbc.StatementImpl.executeQuery(StatementImpl.java:351)
> at com.ibm.vdb.TeiidFile.showVdbInfo(TeiidFile.java:181)
> at com.ibm.vdb.TeiidFile.main(TeiidFile.java:205)
> Caused by: org.teiid.core.TeiidProcessingException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 web-connector: Error reading the file https://s3.amazonaws.com/bucket1/price.csv; The response code returned 403. Details: <?xml version="1.0" encoding="UTF-8"?>
> <Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>minioadmin</AWSAccessKeyId><RequestId>EB7421ECD8EF9B88</RequestId><HostId>m3fHokjXC5shrV+y+2vIHl7KNcr46RvoKRXuZ8TnU4fiZyi1XG6rT9DiTu6yRZfg328QGcr2w+A=</HostId></Error>
> at org.teiid.dqp.internal.process.DataTierTupleSource.exceptionOccurred(DataTierTupleSource.java:397)
> at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:157)
> at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:401)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:160)
> at org.teiid.query.processor.relational.SourceState.prefetch(SourceState.java:207)
> at org.teiid.query.processor.relational.SourceState.rowCountLE(SourceState.java:154)
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirectInternal(JoinNode.java:252)
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:195)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:139)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:147)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:110)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:160)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:142)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:492)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:362)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:43)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:285)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:281)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:124)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$2.run(ThreadReuseExecutor.java:212)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: org.teiid.core.TeiidException: Remote org.teiid.translator.TranslatorException: Error reading the file https://s3.amazonaws.com/bucket1/price.csv; The response code returned 403. Details: <?xml version="1.0" encoding="UTF-8"?>
> <Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>minioadmin</AWSAccessKeyId><RequestId>EB7421ECD8EF9B88</RequestId><HostId>m3fHokjXC5shrV+y+2vIHl7KNcr46RvoKRXuZ8TnU4fiZyi1XG6rT9DiTu6yRZfg328QGcr2w+A=</HostId></Error>
> at org.teiid.translator.amazon.s3.S3ProcedureExecution.execute(S3ProcedureExecution.java:114)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:402)
> 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:498)
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:228)
> at com.sun.proxy.$Proxy43.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:302)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:104)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:59)
> ... 6 more
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 8 months
[JBoss JIRA] (TEIID-5927) S3 translator can not support minIO endpoint
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5927?page=com.atlassian.jira.plugi... ]
Work on TEIID-5927 started by Steven Hawkins.
---------------------------------------------
> S3 translator can not support minIO endpoint
> --------------------------------------------
>
> Key: TEIID-5927
> URL: https://issues.redhat.com/browse/TEIID-5927
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Reporter: Rui Wang
> Assignee: Steven Hawkins
> Priority: Major
> Fix For: 14.0
>
>
> When I try to config my on own minIO storage to teiied RA, get following error, seems it tied directly with amazon endpoints, could you pls takes an enhancement to make it generic so it can be used with minio stores. Thanks a lot.
> <resource-adapter id="webservice">
> <module slot="main" id="org.jboss.teiid.resource-adapter.webservice"/>
> <connection-definitions>
> <connection-definition class-name="org.teiid.resource.adapter.ws.WSManagedConnectionFactory" jndi-name="java:/wsDS" enabled="true" use-java-context="true" pool-name="wsDS">
> <config-property name="EndPoint">
> http://myMinioIp:9091/minio/bucket1/
> </config-property>
> </connection-definition>
> </connection-definitions>
> </resource-adapter>
>
>
> Exception in thread "main" org.teiid.jdbc.TeiidSQLException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 web-connector: Error reading the file https://s3.amazonaws.com/bucket1/price.csv; The response code returned 403. Details: <?xml version="1.0" encoding="UTF-8"?>
> <Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>minioadmin</AWSAccessKeyId><RequestId>EB7421ECD8EF9B88</RequestId><HostId>m3fHokjXC5shrV+y+2vIHl7KNcr46RvoKRXuZ8TnU4fiZyi1XG6rT9DiTu6yRZfg328QGcr2w+A=</HostId></Error>
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:131)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:67)
> at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:783)
> at org.teiid.jdbc.StatementImpl.access$100(StatementImpl.java:62)
> at org.teiid.jdbc.StatementImpl$2.onCompletion(StatementImpl.java:581)
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:131)
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:36)
> at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:75)
> at org.teiid.net.socket.SocketServerInstanceImpl.receivedMessage(SocketServerInstanceImpl.java:281)
> at org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:333)
> at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:423)
> at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:590)
> at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:420)
> at org.teiid.jdbc.StatementImpl.executeQuery(StatementImpl.java:351)
> at com.ibm.vdb.TeiidFile.showVdbInfo(TeiidFile.java:181)
> at com.ibm.vdb.TeiidFile.main(TeiidFile.java:205)
> Caused by: org.teiid.core.TeiidProcessingException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 web-connector: Error reading the file https://s3.amazonaws.com/bucket1/price.csv; The response code returned 403. Details: <?xml version="1.0" encoding="UTF-8"?>
> <Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>minioadmin</AWSAccessKeyId><RequestId>EB7421ECD8EF9B88</RequestId><HostId>m3fHokjXC5shrV+y+2vIHl7KNcr46RvoKRXuZ8TnU4fiZyi1XG6rT9DiTu6yRZfg328QGcr2w+A=</HostId></Error>
> at org.teiid.dqp.internal.process.DataTierTupleSource.exceptionOccurred(DataTierTupleSource.java:397)
> at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:157)
> at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:401)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:160)
> at org.teiid.query.processor.relational.SourceState.prefetch(SourceState.java:207)
> at org.teiid.query.processor.relational.SourceState.rowCountLE(SourceState.java:154)
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirectInternal(JoinNode.java:252)
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:195)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:139)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:147)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:110)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:160)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:142)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:492)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:362)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:43)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:285)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:281)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:124)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$2.run(ThreadReuseExecutor.java:212)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: org.teiid.core.TeiidException: Remote org.teiid.translator.TranslatorException: Error reading the file https://s3.amazonaws.com/bucket1/price.csv; The response code returned 403. Details: <?xml version="1.0" encoding="UTF-8"?>
> <Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>minioadmin</AWSAccessKeyId><RequestId>EB7421ECD8EF9B88</RequestId><HostId>m3fHokjXC5shrV+y+2vIHl7KNcr46RvoKRXuZ8TnU4fiZyi1XG6rT9DiTu6yRZfg328QGcr2w+A=</HostId></Error>
> at org.teiid.translator.amazon.s3.S3ProcedureExecution.execute(S3ProcedureExecution.java:114)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:402)
> 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:498)
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:228)
> at com.sun.proxy.$Proxy43.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:302)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:104)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:59)
> ... 6 more
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 8 months
[JBoss JIRA] (TEIID-5934) Inappropriate aggregate pushdown over nested table join
by Steven Hawkins (Jira)
Steven Hawkins created TEIID-5934:
-------------------------------------
Summary: Inappropriate aggregate pushdown over nested table join
Key: TEIID-5934
URL: https://issues.redhat.com/browse/TEIID-5934
Project: Teiid
Issue Type: Bug
Components: Query Engine
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 14.0
Related to TEIID-5932, a query with multiple lateral joins and a group by is optimized incorrectly. Altering the unit test query to:
{code}
SELECT xt.event_id, count(*) FROM tbl AS d,
TABLE (select d.event_id from tbl limit 1) xt
LEFT JOIN TABLE (select tbl.str as some_col from tbl where str = 'a' || d.str) xt2
ON xt.event_id = -1
group by xt.event_id
{code}
Results in a processing error because the initial pushdown for tbl only selects count star and does not select tbl.str.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 8 months
[JBoss JIRA] (TEIID-5932) LATERAL LEFT JOIN can return duplicate rows at batch boundaries
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5932?page=com.atlassian.jira.plugi... ]
Steven Hawkins updated TEIID-5932:
----------------------------------
Summary: LATERAL LEFT JOIN can return duplicate rows at batch boundaries (was: HAVING in combination with LEFT JOIN of two XMLTABLE sub-queries returns an incorrect result)
> LATERAL LEFT JOIN can return duplicate rows at batch boundaries
> ---------------------------------------------------------------
>
> Key: TEIID-5932
> URL: https://issues.redhat.com/browse/TEIID-5932
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 13.1
> Reporter: Dmitrii Pogorelov
> Assignee: Steven Hawkins
> Priority: Blocker
> Fix For: 14.0, 13.0.3, 13.1.1
>
> Original Estimate: 4 hours
> Time Spent: 5 hours, 30 minutes
> Remaining Estimate: 0 minutes
>
> HAVING in combination with LEFT JOIN of two XMLTABLE sub-queries returns an incorrect result if one of XMLTABLE sub-queries has INNER, LEFT or CROSS JOIN instead of a lateral one and amount of rows in the source is equal or more than 1024. For example, the query:
> {code:sql}
> SELECT
> xt.event_id
> FROM test_dwh_pg.test_having AS d
> --here
> INNER JOIN XMLTABLE(
> '/root'
> PASSING JSONTOXML('root', d.str)
> COLUMNS
> event_id string PATH 'eventid'
> ) xt
> ON TRUE
> LEFT JOIN XMLTABLE(
> '/anything'
> PASSING JSONTOXML('anything', d.str)
> COLUMNS
> some_col string PATH 'anything'
> ) xt2
> ON xt.event_id = 'xxx'
> GROUP BY event_id
> HAVING COUNT(*) > 1 ;;
> {code}
> will return a result but it should return no results as there are no duplicates in test data.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 8 months
[JBoss JIRA] (TEIID-5932) HAVING in combination with LEFT JOIN of two XMLTABLE sub-queries returns an incorrect result
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5932?focusedWorklogId=12450816&pag... ]
Steven Hawkins logged work on TEIID-5932:
-----------------------------------------
Author: Steven Hawkins
Created on: 13/Apr/20 10:21 PM
Start Date: 13/Apr/20 10:21 PM
Worklog Time Spent: 5 hours, 30 minutes
Issue Time Tracking
-------------------
Remaining Estimate: 0 minutes (was: 4 hours)
Time Spent: 5 hours, 30 minutes
Worklog Id: (was: 12450816)
> HAVING in combination with LEFT JOIN of two XMLTABLE sub-queries returns an incorrect result
> --------------------------------------------------------------------------------------------
>
> Key: TEIID-5932
> URL: https://issues.redhat.com/browse/TEIID-5932
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 13.1
> Reporter: Dmitrii Pogorelov
> Assignee: Steven Hawkins
> Priority: Blocker
> Fix For: 14.0, 13.0.3, 13.1.1
>
> Original Estimate: 4 hours
> Time Spent: 5 hours, 30 minutes
> Remaining Estimate: 0 minutes
>
> HAVING in combination with LEFT JOIN of two XMLTABLE sub-queries returns an incorrect result if one of XMLTABLE sub-queries has INNER, LEFT or CROSS JOIN instead of a lateral one and amount of rows in the source is equal or more than 1024. For example, the query:
> {code:sql}
> SELECT
> xt.event_id
> FROM test_dwh_pg.test_having AS d
> --here
> INNER JOIN XMLTABLE(
> '/root'
> PASSING JSONTOXML('root', d.str)
> COLUMNS
> event_id string PATH 'eventid'
> ) xt
> ON TRUE
> LEFT JOIN XMLTABLE(
> '/anything'
> PASSING JSONTOXML('anything', d.str)
> COLUMNS
> some_col string PATH 'anything'
> ) xt2
> ON xt.event_id = 'xxx'
> GROUP BY event_id
> HAVING COUNT(*) > 1 ;;
> {code}
> will return a result but it should return no results as there are no duplicates in test data.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 8 months
[JBoss JIRA] (TEIID-5932) HAVING in combination with LEFT JOIN of two XMLTABLE sub-queries returns an incorrect result
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5932?page=com.atlassian.jira.plugi... ]
Steven Hawkins resolved TEIID-5932.
-----------------------------------
Fix Version/s: 14.0
13.0.3
13.1.1
Resolution: Done
The issue was with the left outer join handling in the nested table processing. When the batch was filled due to no outer match it was skipping the remaining processing that should have been run regardless.
Also note that the way queries are written are not equivalent forms. The lateral join form is the same as d cross join (xt left outer join xt2 on ...)
The others associate the other way: (d inner join xt on ...) left outer join xt2 on ...
> HAVING in combination with LEFT JOIN of two XMLTABLE sub-queries returns an incorrect result
> --------------------------------------------------------------------------------------------
>
> Key: TEIID-5932
> URL: https://issues.redhat.com/browse/TEIID-5932
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 13.1
> Reporter: Dmitrii Pogorelov
> Assignee: Steven Hawkins
> Priority: Blocker
> Fix For: 14.0, 13.0.3, 13.1.1
>
>
> HAVING in combination with LEFT JOIN of two XMLTABLE sub-queries returns an incorrect result if one of XMLTABLE sub-queries has INNER, LEFT or CROSS JOIN instead of a lateral one and amount of rows in the source is equal or more than 1024. For example, the query:
> {code:sql}
> SELECT
> xt.event_id
> FROM test_dwh_pg.test_having AS d
> --here
> INNER JOIN XMLTABLE(
> '/root'
> PASSING JSONTOXML('root', d.str)
> COLUMNS
> event_id string PATH 'eventid'
> ) xt
> ON TRUE
> LEFT JOIN XMLTABLE(
> '/anything'
> PASSING JSONTOXML('anything', d.str)
> COLUMNS
> some_col string PATH 'anything'
> ) xt2
> ON xt.event_id = 'xxx'
> GROUP BY event_id
> HAVING COUNT(*) > 1 ;;
> {code}
> will return a result but it should return no results as there are no duplicates in test data.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 8 months
[JBoss JIRA] (TEIID-5932) HAVING in combination with LEFT JOIN of two XMLTABLE sub-queries returns an incorrect result
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5932?page=com.atlassian.jira.plugi... ]
Steven Hawkins updated TEIID-5932:
----------------------------------
Original Estimate: 4 hours
Remaining Estimate: 4 hours
Story Points: 0.5
Sprint: DV Sprint 62
> HAVING in combination with LEFT JOIN of two XMLTABLE sub-queries returns an incorrect result
> --------------------------------------------------------------------------------------------
>
> Key: TEIID-5932
> URL: https://issues.redhat.com/browse/TEIID-5932
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 13.1
> Reporter: Dmitrii Pogorelov
> Assignee: Steven Hawkins
> Priority: Blocker
> Fix For: 14.0, 13.0.3, 13.1.1
>
> Original Estimate: 4 hours
> Remaining Estimate: 4 hours
>
> HAVING in combination with LEFT JOIN of two XMLTABLE sub-queries returns an incorrect result if one of XMLTABLE sub-queries has INNER, LEFT or CROSS JOIN instead of a lateral one and amount of rows in the source is equal or more than 1024. For example, the query:
> {code:sql}
> SELECT
> xt.event_id
> FROM test_dwh_pg.test_having AS d
> --here
> INNER JOIN XMLTABLE(
> '/root'
> PASSING JSONTOXML('root', d.str)
> COLUMNS
> event_id string PATH 'eventid'
> ) xt
> ON TRUE
> LEFT JOIN XMLTABLE(
> '/anything'
> PASSING JSONTOXML('anything', d.str)
> COLUMNS
> some_col string PATH 'anything'
> ) xt2
> ON xt.event_id = 'xxx'
> GROUP BY event_id
> HAVING COUNT(*) > 1 ;;
> {code}
> will return a result but it should return no results as there are no duplicates in test data.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 8 months
[JBoss JIRA] (TEIIDSB-187) Need to pull out the "property prefix" to ExternalSource
by Ramesh Reddy (Jira)
[ https://issues.redhat.com/browse/TEIIDSB-187?page=com.atlassian.jira.plug... ]
Work on TEIIDSB-187 started by Ramesh Reddy.
--------------------------------------------
> Need to pull out the "property prefix" to ExternalSource
> --------------------------------------------------------
>
> Key: TEIIDSB-187
> URL: https://issues.redhat.com/browse/TEIIDSB-187
> Project: Teiid Spring Boot
> Issue Type: Enhancement
> Components: core
> Reporter: Ramesh Reddy
> Assignee: Ramesh Reddy
> Priority: Major
> Fix For: 1.5.0
>
>
> The prefix of the source like "org.spring.teiid.data.xxx" kind of property patterns are defined in the ConnectionFactory classes, this needs to be pulled into ExternalSource class, then this can be one central place everything about translator and source is managed.
> Consider externalizing ExternalSource information into a "json" configuration file, then this can be then used in Operator code load and enforce dependencies and pom file generation and property generation from a single location. Right now all this looks very hacky as it spread out across projects.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 8 months
[JBoss JIRA] (TEIIDSB-185) Add a way to build Keystore and Truststore to Spring Boot engine
by Ramesh Reddy (Jira)
[ https://issues.redhat.com/browse/TEIIDSB-185?page=com.atlassian.jira.plug... ]
Ramesh Reddy resolved TEIIDSB-185.
----------------------------------
Resolution: Done
> Add a way to build Keystore and Truststore to Spring Boot engine
> ----------------------------------------------------------------
>
> Key: TEIIDSB-185
> URL: https://issues.redhat.com/browse/TEIIDSB-185
> Project: Teiid Spring Boot
> Issue Type: Enhancement
> Components: core
> Reporter: Ramesh Reddy
> Assignee: Ramesh Reddy
> Priority: Major
> Fix For: 1.5.0
>
> Original Estimate: 1 day
> Time Spent: 6 hours
> Remaining Estimate: 2 hours
>
> Build KeyStore and TrustStore for Teiid Spring Boot engine, on startup as Beans that can be @Autowired into other components for use.
> The configuration is already available, but currently, it is only being used for transport. This can be reused in components like SFTP, Infinispan, REST like translators where one needs this certificate-based needs.
> If we include connection-level changes this may little larger task than what specified above, which includes changes in Infinispan and REST sources.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 8 months