Commit Graph

2477 Commits

Author SHA1 Message Date
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
Raymond Lu
d2e629a6c0 [svn-r10070] Purpose: Bug fix
Description:  On some Cray, the size of "short" is 8 byte but only the low-order 4 byte
are over used(precision is 4 byte).  The "perm" in struct "detect_t" contains "-1" for
bytes that aren't used, making detection of order invalid in function print_results().

Solution: Use a "for" loop to search through "perm" find the first non "-1" element,
and use it to decide the byte order of the machine.

Platforms tested: fuss - already tested for v1.6
2005-02-23 16:16:57 -05:00
James Laird
0b83fea125 [svn-r10066] Purpose:
Libtool upgrade

Description:
HDF5 was using libtool 1.4.2.  Upgraded to libtool 1.5.14.

Platforms tested:
verbena, heping, pommier, copper, modi4, arabica
2005-02-23 11:47:00 -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
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
Xiaowen Wu
1acd4485b8 [svn-r10028] Purpose:
New feature.

Description:
    Source code for the scaleoffset internal filter. For debugging purpose.

Solution:

Platforms tested:
    heping, copper, arabica

Misc. update:
2005-02-16 22:31:49 -05:00
Xiaowen Wu
7b4b65be1c [svn-r10025] Purpose:
New feature.

Description:
    Add the scaleoffset internal library filter.

Solution:

Platforms tested:
    heping, copper, arabica

Misc. update:
2005-02-16 22:03:50 -05:00
Xiaowen Wu
92173d4496 [svn-r10024] Purpose:
New feature.

Description:
    Add H5Zset_scaleoffset function for setting up the scaleoffset filter.

Solution:

Platforms tested:
    heping, copper, arabica

Misc. update:
2005-02-16 21:59:12 -05:00
Xiaowen Wu
065fe7bb71 [svn-r10023] Purpose:
New feature.

Description:
    Add the scaleoffset internal library filter.

Solution:

Platforms tested:
    heping, copper, arabica

Misc. update:
2005-02-16 21:52:21 -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
James Laird
8ed95c0011 [svn-r10016]
Purpose:
Bug fix

Description:
modi4 dies during build with strange errors.
The root cause of these is a two-year-old hack in HDF5's libtool
script that only takes effect on IRIX.

Solution:
Edited the libtool hack (by editing ltmain.sh) to correct a bug in
the hack.
Also made sure that compiler-specific DEFAULT_LIBS are used
when linking.

Platforms tested:
sleipnir, copper, modi4, sol
2005-02-16 14:27:27 -05:00
Raymond Lu
182c3fe08d [svn-r10008] Purpose: Bug fix
Description:  When hardware conversion between "long double" and integers was added to the
library, the "double" used in H5T_CONV_Fx and H5T_CONV_xF for alignment wasn't big enough for
"long double".  New macros H5T_CONV_Lx and H5T_CONV_xL were added to use "long double" for
alignment.  But later it's found out the new macros were not necessary.

Solution:  Took out the new macros H5T_CONV_Lx and H5T_CONV_xL; change the "double" to "long
double" for alignment in H5T_CONV_Fx and H5T_CONV_xF.

Platforms tested: h5committest
2005-02-15 13:39:30 -05:00
Raymond Lu
17f24c954c [svn-r10003] Purpose: Bug fix
Description:  At line 3564, the command H5T_bit_set(s, src.u.f.mpos, 1, FALSE)
has unclear intention to me.  Before I figure it out, move it to line 3590,
where I think it should be.  This did fix some data conversion.


Platforms tested:  fuss - already test it for v1.6.
2005-02-14 14:47:57 -05:00
Xiaowen Wu
2d48117817 [svn-r9999] Purpose:
Very slight modification.

Description:
Remove two redundant local macros.

Solution:

Platforms tested:
heping

Misc. update:
2005-02-14 13:15:35 -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
James Laird
b96f342722 [svn-r9993] Purpose:
Bug fix

