summaryrefslogtreecommitdiffstats
path: root/src/H5B2.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r22887] Purpose:Dana Robinson2012-10-121-4/+4
| | | | | | | | Fixes a variety of compile warnings and issues in the B-tree and heap code. Tested on: jam
* [svn-r22885] Purpose:Dana Robinson2012-10-111-19/+109
| | | | | | | | Adds some additional flush dependency plumbing and fixes some minor issues with the v2 B-tree code. Tested on: local Ubuntu VM
* [svn-r22422] Purpose: Add support for SWMR with v2 b-treesNeil Fortner2012-05-301-39/+432
| | | | | | | | | | | | | Description: Adds SWMR support to the v2 b-trees when used as a chunk index. Because each node keeps track of the total number of records reachable through each of its children, nodes must be shadowed every time a descendent record is inserted or removed. This implementation prevents this from happening, however, if the node has already been shadowed since the last time the v2 b-tree header was flushed. Also modified SWMR test to include v2 b-trees. Tested: jam, koala, ostrich (h5committest), durandal Note: There is a preexisting failure in the ph5diff (-v) test
* [svn-r22105] Description:Quincey Koziol2012-03-211-14/+14
| | | | | | | | | | Bring r20557:22085 from trunk to this branch, also fixing some other issues/failures in the branch simultaneously. The h5repack tests are still failing, but Neil will be checking into those, so the branch can be fully functional again. Tested on: Mac OSX/64 10.7.3 (amazon) w/debug
* [svn-r19380] Description:Quincey Koziol2010-09-141-1/+1
| | | | | | | | Minor code cleanups. Tested on: Mac OS X/32 10.6.4 (amazon) w/debug & production (h5committest not required on this branch)
* [svn-r19378] Modifications to using v2 B-tree as index for chunked datasets ↵Vailin Choi2010-09-131-2/+6
| | | | | | with >1 unlimited dimensions. h5committested.
* [svn-r18708] Description:Quincey Koziol2010-05-051-12/+21
| | | | | | | | Bring r18638:18704 from trunk to revise_chunks branch. Tested on: Mac OS X/32 10.6.3 (amazon) w/debug & production (h5committest not required on this branch)
* [svn-r18639] Description:Quincey Koziol2010-04-271-2/+4
| | | | | | | | Bring r18619:18638 from trunk to revise_chunks branch. Tested on: FreeBSD/32 6.3 (duty) w/debug (h5committest not required on this branch)
* [svn-r18582] Description:Quincey Koziol2010-04-151-1/+1
| | | | | | | | | | | | | | | | | | | | | Bring r18533:18581 from trunk to revise_chunks branch. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) 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 debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.6.3 (amazon) in debug mode Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r18534] Description:Quincey Koziol2010-04-081-1/+0
| | | | | | | | | | | | | | | | | | Bring r18446:18533 from trunk to revise_chunks branch. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) 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 debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r18451] Description:Quincey Koziol2010-03-251-2/+2
| | | | | | | | | | | | | | | | | | Bring r18172:18446 from trunk to revise_chunks branch. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) 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 debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r17946] Description:Quincey Koziol2009-12-011-24/+49
| | | | | | | | | | | | | | | | | | | | Bring r17899:17945 from trunk to revise_chunks branch Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, 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 debug mode Mac OS X/32 10.6.2 (amazon) in debug mode Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r17896] Description:Quincey Koziol2009-11-161-467/+452
| | | | | | | | | | | | | | | | | | | | | | | | Bring r17546:17895 from trunk to revise_chunks branch. Changes to fixed and extensible array dataset chunk indexing code to accommodate changes to private APIs in those interfaces. Also, other adjustments to source code and expected output in response to changes on the trunk. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, 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 debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.6.2 (amazon) in debug mode Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r15800] Description:Quincey Koziol2008-10-071-21/+11
| | | | | | | | | | | | | | | | | | | | | | | 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-r15211] Description:Quincey Koziol2008-06-131-2/+2
| | | | | | | | | | | | | | | | | | | | Update the gcc flags for version 4.3 Clean up warnings Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (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/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.3 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r13984] Description:Quincey Koziol2007-07-171-12/+19
| | | | | | | | | | | Various code cleanups and refactor recent changes for h5stat to fit into the existing library data structures better. Tested on: Mac OS X/32 10.4.10 (amazon) FreeBSD/32 6.2 (duty) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13978] purpose:Vailin Choi2007-07-131-0/+72
| | | | | | | | | | | | | | New feature. Description: Added routines to report on the amount of storage for: 1) 1.6 btree and heap storage info for groups 2) 1.8 btree, fractal heap storage info for groups, attributes and SOHM table 3) btree storage for chunked datasets 4) 1.8 superblock extension size. Platform tested: h5committested.
* [svn-r13773] Description:Quincey Koziol2007-05-201-22/+22
| | | | | | | Reduce compiler warnings w/gcc 4.2 Tested on: FreeBSD/32 6.2 (duty) w/gcc 4.2
* [svn-r13771] Description:Quincey Koziol2007-05-191-1/+1
| | | | | | | Fix some more unitialized variables that were flagged by valgrind. Tested on: FreeBSD/32 6.2 (duty) w/valgrind
* [svn-r13690] Description:Quincey Koziol2007-04-191-2/+2
| | | | | | | | | | | | | Fully enable readers/writer locking in metadata cache and correct errors in cache clients which were modifying a cache entry while only holding a read lock on it. Tested on: Mac OS X/32 10.4.9 (amazon) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2) FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty)
* [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-r13047] Description:Quincey Koziol2006-12-121-8/+8
| | | | | | | | | | | | | | Add "attribute exists" internal routine to make verifying that an attribute with the same name doesn't already exist easier. Tweak "trace" script to produce more whitespace in H5TRACE macros, in order to make them easier to read. Minor other whitespace cleanups Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13028] Description:Quincey Koziol2006-12-061-2/+3
| | | | | | | | | | | | | | | | | Add first pass of "dense" attribute storage to objects. Lots of parts of this are stubbed out, but all the tests are passing and I'll work on the corner cases soon. Eliminated several unused parameters from object header message callback routines. Other, miscellaneous code cleanups, etc. (and probably some things I've forgotten about... :-) Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) AIX/32 5.? (copper)
* [svn-r13019] Description:Quincey Koziol2006-12-041-1/+1
| | | | | | | | | | | Further simplifications and cleanups to object header message code. Also, some changes to the "iterate" routines, in order to not override the return value from the iterator callback routine. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12914] Description:Quincey Koziol2006-11-141-18/+110
| | | | | | | | Checkpoint partially working v2 B-tree delete by index code (ifdef'ed out) for further work. Tested on: Linux/32 2.6 (chicago)
* [svn-r12873] Decription:Quincey Koziol2006-11-071-6/+10
| | | | | | | | 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-r12644] Description:Quincey Koziol2006-09-051-46/+69
| | | | | | | | | | | | | 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-4/+3
| | | | | | | | | | | | 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-19/+20
| | | | | | | | | | | | | | | | | 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-r12619] Description:Quincey Koziol2006-08-231-1/+1
| | | | | | | | | | | Fix off-by-one error in computing the size of metadata prefixes for v2 B-tree internal & leaf nodes. General code cleanup and reformating. Tested On: Mac OS X.4/PPC (amazon) Too minor to require h5committest
* [svn-r12561] Description:Quincey Koziol2006-08-101-29/+39
| | | | | | | | | | | | 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-r12093] Purpose:Quincey Koziol2006-03-151-0/+5
| | | | | | | | | | | | | Code checkpoint Description: Checkpoint fractal heap changes - mostly internal changes to better handle more direct blocks from root indirect block. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 (chicago) Mac OS X (amazon)
* [svn-r11968] Purpose:Quincey Koziol2006-02-271-3319/+2
| | | | | | | | | | | | | | Incrementtal checkin Description: Revise & update v2 B-tree code to separate the internal package-specific routines from the library-callable "private" routines. Similar updates for the fractal heap code. Platforms tested: FreeBSD 4.11 (sleipnir) Mac OSX (amazon)
* [svn-r11966] Purpose:Quincey Koziol2006-02-271-283/+52
| | | | | | | | | | | | Code cleanup Description: Style fixes for consistency & other minor cleanups Platforms tested: FreeBSD 4.11 (sleipnir) Mac OSX (amazon) Linux 2.4
* [svn-r11712] Purpose:Quincey Koziol2005-11-151-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New feature Description: Check in baseline for compact group revisions, which radically revises the source code for managing groups and object headers. WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! This initiates the "unstable" phase of the 1.7.x branch, leading up to the 1.8.0 release. Please test this code, but do _NOT_ keep files created with it - the format will change again before the release and you will not be able to read your old files!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! Solution: There's too many changes to really describe them all, but some of them include: - Stop abusing the H5G_entry_t structure and split it into two separate structures for non-symbol table node use within the library: H5O_loc_t for object locations in a file and H5G_name_t to store the path to an opened object. H5G_entry_t is now only used for storing symbol table entries on disk. - Retire H5G_namei() in favor of a more general mechanism for traversing group paths and issuing callbacks on objects located. This gets us out of the business of hacking H5G_namei() for new features, generally. - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t - Lots more... Platforms tested: h5committested and maybe another dozen configurations.... :-)
* [svn-r11686] Purpose:Quincey Koziol2005-11-071-6/+25
| | | | | | | | | | | | | | | | | | | New feature Description: Add in baseline "object copy" code from Peter [in the form of a new API routine: H5Gcopy()]. There's still some work to do (like handling variable- length datatypes and possibly support for references) and it hasn't been tested on mounted files yet, but the core functionality is there and working correctly. I've also got a set of patches to update the 1.6 branch with tweaks to keep the branches mostly in sync, but Elena will kill me if I import them before the 1.6.5 release is out... :-) Platforms tested: FreeBSD 4.11 (sleipnir) h5committested
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-43/+43
| | | | | | | | | | | | | | | | | | | | 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-r11014] Purpose:Quincey Koziol2005-07-021-350/+154
| | | | | | | | | | | | Code cleanup Description: Refactor metadata cache to merge "dirtied" flag in with other flags for H5AC_unprotect and H5C_unprotect. Platforms tested: FreeBSD 4.11 (sleipnir) h5committest
* [svn-r10978] Purpose:John Mainzer2005-06-241-157/+551
| | | | | | | | | | | | | | | | | | | | | | | | | | | Interim checkin of code changes moving management of the is_dirty flag into the cache code. Description: Prior to this checkin, management of the is_dirty flag was handled above the level of the metadata cache. This can no longer be allowed, as it introduces a race condition in the proposed fix for a cache coherency bug in PHDF5. Solution: Move management fo the is_dirty flag to the cache code proper. Entries are now marked as dirty via a flag on the unprotect call. Platforms tested: h5committested Misc. update:
* [svn-r10705] Purpose:Quincey Koziol2005-04-301-5/+1
| | | | | | | | | | | Code cleanup Description: Clean up a few compiler warnings of various sorts... Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r10628] Purpose:Quincey Koziol2005-04-181-3/+4
| | | | | | | | | | | Code cleanup Description: Clean up various warnings reported by the Windows team. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r10503] Purpose:Quincey Koziol2005-03-291-1/+1
| | | | | | | | | | | Fix typo Description: Fix typo in comment. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r10229] Purpose:Quincey Koziol2005-03-171-2/+2
| | | | | | | | | | | Update comments Description: Correct some minor errors in comments/error strings. Platforms tested: FreeBSD 4.11 (sleipnir) w/parallel Solaris 2.9 (shanti)
* [svn-r10196] Purpose:Quincey Koziol2005-03-111-2/+2
| | | | | | | | | | Code cleanup Description: Actually use the new error code defined... :-) Platforms tested: None, too minor to require re-test.
* [svn-r10195] Purpose:Quincey Koziol2005-03-111-0/+181
| | | | | | | | | | | 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-3/+9
| | | | | | | | | | | | | | 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-r10183] Purpose:Quincey Koziol2005-03-111-1/+1
| | | | | | | Fix comment Platforms tested: None, too minor...
* [svn-r10177] Purpose:Quincey Koziol2005-03-101-3/+2
| | | | | | | | | | Update comments Description: Correct comment about how H5B2_create() works. Platforms tested: None, just minor comment change.
* [svn-r10176] Purpose:Quincey Koziol2005-03-101-6/+133
| | | | | | | | | | | New feature Description: Add routine to delete entire B-tree from a file. Platforms tested: FreeBSD 4.11 (sleipnir) Solaris 2.9 (shanti)
* [svn-r10172] Purpose:Quincey Koziol2005-03-091-14/+267
| | | | | | | | | | | | | | 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)