You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "angela (JIRA)" <ji...@apache.org> on 2007/11/22 19:33:43 UTC
[jira] Commented: (JCR-1166) JCR2SPI does not provide actual size
on RangeIterator.getSize()
[ https://issues.apache.org/jira/browse/JCR-1166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12544864 ]
angela commented on JCR-1166:
-----------------------------
i would suggest modify the LazyItemIterator to apply the same logic as present currently in the query.NodeIteratorImpl:
- take the size of original collection as estimation for the number of Items available during iteration.
- recalculated the size if entries that cannot be resolved to Items are found during the iteration.
this would have the following benefits:
- if nothing changes in the meantime the size estimate is accurate
- no extra effort to calculate the size upon/before creating the iterator
- don't modify lazy behaviour of the iterator
drawback:
- size may shrink during iteration.
> JCR2SPI does not provide actual size on RangeIterator.getSize()
> ---------------------------------------------------------------
>
> Key: JCR-1166
> URL: https://issues.apache.org/jira/browse/JCR-1166
> Project: Jackrabbit
> Issue Type: Improvement
> Components: jackrabbit-jcr2spi
> Reporter: Julian Reschke
> Priority: Minor
>
> Currently, JCR2SPI always returns -1 on RangeIterator.getSize().
> This return value is legal (meaning "unknown"), but may cause clients to simply iterate through the whole list when what they really want is simply the count.
> Use case:
> "The use case is to count the number of members of a NT_FOLDER without having to open up the NT_FOLDER and count all the members (and I assume load them into memory) "
> To make this happen we probably need to move away from simple Iterators on the SPI level, and put quite some additional work into JCR2SPI.
> Feedback appreciated.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.