[
https://issues.apache.org/jira/browse/JCR-2733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12904648#action_12904648
]
Marcel Reutegger commented on JCR-2733:
---------------------------------------
Please note that OR is also a keyword in JCR 1.0. See:
http://www.day.com/specs/jcr/1.0/6.6.5.2_jcr_contains_Function.html
> 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: 1.6.2, 2.1.0, 2.1.1
> 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.