[JBoss JIRA] (TEIID-5106) Tables names are case sensitive in Postgres/Oracle/MSSQL but not in Teiid.
by sameer P (JIRA)
[ https://issues.jboss.org/browse/TEIID-5106?page=com.atlassian.jira.plugin... ]
sameer P commented on TEIID-5106:
---------------------------------
> are you just wanting to make sure there is built in handling?
> 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)
7 years, 2 months
[JBoss JIRA] (TEIID-5109) Set operations and parenthesis
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIID-5109?page=com.atlassian.jira.plugin... ]
Van Halbert updated TEIID-5109:
-------------------------------
Fix Version/s: 8.12.x-6.4
> Set operations and parenthesis
> ------------------------------
>
> Key: TEIID-5109
> URL: https://issues.jboss.org/browse/TEIID-5109
> Project: Teiid
> Issue Type: Bug
> Components: Connector API, Query Engine
> Reporter: Mike Higgins
> Assignee: Steven Hawkins
> Priority: Blocker
> Fix For: 10.0, 8.12.x-6.4, 9.3.4, 9.2.7
>
>
> Using Teiid 9.2.2 with postgresql, I issue a query structured like this:
>
> (a
> UNION ALL
> b
> UNION ALL
> c)
> INTERSECT
> d
>
> All queries are from a single database.
> This query does not give back the expected result.
> In the plan, I see the query printed with no parenthesis around the unions:
> a UNION ALL b UNION ALL c INTERSECT d
> This gives the same result as the query submitted with no parens in it (the intersect of c and d is unioned with a union b.
> The expepeted result is to preserve the paren so that the intersect is performed against the union of all three tables.
> As a note, using UNION instead of UNION ALL did not preserve the parens, either.
>
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 2 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 commented on TEIID-5106:
---------------------------------------
> However I found that it doesnt work for procedures and procedureparams
That is correct. That is what I meant with "If any other schema objects need this type of collision handling we'll probably need to offer a general renameDuplicate property as well."
The concern with a general property is the danger in masking issues invalid metadata as not all sources return well formed JDBC metadata - it's better to be aware up-front where there may be an issue than to need to check the logs.
Out of curiosity are you actually encountering this scenario, with case collisions in procedure names/parameters, or are you just wanting to make sure there is built in handling?
> 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)
7 years, 2 months
[JBoss JIRA] (TEIID-5106) Tables names are case sensitive in Postgres/Oracle/MSSQL but not in Teiid.
by sameer P (JIRA)
[ https://issues.jboss.org/browse/TEIID-5106?page=com.atlassian.jira.plugin... ]
sameer P edited comment on TEIID-5106 at 10/23/17 9:04 AM:
-----------------------------------------------------------
Thanks [~shawkins] it works for Tables and columns now. However I found that it doesnt work for procedures and procedureparams. Possible to fix the same? :)
was (Author: sameerp):
Thanks Steven it works for Tables and columns now. However I found that it doesnt work for procedures and procedureparams. Possible to fix the same? :)
> 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)
7 years, 2 months
[JBoss JIRA] (TEIID-5106) Tables names are case sensitive in Postgres/Oracle/MSSQL but not in Teiid.
by sameer P (JIRA)
[ https://issues.jboss.org/browse/TEIID-5106?page=com.atlassian.jira.plugin... ]
sameer P commented on TEIID-5106:
---------------------------------
Thanks Steven it works for Tables and columns now. However I found that it doesnt work for procedures and procedureparams. Possible to fix the same? :)
> 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)
7 years, 2 months
[JBoss JIRA] (TEIID-5113) Set operations and parenthesis
by Van Halbert (JIRA)
Van Halbert created TEIID-5113:
----------------------------------
Summary: Set operations and parenthesis
Key: TEIID-5113
URL: https://issues.jboss.org/browse/TEIID-5113
Project: Teiid
Issue Type: Bug
Components: Connector API, Query Engine
Reporter: Van Halbert
Assignee: Steven Hawkins
Priority: Blocker
Fix For: 10.0, 9.3.4, 9.2.7
Using Teiid 9.2.2 with postgresql, I issue a query structured like this:
(a
UNION ALL
b
UNION ALL
c)
INTERSECT
d
All queries are from a single database.
This query does not give back the expected result.
In the plan, I see the query printed with no parenthesis around the unions:
a UNION ALL b UNION ALL c INTERSECT d
This gives the same result as the query submitted with no parens in it (the intersect of c and d is unioned with a union b.
The expepeted result is to preserve the paren so that the intersect is performed against the union of all three tables.
As a note, using UNION instead of UNION ALL did not preserve the parens, either.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 2 months
[JBoss JIRA] (TEIID-4536) Support create schema with multiple statements
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4536?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4536:
---------------------------------------
Unfortunately it will be a breaking change to clarify our naming semantics to allow for schema qualification in creates. I'm not saying that it can't be done as the actual change can be restricted to just ddl statements to minimize the amount of breakage, but something like that would now need to wait for Teiid 11.
> Support create schema with multiple statements
> ----------------------------------------------
>
> Key: TEIID-4536
> URL: https://issues.jboss.org/browse/TEIID-4536
> Project: Teiid
> Issue Type: Sub-task
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 10.x
>
>
> Create schema can support following create statements being directly associated rather than requiring an intermediate use schema
> create schema x
> create view ...
> ...
> ;
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 2 months
[JBoss JIRA] (TEIID-5111) Teiid Designer uses 0 as a default length value
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5111?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5111.
-----------------------------------
Resolution: Done
Updated the logic to treat a 0 length value from Designer as the default/max in all cases.
> Teiid Designer uses 0 as a default length value
> -----------------------------------------------
>
> Key: TEIID-5111
> URL: https://issues.jboss.org/browse/TEIID-5111
> Project: Teiid
> Issue Type: Quality Risk
> Components: Query Engine
> Affects Versions: 8.12
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 10.0
>
>
> If you create a view in teiid designer, but define it with an expression:
> select case when rand() < .5 then 'heads' else 'tails' end as x
> A string column length will be set to 0. On the server this may cause issues such as with the odata layer that will check facets against the length of 0.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 2 months