RepositoryException in xpath query with the "OR" keyword
--------------------------------------------------------

                 Key: JCR-2733
                 URL: https://issues.apache.org/jira/browse/JCR-2733
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: query, xpath
    Affects Versions: 2.1.1, 2.1.0, 1.6.2
            Reporter: fabrizio giustina


Any string literal starting with "OR ", e.g.:
//*[jcr:contains(@title, 'OR ME')]

ends up in a javax.jcr.RepositoryException:
Exception building query: org.apache.lucene.queryParser.ParseException: Cannot 
parse 'OR ME': Encountered " <OR> "OR "" at line 1, column 0.


I see this is due to the "OR" keyword interpreted by Lucene, like described in 
http://stackoverflow.com/questions/1311304/keyword-or-and-search-in-lucene

Is this expected? Shouldn't jackrabbit escape the input string before creating 
the lucene query, since this is implementation-specific and OR should not AFAIK 
be a reserved word in properly delimited string literals in xpath queries?
Also note that the similar "AND" keyword doesn't cause any problem.

In order to fix it I must check and replace any input string starting with "OR" 
adding quotes or lowercasing:
//*[jcr:contains(@title, '"OR" ME')]
//*[jcr:contains(@title, 'or ME')]



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to