[
https://issues.apache.org/jira/browse/JCR-1365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12568209#action_12568209
]
Marcel Reutegger commented on JCR-1365:
---------------------------------------
Implemented a first series of improvements:
- ChildAxisQuery does not look up child nodes anymore using the PARENT field.
This is slow and there is no cache for this kind of information. Instead it now
uses the HierarchyResolver like DescendantSelfAxisQuery. If no name test is
specified ChildAxisQuery now looks up the child node entries on the respective
NodeStates. This may cause access to the Persistence Manager.
- Generalized DescendantSelfAxisQuery to work with any given level between
context and sub query. So far only zero and one were supported. Zero made
DescendantSelfAxisQuery act like the XPath descendant-or-self axis and one like
a descendant axis.
- ChildAxisQuery and DescendantSelfAxisQuery now optimize certain combinations
of axis queries into a more compact form, which performs better.
Committed in revision: 620859
> Query path constraints like foo//*/bar do not scale
> ---------------------------------------------------
>
> Key: JCR-1365
> URL: https://issues.apache.org/jira/browse/JCR-1365
> Project: Jackrabbit
> Issue Type: Improvement
> Components: jackrabbit-core
> Reporter: Marcel Reutegger
> Priority: Minor
>
> To resolve the * step the LuceneQueryBuilder currently creates a
> MatchAllQuery and checks every node for a foo ancestor. Instead, it should
> search for bar nodes and check for foo ancestors with at least one arbitrary
> hierarchy level in between.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.