You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Thomas Mueller (JIRA)" <ji...@apache.org> on 2014/01/30 16:14:09 UTC

[jira] [Reopened] (OAK-1369) XPath queries: fail if a @ is missing in front of property names

     [ https://issues.apache.org/jira/browse/OAK-1369?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Mueller reopened OAK-1369:
---------------------------------


Reconsidering. It looks like this would be a major compatibility problem, as there seem to be quite many cases where we rely on the old behavior. Also, detection of missing "@" was incomplete (it was ignored in "order by jcr:path", which was converted to "order by jcr:path/*" which is clearly not what the user wanted).

I guess the easiest solution is to automatically add a "@", except for "contains(data, 'x')" where "data" is considered to be a node and not a property.

> XPath queries: fail if a @ is missing in front of property names
> ----------------------------------------------------------------
>
>                 Key: OAK-1369
>                 URL: https://issues.apache.org/jira/browse/OAK-1369
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core, query
>            Reporter: Thomas Mueller
>            Assignee: Thomas Mueller
>             Fix For: 0.16
>
>
> XPath queries with conditions of the form {noformat}[id='test']{noformat} are not problematic. Jackrabbit 2.x interpreted such conditions as {noformat}[@id='test']{noformat}, and Oak currently interprets them as {noformat}[@id/* = 'test']{noformat}, as this is the expected behavior for conditions of the form {noformat}[jcr:contains(id, 'test')]{noformat}.
> I believe the condition {noformat}[id='test']{noformat} is illegal, and it would be better to throw an exception instead, saying a @ is missing.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)