Description:
Arabica exhibited strange errors when linker found wrong versions of
header files.  This happened because include directories were
given to linker in the wrong order.

Solution:
Move include directories from AM_CFLAGS variable to INCLUDES
variable to put them before CPPFLAGS variable.  Trust me, it works.
This bug may also have contributed to strange errors on other platforms
(kelgia?).

Platforms tested:
copper, sleipnir, arabica.
	(h5dump broke while building on arabica, but this happened in
	a clean checkout, too).
2005-02-11 16:32:22 -05:00
James Laird
3f0a35a4ea [svn-r9988] Purpose:
Bug fix

Description:
pmake (on modi4, for instance) complains about undefined variables
if it is run without the -V flag, which turns those errors to warnings.

Solution:
Added test to configure.in to see if $MAKE will allow Makefiles
with undefined variables.  If not, sets -V flag in AM_MAKEFLAGS.
Ensured that all custom make targets use AM_MAKEFLAGS.
Also defined all variables that caused errors in top-level Makefile.am.
This means that pmake can be used to build hdf5 *from the top level
only*.  To run make from a subdirectory, still need to use -V flag
(or use make or gmake).

Platforms tested:
modi4, heping, copper, sleipnir
2005-02-11 12:40:52 -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
Raymond Lu
479bdb0bbd [svn-r9984] Purpose: New feature and test
Description:  Added support of hardware conversion between "long double" and integers(mainly
in H5Tconv.c) and some test cases(mainly in test/dtypes.c).


Platforms tested:  h5committest and fuss.

Misc. update:  RELEASE.txt
2005-02-10 17:19:39 -05:00
Xiaowen Wu
33d0a6838d [svn-r9982] Purpose:
bug fix plus minor modifications
Description:
The nbit filter makes a wrong assumption that function H5Z_set_local_nbit
and H5Z_filter_nbit will be called together. It uses 2 local variables
outside these functions to pass information from H5Z_set_local_nbit to
H5Z_filter_nbit.

Solution:
Store the two variables in cd_values[], which can be retrieved when
H5Z_filter_nbit is called independently.
Platforms tested:
heping, copper
Misc. update:
2005-02-10 16:50:37 -05:00
Xuan Bai
5bf4aaff68 [svn-r9978] Purpose:
Bug fix.

Description:
Quincey changed "entern H5_DLL" to "H5_DLLVAR" in hdf5/src/H5FLprivate.h which caused some symbols can not be exported correctly by HDF5 DLL.

Solution:
Change "H5_DLLVAR" back to "extern H5_DLL".

Platforms tested:
Visual C++ 6.0 on Windows XP.
.NET 2003 on Windows XP.
Heping (Linux 2.4).

(Note: I talked with Elena and Quincey about this failure.  Quincey asked me to check in this fix.)

Misc. update:
2005-02-10 13:27:11 -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
Raymond Lu
86c18b7e4f [svn-r9966] Purpose: Bug fix
Description: H5Tget_member_value didn't return correct value if called after
H5Tenum_valueof.  It's because there's a sorting on the members of enum type in
H5Tenum_valueof which changed the order of members.

Solution:  Made a copy of original type and do sorting on it to protect the
original order.

Platforms tested:  fuss; tested v1.6 with h5committest

Misc. update:  RELEASE.txt
2005-02-09 10:54:44 -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
Raymond Lu
70c0ba03ce [svn-r9959] Purpose: Bug fix
Description: For variable-length string, H5Tget_class returned H5T_STRING as
its class.  But H5Tdetect_class and H5Tget_member_class considered it as
H5T_VLEN.  This is fixed to let all these 3 functions treat it as H5T_STRING.
Some test cases have been added to dtypes.c


Platforms tested:  heping - already tested for v1.6 with h5committest

