summaryrefslogtreecommitdiffstats
path: root/test/btree2.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r15868] Description:Quincey Koziol2008-10-151-161/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | Correct a minor error in file free space allocation which was affecting the 'multi' VFD and preventing some tests from fully working with it. Wholesale revisitation of all the places where tests were disabled with various VFDs and remove or correct all these so that _only_ the tests which _really_ can't work with particular VFDs are skipped during a 'make check-vfd' test. Tested on: Mac OS X/32 10.5.5 (amazon) in debug mode Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r15825] Description:Quincey Koziol2008-10-091-97/+97
| | | | | | | | | | | | | | | | | | | | | | | | Fix various problems with a the core & sec2 VFDs. Improve the h5_get_file_size() routine to handle files created with VFDs that use multiple files. Tested on: Mac OS X/32 10.5.5 (amazon) in debug mode Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r15800] Description:Quincey Koziol2008-10-071-52/+30
| | | | | | | | | | | | | | | | | | | | | | | Bring file free space branch changes through r15795 into trunk, which includes a fair bit of code cleanup & rearrangement along with a couple of bug fixes also. Tested on: Mac OS X/32 10.5.5 (amazon) in debug mode Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r15628] Description:Quincey Koziol2008-09-161-2/+2
| | | | | | | | | | | | | Remove trailing whitespace from C/C++ source files, with the following script: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Tested on: Mac OS X/32 10.5.5 (amazon) No need for h5committest, just whitespace changes...
* [svn-r13871] Description:Quincey Koziol2007-06-151-1/+1
| | | | | | | | | | | | | Fix problems with 'check-vfd' target, that were [mostly] introduced with the recent "unique, but sharable" ISOHM optimization. The problems were mostly with using the 'core' VFD, so the H5Pset_fapl_core() API call was changed to re-open existing files (therefore operating more list the sec2, stdio, etc. VFDs). This allows many more of the tests to run using the 'core' VFD, so those were enabled also. Tested on: Linux/64 2.6 (chicago2) w/check-vfd
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | copyright notice. Tested platform: Kagiso only since it is only a comment block change. If it works in one machine, it should work in all, I hope. Still need to check the parallel build on copper.
* [svn-r12949] Description:Quincey Koziol2006-11-201-2/+2
| | | | | | | | | | | | | | | | Finish implementation of H5Literate() [still needs real tests] Clean up datatype macro warnings a bit more. Unify iterator callback macros and put up in public header file, with the iterator directions. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) AIX/32 5.? (copper)
* [svn-r12915] Description:Quincey Koziol2006-11-151-110/+179
| | | | | | | | | | Finish adding "delete by index" feature to v2 B-trees. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) AIX/32 5.? (copper)
* [svn-r12914] Description:Quincey Koziol2006-11-141-9/+178
| | | | | | | | Checkpoint partially working v2 B-tree delete by index code (ifdef'ed out) for further work. Tested on: Linux/32 2.6 (chicago)
* [svn-r12877] Description:Quincey Koziol2006-11-071-2/+2
| | | | | | | Clean up more compiler warnings. Tested on: Linux/64 2.6 (chicago2)
* [svn-r12873] Decription:Quincey Koziol2006-11-071-20/+59
| | | | | | | | Add support for reverse index lookup to v2 B-trees (needed for reverse index lookup of links in groups) Tested on: Linux/64 2.6 (chicago2)
* [svn-r12759] Description:Quincey Koziol2006-10-131-2/+2
| | | | | | | Fix errors with check-vfd and recent modifications to tests. Tested on: Linux/64 2.4 (mir) w/check-vfd
* [svn-r12751] Purpose:Albert Cheng2006-10-121-5/+5
| | | | | | | | | | | | | | | | Bug fix (related to 544) Description: h5_get_file_size() was coded to return 0 if failed but file size can be 0. Changed the failure return value to -1 which is allowed by the returned type of off_t which is a signed type. Also changed the checking code of the stat call to just == 0 since that is how it is defined. Test: Could test it in heping only. Both Sol and Copper failed to compiled due to error in the Direct IO VFD code.
* [svn-r12644] Description:Quincey Koziol2006-09-051-346/+380
| | | | | | | | | | | | | Improve density of the B-tree further. For greater depths of B-trees, the gains are over 100%... Also, don't split internal nodes with 3->4 splits, use a 1->2 split instead, so that the density of the nodes around a split is maximized. Tested: Mac OS X/PPC 10.4 (amazon) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12638] Description:Quincey Koziol2006-09-041-2160/+3632
| | | | | | | | | | | | 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)
* [svn-r12631] Description:Quincey Koziol2006-08-261-1/+1
| | | | | | | | | | | | | | | | | Refactor the file storage of "twig" nodes in the B-tree to allow them to store more records, increasing the average density of the B-tree 30-40%. Increase # of records in "insert lots" regression test to still create B-tree of depth 4 Update h5debug to interpret difference of 'branch' and 'twig' internal nodes in B-tree correctly. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12561] Description:Quincey Koziol2006-08-101-94/+185
| | | | | | | | | | | | Update code formatting a little and refactor to add a better mechanism for performing callbacks when removing records from the B-tree or deleting entire B-tree. Testing: FreeBSD 4.11 (sleipnir) Linux/64 2.4 (mir) Linux/32 2.4 (heping) Mac OS 10.4 (amazon)
* [svn-r12519] Fixed "make check-vfd"James Laird2006-07-311-73/+84
| | | | | | | | | | "make check-vfd" will now run all tests in the test directory with different file drivers (at least, all of those tests that use the testing framework's FAPL). Tests that fail will be skipped. This is not a perfect fix, but is better than nothing. Along with this change, check-vfd should be added to the Daily Tests.
* [svn-r12443] Purpose:Albert Cheng2006-06-281-2/+12
| | | | | | | | | | | | | | | Added/adjusted Test Express mode. Description: btree2: Added TestExpress mode to skip some long tests (the 5th recursive and the two random tests.) fheap: Changed the express mode messages to be more informative. Un-excluded some tests from express mode. Platforms tested: Red Storm.
* [svn-r11966] Purpose:Quincey Koziol2006-02-271-499/+417
| | | | | | | | | | | | Code cleanup Description: Style fixes for consistency & other minor cleanups Platforms tested: FreeBSD 4.11 (sleipnir) Mac OSX (amazon) Linux 2.4
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-81/+81
| | | | | | | | | | | | | | | | | | | | 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
* [svn-r10195] Purpose:Quincey Koziol2005-03-111-2/+178
| | | | | | | | | | | New feature Description: Add feature to modify an existing record in a B-tree Platforms tested: FreeBSD 4.11 (sleipnir) Solaris 2.9 (shanti)
* [svn-r10185] Purpose:Quincey Koziol2005-03-111-0/+10
| | | | | | | | | | | | | | 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)
* [svn-r10176] Purpose:Quincey Koziol2005-03-101-0/+248
| | | | | | | | | | | New feature Description: Add routine to delete entire B-tree from a file. Platforms tested: FreeBSD 4.11 (sleipnir) Solaris 2.9 (shanti)
* [svn-r10173] Purpose:Quincey Koziol2005-03-091-16/+0
| | | | | | | | | | | Code cleanup Description: Remove some extraneous ifdef's Platforms tested: FreeBSD 4.11 (sleipnir) Too minor for other testing
* [svn-r10172] Purpose:Quincey Koziol2005-03-091-2/+208
| | | | | | | | | | | | | | 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)
* [svn-r10168] Purpose:Quincey Koziol2005-03-081-0/+262
| | | | | | | | | | | | 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)
* [svn-r10162] Purpose:Quincey Koziol2005-03-081-2/+901
| | | | | | | | | | | | | 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)
* [svn-r10159] Purpose:Quincey Koziol2005-03-071-3/+210
| | | | | | | | | | | | 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)
* [svn-r10156] Purpose:Quincey Koziol2005-03-051-1/+118
| | | | | | | | | | | 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)
* [svn-r10155] Purpose:Quincey Koziol2005-03-051-10/+288
| | | | | | | | | | | | 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)
* [svn-r10154] Purpose:Quincey Koziol2005-03-051-0/+278
| | | | | | | | | | | | | | 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)
* [svn-r10153] Purpose:Quincey Koziol2005-03-051-0/+163
| | | | | | | | | | | | 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)
* [svn-r10152] Purpose:Quincey Koziol2005-03-051-0/+117
| | | | | | | | | | | | | | | | | | 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)
* [svn-r10151] Purpose:Quincey Koziol2005-03-041-2/+156
| | | | | | | | | | | New feature Description: Add code to handle 2->1 node merges during record removal. Platforms tested: FreeBSD 4.11 (sleipnir) Solaris 2.9 (shanti)
* [svn-r10149] Purpose:Quincey Koziol2005-03-041-0/+170
| | | | | | | | | | | | | | | | | 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)
* [svn-r10148] Purpose:Quincey Koziol2005-03-041-4/+42
| | | | | | | | | | | | 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)
* [svn-r10135] Purpose:Quincey Koziol2005-03-031-1/+348
| | | | | | | | | | | | | | | 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)
* [svn-r10094] Purpose:Quincey Koziol2005-02-261-1/+165
| | | | | | | | | | | | | | | 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)
* [svn-r10078] Purpose:Quincey Koziol2005-02-241-3/+98
| | | | | | | | | | | | | 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)
* [svn-r10077] Purpose:Quincey Koziol2005-02-241-1/+121
| | | | | | | | | | | | | 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)
* [svn-r10071] Purpose:Quincey Koziol2005-02-231-4/+130
| | | | | | | | | | | | | | 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)
* [svn-r10047] Purpose:Quincey Koziol2005-02-191-1/+105
| | | | | | | | | | | | 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)
* [svn-r10046] Purpose:Quincey Koziol2005-02-191-0/+104
| | | | | | | | | | | New feature Description: Allow 3 node redistributions to work on internal nodes. Platforms tested: FreeBSD 4.11 (sleipnir) Solaris 2.9 (shanti)
* [svn-r10045] Purpose:Quincey Koziol2005-02-191-17/+123
| | | | | | | | | | | 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)
* [svn-r10044] Purpose:Quincey Koziol2005-02-181-1/+107
| | | | | | | | | | | 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)
* [svn-r10038] Purpose:Quincey Koziol2005-02-171-18/+146
| | | | | | | | | | | New test Description: Add tests for splitting leaves in level-2 B-tree Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r10036] Purpose:Quincey Koziol2005-02-171-3/+166
| | | | | | | | | | | 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
* [svn-r10034] Purpose:Quincey Koziol2005-02-171-0/+29
| | | | | | | | | | | New test Description: Add extra tests for v2 B-tree iterator Platforms tested: FreeBSD 4.11 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r10020] Purpose:Quincey Koziol2005-02-171-1/+51
| | | | | | | | | | | 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)