Commit Graph

38 Commits

Author SHA1 Message Date
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
Code cleanup

Description:
    Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.

Solution:
    Ran this script in each directory:

foreach f (*.[ch] *.cpp)
    sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
Quincey Koziol
fcb67f0e86 [svn-r10195] Purpose:
New feature

Description:
    Add feature to modify an existing record in a B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-11 09:05:32 -05:00
Quincey Koziol
46dcfc7a49 [svn-r10185] Purpose:
New feature & bug fix

Description:
    Allow NULL 'op' for find operations to easily query the existance of a
record for a key during H5B2_find() operations.

    Fix H5B2_neighbor() to work properly with empty B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 21:27:59 -05:00
Quincey Koziol
451e55aac0 [svn-r10176] Purpose:
New feature

Description:
    Add routine to delete entire B-tree from a file.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 11:13:58 -05:00
Quincey Koziol
e79c145d91 [svn-r10173] Purpose:
Code cleanup

Description:
    Remove some extraneous ifdef's

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor for other testing
2005-03-09 14:53:27 -05:00
Quincey Koziol
ec169e7bc2 [svn-r10172] Purpose:
Bug fix & New feature

Description:
    Correct some situations where a write lock on the data in the metadata
cache was requested, but only a read lock is necessary.

    Add routine to find nearest neighbor record < or > to a query key.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-09 14:39:20 -05:00
Quincey Koziol
7f88485025 [svn-r10168] Purpose:
Bug fix & new tests

Description:
    Fix another couple of issues with record removal and add some more tests to
make certain removals work correctly.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-08 14:56:29 -05:00
Quincey Koziol
2df8540798 [svn-r10162] Purpose:
Bug fix & new tests

Description:
    Fix several errors in record removel routines, which should now be feature
complete for removing records at any location in the B-tree (further testing
will verify this)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-08 11:18:58 -05:00
Quincey Koziol
4bcd59d351 [svn-r10159] Purpose:
Bug fix

Description:
    Corrected errors in record removal code to handle removing records in
higher nodes in the B-tree.

Platforms tested:
    FreebSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-07 15:12:57 -05:00
Quincey Koziol
630b2901c5 [svn-r10156] Purpose:
Bug fix & new feature

Description:
    Allow B-tree's height to be reduced when removing records.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-05 02:50:17 -05:00
Quincey Koziol
36b45feae5 [svn-r10155] Purpose:
More tests

Description:
    Add tests for removing records in the root of a level-1 B-tree and
promoting and merging leaf nodes.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-05 00:27:45 -05:00
Quincey Koziol
8d2ddf5170 [svn-r10154] Purpose:
Bug fix/new feature

Description:
    Tweak the record promotion algorithm to get it working correctly when
promoting and redistributing records.

    Added tests for that case.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-05 00:04:13 -05:00
Quincey Koziol
9845d40eb5 [svn-r10153] Purpose:
New feature

Description:
    Allow records in internal nodes to be removed, not just records in leaf
nodes.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-04 23:04:54 -05:00
Quincey Koziol
009f57c1ba [svn-r10152] Purpose:
Bug fix & new feature

Description:
    Fix error in 3-node redistribution when nodes are only moving into the
middle node from the left & right nodes (which happens sometimes during
record removals).

    Clean up internal insert & remove routines to remove lots of redundant
checking.

    Added 3->2 node merge routine to handle more record removal cases.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Solaris 2.11 (shanti)
2005-03-04 21:51:55 -05:00
Quincey Koziol
156505bbf9 [svn-r10151] Purpose:
New feature

Description:
    Add code to handle 2->1 node merges during record removal.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-04 18:49:15 -05:00
Quincey Koziol
c153ca4d5e [svn-r10149] Purpose:
Bug fix & new feature

Description:
    Fix a couple of off-by-one errors in assertions (code was actually correct)
for 3 node redistributions.

    Remove "old" node removal code that is unused now.

    Add more tests that verify that 2-node and 3-node redistributions are
working correctly for removals.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-04 17:22:34 -05:00
Quincey Koziol
831be556f4 [svn-r10148] Purpose:
New test

Description:
    Add a couple more tests for removing records before I start modifying the
code further.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-04 16:48:54 -05:00
Quincey Koziol
84ffc9d1c1 [svn-r10135] Purpose:
Bug fix & new feature

Description:
    Fix problem with inserting existing keys into B-tree corrupting record
counts along the path to the failed insertion.

    Add more support for removing records, it's now handling removing records
from leaves of level-1 B-trees.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti)
2005-03-03 16:39:57 -05:00
Quincey Koziol
11a9d30177 [svn-r10094] Purpose:
New features & refactor

Description:
    Add basic record removal (only handles level-0 B-trees currently)

    Add query routine to check the number of records in a B-tree

    Add debugging routine to check the address of the root node in the B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-26 08:05:41 -05:00
Quincey Koziol
2be0f58f60 [svn-r10078] Purpose:
Bug fix & new feature

