jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "fabrizio giustina (JIRA)" <j...@apache.org>
Subject [jira] Created: (JCR-2733) RepositoryException in xpath query with the "OR" keyword
Date Sun, 29 Aug 2010 07:14:53 GMT
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.

View raw message