[ https://issues.apache.org/jira/browse/OAK-8437?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vikas Saurabh updated OAK-8437: ------------------------------- Description: An index such as: {noformat} + /oak:index/ntbaseIdx - evaluatePathRestrictions = true + indexRules/nt:base/properties + prop - propertyIndex = true {noformat} attempts to answer a query such as: {noformat} /jcr:root/path/element(*, some:Type)[par/@prop='bar'] {noformat} but current this query is planned by this index as {noformat} prop:bar :depth:[2 TO 2] :ancestors:/path {noformat} which won't get this result. This is because the depth constraint should've been modified to {{:depth:\[3 TO 3]}} -Do note that even {{:ancestors}} constraint is wrong (too lenient).- So, the correct plan should've looked like: {noformat} prop:bar :depth:[3 TO 3] :ancestors:/path {noformat} Similar issue exist for exact and parent path restrictions (these don't need evaluatePathRestriction as well) was: An index such as: {noformat} + /oak:index/ntbaseIdx - evaluatePathRestrictions = true + indexRules/nt:base/properties + prop - propertyIndex = true {noformat} attempts to answer a query such as: {noformat} /jcr:root/path/element(*, some:Type)[par/@prop='bar'] {noformat} but current this query is planned by this index as {noformat} prop:bar :depth:[2 TO 2] :ancestors:/path {noformat} which won't get this result. This is because the depth constraint should've been modified to {{:depth:\[3 TO 3]}} Do note that even {{:ancestors}} constraint is wrong (too lenient). So, the correct plan should've looked like: {noformat} prop:bar :depth:[3 TO 3] :ancestors:/path/prop {noformat} > direct child, exact, and parent path restrictions don't work when path > transformation takes place > ------------------------------------------------------------------------------------------------- > > Key: OAK-8437 > URL: https://issues.apache.org/jira/browse/OAK-8437 > Project: Jackrabbit Oak > Issue Type: Bug > Components: lucene > Reporter: Vikas Saurabh > Assignee: Vikas Saurabh > Priority: Major > > An index such as: > {noformat} > + /oak:index/ntbaseIdx > - evaluatePathRestrictions = true > + indexRules/nt:base/properties > + prop > - propertyIndex = true > {noformat} > attempts to answer a query such as: > {noformat} > /jcr:root/path/element(*, some:Type)[par/@prop='bar'] > {noformat} > but current this query is planned by this index as > {noformat} > prop:bar :depth:[2 TO 2] :ancestors:/path > {noformat} > which won't get this result. This is because the depth constraint should've > been modified to {{:depth:\[3 TO 3]}} > -Do note that even {{:ancestors}} constraint is wrong (too lenient).- > So, the correct plan should've looked like: > {noformat} > prop:bar :depth:[3 TO 3] :ancestors:/path > {noformat} > Similar issue exist for exact and parent path restrictions (these don't need > evaluatePathRestriction as well) -- This message was sent by Atlassian JIRA (v7.6.3#76005)