jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christoph Kiehl (JIRA)" <j...@apache.org>
Subject [jira] Updated: (JCR-967) Only search the index for the "jcr:system" tree if needed
Date Thu, 14 Jun 2007 16:10:26 GMT

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

Christoph Kiehl updated JCR-967:

    Attachment: patch.txt

This is an initial patch which checks the first location step for "jcr:system". This might
not be enough since "jcr:system" might be reachable through the parent operator "..". Not
sure about this though.
I didn't implement the check deref nodes. Right any deref node should lead to an inclusion
of the system tree index. I'm not sure if it's worth the hassle because for large result sets
it might lead to performance degradation because every uuid has to be checked if its item
is located under jcr:system.
I chose to implement this check through QueryNode because I think this would be less error
prone than implement the whole check in QueryImpl because then QueryImpl has to know about
every implementation of QueryNode. As it is now every QueryNode implementation is responsible
for itself if it needs the system tree index to be included in the search.

> Only search the index for the "jcr:system" tree if needed
> ---------------------------------------------------------
>                 Key: JCR-967
>                 URL: https://issues.apache.org/jira/browse/JCR-967
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: query
>    Affects Versions: 1.3
>            Reporter: Christoph Kiehl
>         Attachments: patch.txt
> Right now every time a query is executed the index of the current workspace as well as
the index of the "jcr:system" tree is searched. A lot of queries are not searching in the
"jcr:system" tree at all therefore it should be checked if the query contains paths that include
"jcr:system". There are two relevant nodes in the query tree to find that out:
> - what's the first location step and does it include the jcr:system tree? I think that's
an easy one.
> - does the query contain a jcr:deref node? If there is an intermediate result of a query
may dereference into the jcr:system tree. 
> This should notably speed up query execution if you are working extensively with versioning.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message