[JBoss JIRA] (TEIID-5106) Tables names are case sensitive in Postgres/Oracle/MSSQL but not in Teiid.
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5106?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5106.
-----------------------------------
Resolution: Done
Added a renameDuplicateTables property as well. If any other schema objects need this type of collision handling we'll probably need to offer a general renameDuplicate property as well.
> Tables names are case sensitive in Postgres/Oracle/MSSQL but not in Teiid.
> --------------------------------------------------------------------------
>
> Key: TEIID-5106
> URL: https://issues.jboss.org/browse/TEIID-5106
> Project: Teiid
> Issue Type: Quality Risk
> Components: JDBC Connector
> Reporter: sameer P
> Assignee: Steven Hawkins
> Fix For: 10.0
>
>
> In Postgres/Oracle/MS , I can create two tables with the same name (but different cases): test12 and Test12 (by quoting it in create script) , but, Teiid complains saying duplicate table name and fails with the below error:
> {code:java}
> 16:53:11,161 WARN [org.teiid.RUNTIME] (Worker0_async-teiid-threads0) TEIID50036 VDB test.1 model "dsms" metadata failed to load. Reason:TEIID60013 Duplicate Table public.test12: org.teiid.metadata.DuplicateRecordException: TEIID60013 Duplicate Table public.test12
> at org.teiid.metadata.Schema.addTable(Schema.java:51)
> at org.teiid.metadata.MetadataFactory.addTable(MetadataFactory.java:179)
> at org.teiid.translator.jdbc.JDBCMetdataProcessor.addTable(JDBCMetdataProcessor.java:368)
> at org.teiid.translator.jdbc.JDBCMetdataProcessor.addTable(JDBCMetdataProcessor.java:351)
> at org.teiid.translator.jdbc.JDBCMetdataProcessor.getTables(JDBCMetdataProcessor.java:324)
> at org.teiid.translator.jdbc.JDBCMetdataProcessor.getConnectorMetadata(JDBCMetdataProcessor.java:166)
> at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:306)
> at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:69)
> at org.teiid.query.metadata.NativeMetadataRepository.getMetadata(NativeMetadataRepository.java:96)
> at org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:62)
> at org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55)
> at org.teiid.jboss.VDBService$6.run(VDBService.java:341)
> at org.teiid.jboss.VDBService$7.run(VDBService.java:392)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:284)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 5 months
[JBoss JIRA] (TEIID-4099) Improve with clause performance
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4099?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4099.
-----------------------------------
Resolution: Done
To scan all predicates and create disjuncts works in some scenarios, but does not work for correlated queries unless a dependent join is effectively created.
So the approach taken was to automatically create implicit non-covering indexes based upon comparisons sent to the temp table.
The associated test case testWithImplicitIndexing, features a query "with a (x, y, z) as /*+ no_inline */ (select e1, e2, e3 from pm1.g1) select (select max(x) from a where y = pm1.g2.e2), pm1.g2.* from pm1.g2"
Which for the given rows counts processes in ~3% of the time with the optimization than without as the correlation can be looked up in log time vs. a full scan.
> Improve with clause performance
> -------------------------------
>
> Key: TEIID-4099
> URL: https://issues.jboss.org/browse/TEIID-4099
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 10.0
>
>
> We should do more to analyze predicates to determine if the rows of the common table can be limited or if an index can be automatically added.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 5 months
[JBoss JIRA] (TEIID-4099) Improve with clause performance
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4099?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4099:
----------------------------------
Description: We should do more to analyze predicates to determine if the rows of the common table can be limited or if an index can be automatically added. (was: When a with clause item is first referenced it is fully materialized before use. We should generally allow iterative processing for full table scans - in scenarios where the table hasn't been augmented to add inferred indexes.
Another possible improvement to consider would be to fully analyse the predicates used against the common table to determine if a disjunct of all would limit the rows needed.)
Summary: Improve with clause performance (was: Improve with clause performance with incremental materialization)
> Improve with clause performance
> -------------------------------
>
> Key: TEIID-4099
> URL: https://issues.jboss.org/browse/TEIID-4099
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 10.0
>
>
> We should do more to analyze predicates to determine if the rows of the common table can be limited or if an index can be automatically added.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 5 months
[JBoss JIRA] (TEIID-5093) Amazon s3 csv/xml lookup querry exception
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-5093?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-5093:
-------------------------------------
[~jstastny] What is the exception you see when you used CSV data? it could not have been "streaming" error as indicated originally. In XMLPARSE situation it is explainable as the stream is being read twice, on file case I am not sure. Either way, this is not specific to S3.
[~vhalbert2] Is there a reason this bumped to blocker? if it is not related S3, I suspect this existed in prior releases too.
> Amazon s3 csv/xml lookup querry exception
> -----------------------------------------
>
> Key: TEIID-5093
> URL: https://issues.jboss.org/browse/TEIID-5093
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.x-6.4
> Reporter: Mario Majernik
> Assignee: Steven Hawkins
> Priority: Blocker
>
> Querry :
> {code:java}
> SELECT IntKey, StringKey, lookup('BQT1.SmallB', 'DoubleNum', 'IntKey', IntKey) AS DoubleNum FROM BQT1.SmallA UNION SELECT IntKey, lookup('BQT1.SmallA', 'StringKey', 'IntKey', IntKey) AS StringKey, DoubleNum FROM BQT1.SmallA
> {code}
> returns TeiidSQLException for csv and xml files from amazon s3.
> Stacktrace:
> {code:java}
> WARN [org.teiid.PROCESSOR] (Worker2_QueryProcessorQueue41) TEIID30020 Processing exception for request 8O9K6VJIjd9y.7 'TEIID30180 java.sql.SQLException: java.sql.SQLException: TEIID60019 Streaming result has already been read once. Ensure that only one read operation needs to be performed, for example XMLPARSE without the WELLFORMED operation must read the entire stream to validate its contents. Or you may choose to use a non-streaming result. '. Originally TeiidProcessingException BinaryWSProcedureExecution.java:78. Enable more detailed logging to see the entire stacktrace.
> {code}
> Teiid command log for querry:
> {code:java}
> 15:11:34,160 INFO [org.teiid.COMMAND_LOG] (New I/O worker #2) 8O9K6VJIjd9y START USER COMMAND: startTime=2017-10-09 15:11:34.16 requestID=8O9K6VJIjd9y.7 txID=null sessionID=8O9K6VJIjd9y applicationName=JDBC principal=user@teiid-security vdbName=csv vdbVersion=1 sql=SELECT IntKey, StringKey, lookup('BQT1.SmallB', 'DoubleNum', 'IntKey', IntKey) AS DoubleNum FROM BQT1.SmallA UNION SELECT IntKey, lookup('BQT1.SmallA', 'StringKey', 'IntKey', IntKey) AS StringKey, DoubleNum FROM BQT1.SmallA
> 15:11:34,192 DEBUG [org.teiid.COMMAND_LOG] (Worker0_QueryProcessorQueue40) 8O9K6VJIjd9y START DATA SRC COMMAND: startTime=2017-10-09 15:11:34.192 requestID=8O9K6VJIjd9y.7 sourceCommandID=6 executionID=2 txID=null modelName=sourceModel translatorName=user-s3 sessionID=8O9K6VJIjd9y principal=user@teiid-security sql=EXEC sourceModel.getTextFile('csv/smallaCsv.csv')
> 15:11:34,856 DEBUG [org.teiid.COMMAND_LOG] (Worker2_QueryProcessorQueue41) 8O9K6VJIjd9y END SRC COMMAND: endTime=2017-10-09 15:11:34.856 requestID=8O9K6VJIjd9y.7 sourceCommandID=6 executionID=2 txID=null modelName=sourceModel translatorName=user-s3 sessionID=8O9K6VJIjd9y principal=user@teiid-security finalRowCount=1 cpuTime(ns)=34673443
> 15:11:34,862 INFO [org.teiid.COMMAND_LOG] (Worker2_QueryProcessorQueue41) 8O9K6VJIjd9y ERROR USER COMMAND: endTime=2017-10-09 15:11:34.862 requestID=8O9K6VJIjd9y.7 txID=null sessionID=8O9K6VJIjd9y principal=user@teiid-security vdbName=csv vdbVersion=1 finalRowCount=null
> 15:11:34,876 INFO [org.teiid.COMMAND_LOG] (Worker2_QueryProcessorQueue41) 8O9K6VJIjd9y END USER COMMAND: endTime=2017-10-09 15:11:34.876 requestID=8O9K6VJIjd9y.7 txID=null sessionID=8O9K6VJIjd9y principal=user@teiid-security vdbName=csv vdbVersion=1 finalRowCount=0
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 5 months
[JBoss JIRA] (TEIID-5107) teiid-olingo-*.war not deploying in wildfly when using domain
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-5107?page=com.atlassian.jira.plugin... ]
Ramesh Reddy resolved TEIID-5107.
---------------------------------
Fix Version/s: 9.3.4
9.2.7
Resolution: Done
added following script to `teiid-domain-mode-install.cli` script file
{code}
/deployment=teiid-olingo-odata4.war:add(runtime-name=teiid-olingo-odata4.war,content=[{path=modules/system/layers/dv/org/jboss/teiid/main/deployments/teiid-olingo-odata4.war/,archive=false,relative-to=jboss.home.dir}])
/server-group=main-server-group/deployment=teiid-olingo-odata4.war:add(enabled=true)
{code}
> teiid-olingo-*.war not deploying in wildfly when using domain
> -------------------------------------------------------------
>
> Key: TEIID-5107
> URL: https://issues.jboss.org/browse/TEIID-5107
> Project: Teiid
> Issue Type: Bug
> Components: OData
> Affects Versions: 9.2
> Reporter: Van Halbert
> Assignee: Ramesh Reddy
> Priority: Critical
> Fix For: 10.0, 9.3.4, 9.2.7
>
>
> The Teiid odata war is only deploying in standalone.
> The workaround in domain mode is to re-deploy the war using the admin console.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 5 months
[JBoss JIRA] (TEIID-5106) Tables names are case sensitive in Postgres/Oracle/MSSQL but not in Teiid.
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5106?page=com.atlassian.jira.plugin... ]
Work on TEIID-5106 started by Steven Hawkins.
---------------------------------------------
> Tables names are case sensitive in Postgres/Oracle/MSSQL but not in Teiid.
> --------------------------------------------------------------------------
>
> Key: TEIID-5106
> URL: https://issues.jboss.org/browse/TEIID-5106
> Project: Teiid
> Issue Type: Quality Risk
> Components: JDBC Connector
> Reporter: sameer P
> Assignee: Steven Hawkins
> Fix For: 10.0
>
>
> In Postgres/Oracle/MS , I can create two tables with the same name (but different cases): test12 and Test12 (by quoting it in create script) , but, Teiid complains saying duplicate table name and fails with the below error:
> {code:java}
> 16:53:11,161 WARN [org.teiid.RUNTIME] (Worker0_async-teiid-threads0) TEIID50036 VDB test.1 model "dsms" metadata failed to load. Reason:TEIID60013 Duplicate Table public.test12: org.teiid.metadata.DuplicateRecordException: TEIID60013 Duplicate Table public.test12
> at org.teiid.metadata.Schema.addTable(Schema.java:51)
> at org.teiid.metadata.MetadataFactory.addTable(MetadataFactory.java:179)
> at org.teiid.translator.jdbc.JDBCMetdataProcessor.addTable(JDBCMetdataProcessor.java:368)
> at org.teiid.translator.jdbc.JDBCMetdataProcessor.addTable(JDBCMetdataProcessor.java:351)
> at org.teiid.translator.jdbc.JDBCMetdataProcessor.getTables(JDBCMetdataProcessor.java:324)
> at org.teiid.translator.jdbc.JDBCMetdataProcessor.getConnectorMetadata(JDBCMetdataProcessor.java:166)
> at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:306)
> at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:69)
> at org.teiid.query.metadata.NativeMetadataRepository.getMetadata(NativeMetadataRepository.java:96)
> at org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:62)
> at org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55)
> at org.teiid.jboss.VDBService$6.run(VDBService.java:341)
> at org.teiid.jboss.VDBService$7.run(VDBService.java:392)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:284)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 5 months
[JBoss JIRA] (TEIID-5106) Tables names are case sensitive in Postgres/Oracle/MSSQL but not in Teiid.
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5106?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-5106:
----------------------------------
Fix Version/s: 10.0
> Tables names are case sensitive in Postgres/Oracle/MSSQL but not in Teiid.
> --------------------------------------------------------------------------
>
> Key: TEIID-5106
> URL: https://issues.jboss.org/browse/TEIID-5106
> Project: Teiid
> Issue Type: Quality Risk
> Components: JDBC Connector
> Reporter: sameer P
> Assignee: Steven Hawkins
> Fix For: 10.0
>
>
> In Postgres/Oracle/MS , I can create two tables with the same name (but different cases): test12 and Test12 (by quoting it in create script) , but, Teiid complains saying duplicate table name and fails with the below error:
> {code:java}
> 16:53:11,161 WARN [org.teiid.RUNTIME] (Worker0_async-teiid-threads0) TEIID50036 VDB test.1 model "dsms" metadata failed to load. Reason:TEIID60013 Duplicate Table public.test12: org.teiid.metadata.DuplicateRecordException: TEIID60013 Duplicate Table public.test12
> at org.teiid.metadata.Schema.addTable(Schema.java:51)
> at org.teiid.metadata.MetadataFactory.addTable(MetadataFactory.java:179)
> at org.teiid.translator.jdbc.JDBCMetdataProcessor.addTable(JDBCMetdataProcessor.java:368)
> at org.teiid.translator.jdbc.JDBCMetdataProcessor.addTable(JDBCMetdataProcessor.java:351)
> at org.teiid.translator.jdbc.JDBCMetdataProcessor.getTables(JDBCMetdataProcessor.java:324)
> at org.teiid.translator.jdbc.JDBCMetdataProcessor.getConnectorMetadata(JDBCMetdataProcessor.java:166)
> at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:306)
> at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:69)
> at org.teiid.query.metadata.NativeMetadataRepository.getMetadata(NativeMetadataRepository.java:96)
> at org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:62)
> at org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55)
> at org.teiid.jboss.VDBService$6.run(VDBService.java:341)
> at org.teiid.jboss.VDBService$7.run(VDBService.java:392)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:284)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 5 months
[JBoss JIRA] (TEIID-4099) Improve with clause performance with incremental materialization
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4099?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4099:
---------------------------------------
Looking into this more incremental materialization should be separated as a general issue for materialized view.
What I'm assessing here is now just additional logic around predicates / ordering to apply indexing when beneficial.
> Improve with clause performance with incremental materialization
> ----------------------------------------------------------------
>
> Key: TEIID-4099
> URL: https://issues.jboss.org/browse/TEIID-4099
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 10.0
>
>
> When a with clause item is first referenced it is fully materialized before use. We should generally allow iterative processing for full table scans - in scenarios where the table hasn't been augmented to add inferred indexes.
> Another possible improvement to consider would be to fully analyse the predicates used against the common table to determine if a disjunct of all would limit the rows needed.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 5 months