[
https://issues.apache.org/jira/browse/JCRVLT-789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17933848#comment-17933848
]
Julian Reschke commented on JCRVLT-789:
---------------------------------------
For now, we might get away by handling the prefixes
{noformat}
/\Q
\Q/
{noformat}
and the suffixes
{noformat}
\E
\E/.*
{noformat}
where "\E...\Q" is regexp-speak for "match everything in between as literal".
(This is from the example that was reported to me; not sure though whether it
represents all real-world cases).
In general - unless we find a precise way to do this - we should start with the
low hanging fruits.
> AggregateImpl might be able to avoid iterating over sibling nodes
> -----------------------------------------------------------------
>
> Key: JCRVLT-789
> URL: https://issues.apache.org/jira/browse/JCRVLT-789
> Project: Jackrabbit FileVault
> Issue Type: Improvement
> Components: vlt
> Reporter: Julian Reschke
> Assignee: Julian Reschke
> Priority: Major
>
> See
> [https://github.com/apache/jackrabbit-filevault/blob/367ffb423d84993c5bb0eb0186f810a58b6227be/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/AggregateImpl.java#L696]
>
> This code currently iterates unconditionally over child nodes (which is a
> problem for large collections). We might be able to avoid that by checking
> the filters before descending.
> I tried a quick hack, and that made tests fail (which is good).
> Will continue with a test case first.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)