[ 
https://issues.apache.org/jira/browse/OAK-169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13409228#comment-13409228
 ] 

Thomas Mueller commented on OAK-169:
------------------------------------

Iterating over all child nodes is always an O(n) operation (n = number of child 
nodes). Of course if you store all child nodes names in the parent node you 
only have to access the parent node, but that parent node is just n time larger 
then. We would be back to the behavior of Jackrabbit 2.x, where adding many 
child nodes is an O(n^2) operation, for orderable child node lists. This might 
or might not be acceptable - I don't think we decided this when we defined our 
goals.

With the linked list approach, iterating over all child nodes will have to read 
all child nodes (also an O(n) operation), on the other hand it will make it 
possible to support many child nodes without limitations. It is true that this 
approach is probably slower if there are few child nodes (compared to storing 
the complete child node name list in the parent).

I guess to decide which approach works best in practice we first need have to 
define which use cases we care about and which are the most common ones.
                
> Support orderable nodes
> -----------------------
>
>                 Key: OAK-169
>                 URL: https://issues.apache.org/jira/browse/OAK-169
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: jcr
>            Reporter: Jukka Zitting
>
> There are JCR clients that depend on the ability to explicitly specify the 
> order of child nodes. That functionality is not included in the MicroKernel 
> tree model, so we need to implement it either in oak-core or oak-jcr using 
> something like an extra (hidden) {{oak:childOrder}} property that records the 
> specified ordering of child nodes. A multi-valued string property is probably 
> good enough for this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to