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:[email protected]] 
Envoyé : vendredi 26 novembre 2010 16:36
À : [email protected]
Objet : XPATH to JCR-SQL2 Query translation





Hi!

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.

Regards

Juan Botiva
                                          

Reply via email to