Misc. update:  RELEASE.txt
2005-02-08 13:30:29 -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
Raymond Lu
3ca585e46c [svn-r9951] Purpose: Minor bug fix.
Description:  The byte order for all 1-byte integer types was fixed as little-endian
even on a big-endian machine.  This's corrected in h5detect.c.  When types are only
1 byte long, a native int is used substitute the type to detect byte order.   Some tools
like h5dump and h5repack are also corrected in this case.


Platforms tested:  fuss, copper, sol.(There're some failures from the recent configure
change).

Misc. update:  Information in the RELEASE.txt.
2005-02-07 12:56:20 -05:00
Quincey Koziol
1c3c5b18ba [svn-r9940] Purpose:
Bug fix

Description:
    Correct the record count for the newly split root node

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor to require h5committest
2005-02-04 16:33:42 -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
Robert E. McGrath
5592642133 [svn-r9937] Purpose:
Bug

Description:
Assertion failure

Solution:
don't call decrement when the object doesn't exist.

Platforms tested:
shanti,verbena

Misc. update:
2005-02-04 12:22:29 -05:00
Quincey Koziol
c3f7be36ce [svn-r9933] Purpose:
Bug fix

Description:
    Add names for new B-tree objects to metadata cache code.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor for h5committest
2005-02-04 08:15:47 -05:00
James Laird
db2575baa9 [svn-r9930]
Purpose:
Bug fix

Description:
Parallel builds were breaking in tools/lib

Solution:
talign didn't realize it depended on libh5tools.la because its
dependencies listed the full path (../../tools/lib/libh5tools.la).
Changed this, and made similar changes in a couple of other
directories.
This checkin should also add the --foreign flag to every Makefile.in

Platforms tested:
sleipnir (minor change)
2005-02-03 16:59:40 -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
James Laird
ab243bf369 [svn-r9920] Purpose:
Bug fix

Description:
Found the permanant fix to automake/CVS dependency problem

Solution:
Added AM_MAINTAINER_MODE macro to configure.in.
Now automake will never try to regenerate Makefiles, Makefiles.in,
configure, H5config.h, etc. when they are out of date, nor will it
print any warnings.
Developers should  be very very careful to use reconfigure script,
and can add --enable-maintainer-mode flag to configure on heping
to regenerate these files correctly.

Platforms tested:
heping sleipnir copper
2005-02-02 15:59:46 -05:00
James Laird
ed8685acd2 [svn-r9915] Purpose:
Bug fix

Description:
Configuration files' timestamps were incorrect.

Solution:
Update Makefiles.in.  Also added correct paths to autotools on heping,
so heping build should be able to re-generate configuration files even
if they are still broken.

Platforms tested:
sleipnir
2005-02-02 11:00:36 -05:00
James Laird
e3dacb31be [svn-r9912] Purpose:
Bug fix

Description:
Dependencies between configure files (aclocal, configure.in, configure,
Makefiles.am and .in) are still causing Makefiles to try to run autotools
during build.

Solution:
Committed all Makefiles.in to update their timestamps.
As a temporary measure, forcibly prevented automake from running
autotools during build by redefining the variables it uses.

Platforms tested:
sleipnir (No changes to Makefile content)
2005-02-01 16:05:33 -05:00
James Laird
30bfb1e0ea [svn-r9907] Purpose:
Bug fix

Description:
Different compilers use different flags to include Fortran module files

Solution:
Changed boilerplate to use configure variable rather than hardcoded -M flag.

Platforms tested:
sleipnir, sol, copper
2005-02-01 10:27:37 -05:00
James Laird
26303241fe [svn-r9902] Purpose:
Configuration feature

Description:
HDF5 now uses automake to generate Makefiles

Solution:
Makefile.in files are now generated from Makefile.am files.
To reconfigure (after chaning a Makefile.am or configure.in):
/bin/sh bin/reconfigure.sh

Platforms tested:
Many
2005-01-31 22:17:02 -05:00
Xiaowen Wu
5e057c32bd [svn-r9894] Purpose:
Tests modification and improvements of nbit filter.

