summaryrefslogtreecommitdiffstats
path: root/src/H5B2.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2006-09-04 16:37:41 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2006-09-04 16:37:41 (GMT)
commitd1e7ac416e81d70c98a36f7ab265bf58e2a224c4 (patch)
treef9a002285bd1ce3e647cdd0eaf2960207160a364 /src/H5B2.c
parent35a3022373a424e99db29a84063d0511ffcefac9 (diff)
downloadhdf5-d1e7ac416e81d70c98a36f7ab265bf58e2a224c4.zip
hdf5-d1e7ac416e81d70c98a36f7ab265bf58e2a224c4.tar.gz
hdf5-d1e7ac416e81d70c98a36f7ab265bf58e2a224c4.tar.bz2
[svn-r12638] Description:
Split edge nodes in the tree with a 1->2 node split, instead of a 2->3 node split, which creates a more dense tree when a pattern of record insertions occurs (because it leaves behind full nodes instead of 2/3 full nodes). Tested: FreeBSD/32 4.11 (sleipnir) Linux/64 2.4 (mir) Linux/32 2.4 (heping) Solaris/64 2.9 (shanti)
Diffstat (limited to 'src/H5B2.c')
-rw-r--r--src/H5B2.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/H5B2.c b/src/H5B2.c
index e2fc503..7ee979b 100644
--- a/src/H5B2.c
+++ b/src/H5B2.c
@@ -199,7 +199,7 @@ H5B2_insert(H5F_t *f, hid_t dxpl_id, const H5B2_class_t *type, haddr_t addr,
/* Check if we need to split the root node (equiv. to a 1->2 node split) */
else if((bt2->depth == 0 && bt2->root.node_nrec == shared->split_leaf_nrec) ||
(bt2->depth == 1 && bt2->root.node_nrec == shared->split_twig_nrec) ||
- (bt2->depth > 0 && bt2->root.node_nrec == shared->split_brch_nrec)) {
+ (bt2->depth > 1 && bt2->root.node_nrec == shared->split_brch_nrec)) {
/* Split root node */
if(H5B2_split_root(f, dxpl_id, bt2, &bt2_flags, bt2->shared) < 0)
HGOTO_ERROR(H5E_BTREE, H5E_CANTSPLIT, FAIL, "unable to split root node")
@@ -303,9 +303,8 @@ done:
* Function: H5B2_find
*
* Purpose: Locate the specified information in a B-tree and return
- * that information by filling in fields of the caller-supplied
- * UDATA pointer depending on the type of leaf node
- * requested. The UDATA can point to additional data passed
+ * that information by calling the provided 'OP' routine with an
+ * OP_DATA pointer. The UDATA parameter points to data passed
* to the key comparison function.
*
* The 'OP' routine is called with the record found and the