jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nicolas Betheuil" <Nicolas.Bethe...@europe.adp.com>
Subject RE: XPATH to JCR-SQL2 Query translation
Date Fri, 26 Nov 2010 15:48:48 GMT
I have discover recently that sql queries doesn't work pretty well on child nodes like your
jcr:content should be a child node of any node of type mynt:document.
To make it working you must have a join on it. 
Contains should only work on properties but maybe someone could tell the opposite.

To restrict an sql query on specific path you have the path function but the syntax could
be a little bit complicated (on array nodes and sub child nodes).

But, to come back to the start of your mail, it's not because you go to JCR2.0 you must fell
down XPATH, it's always there. The spec has deprecated this query language but it's always
implemented in the last version. If any developer read it, i would be interested to know if
there is any road map about this. Do you plan to remove xpath support ?

If someone has an other opinion, idea, suggestion ?

-----Message d'origine-----
De : Juan Diego Botiva Leon [mailto:juandbotiva@hotmail.com] 
Envoyé : vendredi 26 novembre 2010 16:36
À : users@jackrabbit.apache.org
Objet : XPATH to JCR-SQL2 Query translation


I'm upgrading Jackrabbit from 1.6.1 to 2.1.1 and I need to translate an XPath query to JCR-SQL2,
the query is as follows:

/jcr:root/some_node//element(*, mynt:document)[jcr:contains(jcr:content, 'textToFind')]

I tried the following (removing the path constraint because I couldn't find how to do it)

SELECT * FROM [mynt:document] AS doc WHERE CONTAINS(doc.*, 'textToFind')

But I get no results and the original query returns 23 nodes. Can you help me with this as
I checked the JCR 2.0 SQL-2 Grammar (Railroad diagrams) and the jackrabbit-spi-commons test
cases but still I'm not sure how to use CONTAINS and how to restrict the query to a specific
path. Thanks in advance.


Juan Botiva

View raw message