]
Van Halbert commented on TEIID-3012:
------------------------------------
That worked, thanks.
START DATA SRC COMMAND: startTime=2014-06-18
15:27:50.671 requestID=U4Qcejb7UVYk.8 sourceCommandID=1 executionID=0 txID=null modelName=ModeShape translatorName=modeshape sessionID=U4Qcejb7UVYk principal=user@teiid-security sql=SELECT
g_1.jcr_name FROM ModeShape.relational_table AS g_0 INNER JOIN ModeShape.relational_column
AS g_1 ON JCR.JCR_ISCHILDNODE(g_1.jcr_path, g_0.jcr_path) = TRUE
15:27:50,679 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue17) Source-specific
command: SELECT g_1."jcr:name" FROM "relational:table" AS g_0 INNER
JOIN "relational:column" AS g_1 ON ISCHILDNODE(g_1, g_0)
I'll create a PR.
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.