]
Steven Hawkins commented on TEIID-3012:
---------------------------------------
You'll want ExecutionFactory.useAnsiJoin to return true, and unless their parser
accepts "INNER JOIN" you'll have to modify the result sql to just JOIN
instead.
ModeShape requires to use 'JOIN' instead of ',' when
joining 2 tables
---------------------------------------------------------------------
Key: TEIID-3012
URL:
https://issues.jboss.org/browse/TEIID-3012
Project: Teiid
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Misc. Connectors
Affects Versions: 8.4.2
Reporter: Van Halbert
Assignee: Van Halbert
Issuing either query:
SELECT c.jcr_name FROM relational_table AS t, relational_column AS c WHERE
JCR.JCR_ISCHILDNODE(c.jcr_path, t.jcr_path)
SELECT c.jcr_name FROM relational_table AS t JOIN relational_column AS c ON
JCR.JCR_ISCHILDNODE(c.jcr_path,t.jcr_path)
produces the following exception:
Caused by: javax.jcr.query.InvalidQueryException: The JCR-SQL2 query "SELECT
g_1."jcr:name", g_1."jcr:path" FROM "relational:table" AS
g_0, "relational:column" AS g_1 WHERE ISCHILDNODE(g_1, g_0)" is not
well-formed: Unexpected token ',' at line 1, column 66
at org.modeshape.jcr.JcrQueryManager.createQuery(JcrQueryManager.java:146)
at org.modeshape.jcr.JcrQueryManager.createQuery(JcrQueryManager.java:101)
at
org.modeshape.jdbc.delegate.LocalRepositoryDelegate.execute(LocalRepositoryDelegate.java:139)
at org.modeshape.jdbc.JcrStatement.execute(JcrStatement.java:429)
... 15 more
And after a discussion with Randall, it seems ModeShape needs JOIN in the syntax, and not
',' to join the tables.