We are trying hard to find how and where the GID for the nodes are computed for
the first time when an XML document is stored. Also wondering where in the
database are the GIDs stored?
From: Wolfgang Meier <wolfgangmm@gm...> - 2006-10-27 08:55:16
> We are trying hard to find how and where the GID for the nodes are computed for
> the first time when an XML document is stored. Also wondering where in the
> database are the GIDs stored?
For the 1.0 branch, the GIDs are computed in
org.exist.dom.ElementImpl, method appendChildInternal:
child.setGID(firstChildID() + children);
The GIDs are NOT stored in the persistent DOM: they can be recomputed any time.
The 1.1 branch uses DLN node ids instead of GIDs, but otherwise the
operations are very similar, except that the node id is encapsulated
in its own class: DLN. However, 1.1 needs to store the actual node ids
in the persistent DOM.
That's the reason why dom.dbx grows much faster in 1.1 than 1.0. We
still have to work on this. Some improvements are possible.
Thank You very much for a quick reply. We also wanted to know if the GIDs
would be recomputed every time a node is added into the XML document. Also,
how the value of 'k' - the constant which determines the maximum number of
pointers(the order) in the B+ tree determined?
Get latest updates about Open Source Projects, Conferences and News.