Hi, I have been reading the couchDB guide, particularly the appendix on the power of b-trees. As I understand it couchdb uses a b+tree, in which the leaf nodes have pointers to their siblings to facilitate quick in-order and reverse in-order enumeration of the documents in the b+tree.
When a document is modified (or added), then the document is appended to the file, the leaf node is cloned and updated to point to the new document. However in order to maintain the linked list between the sibling leaf nodes, you would need to update the adjacent link nodes (creating new leaf nodes appended onto the end of the file), this will eventually require that the whole tree is replicated, not just the node on the path to the effected leaf node. I do not think this can be the case, could somebody point out where I have made the mistake? Thanks, Owain Please consider the environment before printing this email. This message should be regarded as confidential. If you have received this email in error please notify the sender and destroy it immediately. Statements of intent shall only become binding when confirmed in hard copy by an authorised signatory. The contents of this email may relate to dealings with other companies under the control of BAE Systems plc details of which can be found at http://www.baesystems.com/Businesses/index.htm. Detica Limited is a BAE Systems company trading as BAE Systems Detica. Detica Limited is registered in England and Wales under No: 1337451. Registered office: Surrey Research Park, Guildford, Surrey, GU2 7YP, England.