Hi Thomas,
Thanks for the clarifications. The query now "compiles" but I get
back no results (the XPath versions work as I would expect as these
are part of a unit test suite). I had looked into the JR 2 unit test
suite before I posted, but I think all of those are based on the older
SQL/XPath standards.
Rakesh
On 9 Nov 2009, at 1:36:25 AM, Thomas Müller wrote:
Hi,
I found the relevant section of the spec:
http://www.day.com/specs/jcr/2.0/6_Query.html#6.7.4%20Name
Name ::= '[' quotedName ']' | '[' simpleName ']' | simpleName
simpleName ::= /* A JCR Name that is also a legal SQL identifier */
See the SQL:92 rules for <regular identifier> (in ISO/IEC 9075:1992 §
5.2 <token> and <separator>).
As far as I read the SQL-92 spec, this basically means the same rules
as for Java identifiers apply.
I guess we should have railroad diagrams. I will try to create them.
Regards,
Thomas
On Mon, Nov 9, 2009 at 8:20 AM, Thomas Müller
<[email protected]> wrote:
Hi,
Try:
select * from [nt:unstructured] where [jcr:path] like
'/%/unitTestPage' and [cms:nodeType] = 'page'
Regards,
Thomas
On Sun, Nov 8, 2009 at 5:30 AM, Rakesh Vidyadharan
<[email protected]> wrote:
Since XPath is deprecated in JCR 2.0, I am trying to move to
JCR_SQL2
(JR-2.0-beta1). I have the following XPath query:
//unittestpa...@cms:nodeType = 'page']
I tried writing the query in SQL as:
select * from nt:unstructured where jcr:path like '/%/
unitTestPage' and
cms:nodeType = 'page'
This statement however fails with an exception:
javax.jcr.query.InvalidQueryException: Query:
select * from nt:(*)unstructured where jcr:path like '/%/
unitTestFolder' and
cms:nodeType = 'page'; expected: <end>
at
org.apache.jackrabbit.commons.query.sql2.Parser.getSyntaxError
(Parser.java:968)
at
org.apache.jackrabbit.commons.query.sql2
.Parser.createQueryObjectModel(Parser.java:124)
at
org.apache.jackrabbit.commons.query.sql2
.SQL2QOMBuilder.createQueryObjectModel(SQL2QOMBuilder.java:55)
at
org.apache.jackrabbit.core.query.QOMQueryFactory.createQuery
(QOMQueryFactory.java:69)
at
org.apache.jackrabbit.core.query.CompoundQueryFactory.createQuery
(CompoundQueryFactory.java:67)
at
org.apache.jackrabbit.core.query.QueryManagerImpl.createQuery
(QueryManagerImpl.java:98)
Can some one tell me what I am missing?
Thanks
Rakesh
Rakesh Vidyadharan
President & CEO
Sans Pareil Technologies, Inc.
http://sptci.com/
| 100 W. Chestnut, Suite 1305 | Chicago, IL 60610-3296 USA |
| Ph: +1 (312) 212 3933 | Mobile: +1 (312) 315-1596 (US), +91 949 611
0873 (IN) | Fax: +1 (312) 276-4410 | E-mail: [email protected]