Description:
    Fix errors in tracking the total number of records "below" a node.

    Add feature to find the n'th record in a B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-24 16:44:30 -05:00
Quincey Koziol
b1485cfdcf [svn-r10077] Purpose:
New feature, refactor code

Description:
    Add call to search for a record in a B-tree by key value

    Refactored some of the existing callbacks to simplify them.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-24 12:23:26 -05:00
Quincey Koziol
e0a6b93e02 [svn-r10071] Purpose:
Bug fixes

Description:
    Fix several bugs in B-tree insertion code, which now appears to be fully
functional.  (Tested to 1,280,000 records at least...)

    Add random record insertion test to shake out boundary conditions, etc.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-23 16:32:06 -05:00
Quincey Koziol
e03fe7a647 [svn-r10047] Purpose:
New feature

Description:
    Allow internal nodes to perform 3->4 splits.  Inserting records should now
be feature complete.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-19 12:46:33 -05:00
Quincey Koziol
b5b1d7f713 [svn-r10046] Purpose:
New feature

Description:
    Allow 3 node redistributions to work on internal nodes.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-19 10:32:26 -05:00
Quincey Koziol
e0c3218a0a [svn-r10045] Purpose:
New feature

Description:
    Allow internal nodes in v2 B-tree to undergo 2->3 splits

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-19 09:49:20 -05:00
Quincey Koziol
cd93442df6 [svn-r10044] Purpose:
New feature

Description:
    Allow internal nodes in v2 B-tree to perform 2 node redistribution

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-18 16:21:47 -05:00
Quincey Koziol
29ccf4aa7a [svn-r10038] Purpose:
New test

Description:
    Add tests for splitting leaves in level-2 B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-02-17 16:43:36 -05:00
Quincey Koziol
9181ed0fa4 [svn-r10036] Purpose:
New test

Description:
    Add more regression tests for redistributing leafs in a level-2 B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-02-17 16:12:45 -05:00
Quincey Koziol
45f2b11026 [svn-r10034] Purpose:
New test

Description:
    Add extra tests for v2 B-tree iterator

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor to require h5committest
2005-02-17 15:40:13 -05:00
Quincey Koziol
27dbdb8c71 [svn-r10020] Purpose:
New feature

Description:
    Add code to iterate over all the records in a v2 B-tree.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-16 19:37:04 -05:00
Quincey Koziol
7316f0e7e7 [svn-r9995] Purpose:
New feature & bug fix

Description:
    Allow root node to split, forming a level 2 B-tree

    Fix error where wrong record was being copied up to parent node for a 2
node redistribution on the "right" side of the B-tree.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti)
2005-02-11 18:36:08 -05:00
Quincey Koziol
9bda1fcfd8 [svn-r9986] Purpose:
New feature & code cleanup

Description:
    Change some references from 'keys' to 'records', which is more correct for
this implementation.

    Added feature to allow preemptive 3 node record redistributions (for leaves
only currently)

    Added feature to perform preemptive 3->4 node splits (for leaves only
currently)

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti) w/purify
    Too minor to require h5committest
2005-02-11 01:50:20 -05:00
Quincey Koziol
ebfc303556 [svn-r9985] Purpose:
New feature & bug fixes

Description:
    Checkpoint v2 B-tree code after getting preemptive 2->3 node splitting
working (for leaf nodes only at the moment, however).

    Also, correct a problem with redistributing records that was probably
causing the failures on mir in yesterday's daily tests.

    Ran code through purify on shanti and cleared up some warnings.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti) w/purify
2005-02-10 21:40:16 -05:00
Quincey Koziol
9f76f83f48 [svn-r9971] Purpose:
New feature

Description:
    Checkpoint v2 B-tree code after getting 2 leaf record redistribution
working and tested.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor to require h5committest
2005-02-09 16:32:07 -05:00
Quincey Koziol
71434c4d03 [svn-r9962] Purpose:
Bug fix & code update

Description:
    Fix error in new free-list factory routines that was causing errors on
tungsten, et al.

    Also, checkpoint v2 B-tree code.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Linux 2.4 (tungsten)
    Otherwise too minor to require h5committest
2005-02-08 16:48:14 -05:00
Quincey Koziol
b4153b4f5e [svn-r9955] Purpose:
New feature & bug fix

Description:
    Allow h5debug tool to dump "test" v2 B-trees correctly.

    Also, fix incorrect parameter passing that was causing failures on
various platforms.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    AIX 5.2 (copper)
2005-02-07 20:03:48 -05:00
Quincey Koziol
24770bf218 [svn-r9939] Purpose:
New feature

Description:
    Expand v2 B-tree code to support splitting the root node when enough
records are inserted and move metadata cache callbacks into their own source
file.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor for h5committest
2005-02-04 16:14:42 -05:00
Quincey Koziol
0b332ace5e [svn-r9928] Purpose:
New feature

Description:
    Add basic code for new B-tree implementation.  They don't do much yet,
aren't hooked up to anything yet and the format may change, but I'd like to
start getting them into the daily tests.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor to require h5committest
2005-02-03 14:59:05 -05:00