Description:
Add dynamic allocation of array storing nbit parameters and check if
the number of parameters exceeds what cd_values[] can store; change
function prototypes to improve poratability; minor modification to
improve efficiency of the nbit algorithm.

Platforms tested:
AIX 5.1 and Linux 2.4.

Misc. update:
2005-01-31 10:03:48 -05:00
Quincey Koziol
24c134e28b [svn-r9865] Purpose:
Bug fix

Description:
    Catch another way that vsnprintf() can fail (this time on the HP) and
deal with that.

Platforms tested:
    HP/UX 11.x (kelgia)
    Doesn't affect other platforms
2005-01-24 13:50:31 -05:00
Quincey Koziol
563a8dd140 [svn-r9861] Purpose:
Bug fix

Description:
    Add detect vasprintf() routine and use it instead of vsnprintf() when
formatting error descriptions if it's available.

    Added configure test to detect "broken" vsnprintf() implementations which
don't return the correct number of character for strings that are too long to
fit into the buffer provided (currently a problem on the SGIs and probably the
HP).

    Re-wrote error formatting code in H5Epush_stack() to handle broken
vsnprintf() implementations, etc.

Platforms tested:
    IRIX64 6.5 (modi4)
    h5committest
2005-01-23 22:26:37 -05:00
Quincey Koziol
d363f95d6d [svn-r9858] Purpose:
Code cleanup

Description:
    Clean up a few rements from the Pablo removal

Platforms tested:
    None, very minor
2005-01-22 08:38:49 -05:00
Elena Pourmal
c1df1b3ea4 [svn-r9857] Purpose: Maintenance
Description: Removed PABLO from the source

Solution:

Platforms tested: arabica with 64-bit, copper with parallel,
                  heping with GNU C and C++ and PGI fortran (but
                  I disabled hl, there is some weird problem only
                  on heping: F9XMODFLAG is not
                  propagated to the Makefile files

Misc. update:
2005-01-21 20:16:57 -05:00
Xiaowen Wu
78cfc78d18 [svn-r9854] Purpose:
For N-bit filter,
Adding parameter mappings from HDF5 compound datatype, array datatype and atomic datatype
to cd_values inside HDF5 library.
N-bit filter should work with these datatypes(string and variable length datatype haven't been
considered) in the near future.

Description:
This is for debugging purpose, N-bit filter won't be tested in the daily test.

Solution:

Platforms tested:
AIX 5.1 and Linux 2.4. Arabica is too slow. Hopefully shanti can be used soon.

Misc. update:
2005-01-21 13:13:49 -05:00
John Mainzer
3b90c189ca [svn-r9850] Purpose:
1) Provide facilities in cache to allow us to avoid a potential cache
   consistency bug in the parallel case.

2) Clean up a off by one sanity checking bug.

3) Turn off execution of long running tests in debug mode.


Description:

1) In the parallel case, all writes to metadata must be collective,
   but reads may not be.  In pricipal, this allows us to different
   contents in different caches.  This isn't a problem as long as the
   correct data is always on disk, but unless we can force certain
   writes immediately, that need not be the case.

2) & 3) should need no further explanation.


Solution:

1) Add code allowing us to mark cache entries, and then force
   these entries to be flushed at a later time.

   Note that to actually avoid the bug, we will have to modify
   existing code to use these new features.

2) & 3) should need no further explanation.


Platforms tested:

heping (serial debug and production)

committest (copper, sol, and heping).  test failed on heping in the
c++ portion of the build, but at Quincey's siggestion, I am proceeding
with the checkin.


Misc. update:
2005-01-20 17:40:37 -05:00
Raymond Lu
3d83546b36 [svn-r9849] Purpose: New test and a few bug fix
Description:  Test conversion from native integer to derived floating-point type and convert back;
test conversion from derived floating-point to derived floating-point types and convert back.  Fixed
a few minor bugs related to type conversion in the library.


Platforms tested: h5committest and fuss
2005-01-20 17:19:13 -05:00