[teiid-issues] [JBoss JIRA] (TEIID-2993) Adding source table with quoted name results in wrong generated SQL statement

Steven Hawkins (JIRA) issues at jboss.org
Fri Jun 6 08:58:16 EDT 2014


    [ https://issues.jboss.org/browse/TEIID-2993?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12974129#comment-12974129 ] 

Steven Hawkins commented on TEIID-2993:
---------------------------------------

This has been the parsing behavior since the old MMX days.  There are a couple of reasons for this.  One is that I believe they wanted to support sql written for the target db.  Since after import the notions of catalog, schema, and table name can be altered, their idea was to just throw away the user quoting.  Then the resolving system matches this perspective by progressively matching against partial names.  This of course is not correct from the perspective of Teiid as database and can lead to unexpected ambiguities.

Long story short from a runtime perspective the above is expected behavior.

> Adding source table with quoted name results in wrong generated SQL statement
> -----------------------------------------------------------------------------
>
>                 Key: TEIID-2993
>                 URL: https://issues.jboss.org/browse/TEIID-2993
>             Project: Teiid
>          Issue Type: Bug
>          Components: Query Engine
>    Affects Versions: 7.7.2, 8.7
>            Reporter: Paul Richardson
>            Assignee: Steven Hawkins
>             Fix For: 8.7.1, 8.8
>
>
> Cloned from TEIIDDES-2152:
> 1) Created source model with simple table named "My.Quoted.Table" (including quotes
> 2) Created simple virtual table and pasted:  SELECT	* FROM "My.Quoted.Table"
> 3) Parser returned a command resulting in the SQL: SELECT * FROM My.Quoted."Table"
> Parser should be able to handle quoted names properly. In this case the SQL should have been valid as is.
> Confirmed that this does go right back to the Teiid parser. To confirm, the following test was included in
> src/test/java/org/teiid/query/parser/TestParser.java
> {code}
> @Test
> public void testQuotedSQLString() {
>     String sql = "SELECT * FROM \"My.Quoted.Table\""; //$NON-NLS-1$
>     String expected = "SELECT * FROM \"MY.QUOTED.TABLE\""; //$NON-NLS-1$
>     helpTest(sql, expected, null);
> }
> {code}
> Test fails with a comparison error with the parser returning the SQL in item 3 above.



--
This message was sent by Atlassian JIRA
(v6.2.3#6260)


More information about the teiid-issues mailing list