Commit Graph

6681 Commits

Author SHA1 Message Date
Bill Wendling
d77d7e04c5 [svn-r6030] Purpose:
Another Oops
Description:
    I accidentally checked in the H5D.c module when I shouldn't have.
Solution:
    Rolled back to 1.281 version
Platforms tested:
    Linux
2002-10-23 17:13:00 -05:00
Bill Wendling
d1f3de3a58 [svn-r6029] Purpose:
Oops
Description:
    The H5FPprivate.h file was being #included even if PARALLEL was
    turned off.
Solution:
    put the #include of the H5FPprivate.h file within the #ifdef block so
    that it doesn't get included if H5_HAVE_FPHDF5 isn't defined.
Platforms tested:
    Linux...
2002-10-23 17:09:33 -05:00
Bill Wendling
f5b0c68a53 [svn-r6028] Purpose:
Bug Fix
Description:
    The NBYTE{ENCODE,DECODE} macros were updating the pointer "p" to a
    new value instead of one of the "real" pointers passed into the
    macro.
Solution:
    Changed it so that it updates the destination pointer which gets
    passed into these macros.

    I'm not sure if this is correct, since neither of these macros are
    actually used in our source code...
Platforms tested:
    They aren't used, so no testing possible.
2002-10-23 14:35:36 -05:00
Bill Wendling
42e07130b8 [svn-r6026] Purpose:
Feature Add
Description:
    New Makefiles and H5config.h.in file for the Flexible Parallel HDF5
    stuff.
Platforms tested:
    Eirene, Arabica, Modi4
2002-10-23 14:31:45 -05:00
Bill Wendling
79f0efa9fd [svn-r6025] Purpose:
Feature Add
Description:
    New files for the Flexible Parallel HDF5 stuff.

    H5FP.c - Module housing the APIs to FPHDF5
    H5FPclient.c - Module housing the internal client APIs
    H5FPserver.c - Module housing the internal server APIs
    H5FPpublic.h - Header for public APIs
    H5FPprivate.h - Header for private APIs
    H5Ofphdf5.c - Way of serializing FPHDF5 information to and from the
                  SAP
    H5Oplist.c - Way of serializing a generic property list.

Solution:
    [details about the changes, algorithm, etc...]
    [Please as detail as you can since your own explanation is
    better than others guessing it from the code.]
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}?
    [If no, why not?]
    Other platforms/configurations tested?
Misc. update:
    Update MANIFEST if you add or remove any file.
    Update release_docs/RELEASE for bug fixes, new features, etc.
    Update applicable document files too.
2002-10-23 14:30:50 -05:00
Bill Wendling
b39dd538ec [svn-r6024] Purpose:
Feature Add
Description:
    Moved some functions from having only module scope to having public
    scope, but only available in the HDF5 internals (not public APIs).
Platforms tested:
    Eirene, Arabica, Modi4
2002-10-23 14:28:05 -05:00
Bill Wendling
8999dd751d [svn-r6023] Purpose:
Feature Add
Description:
    Added some error messages for the Flexible Parallel HDF5 stuff.
Platforms tested:
    Arabica
    Eirene
    Modi4
2002-10-23 14:24:25 -05:00
Albert Cheng
7e105d1066 [svn-r6006] Purpose:
Bug fix (ID 841)
Description:
    h5dumptst (generating h5dump test files) failed with an assertion error
    in H5S_select_iterate.  H5S_select_iterate did not account for scalar
    type that has rank=0, thus no dimension sizes.
Solution:
    Put the assertion of valid sizes only after verify rank is larger than
    0.  (fix is coached by Quincey.)
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}? YES.
Misc. update:
    Update release_docs/RELEASE for bug fixes, new features, etc. YES.
2002-10-15 16:12:48 -05:00
Quincey Koziol
e5565c55a3 [svn-r6005] Purpose:
New feature.

Description:
    Added check for "HDF5_DISABLE_VERSION_CHECK" environment variable to
    disable the version checking code between the headers and the library.

Tested:
    FreeBSD 4.7 (sleipnir) - no triple check necessary.
2002-10-15 15:12:11 -05:00
Quincey Koziol
1e231d3283 [svn-r5995] Purpose:
Code cleanup/Bug Fix

Description:
    Re-do the ID->name code again, taking into account many more weird and
    wonderful special cases stumbled across during the last set of test
    writing.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w and w/o parallel
    Linux 2.2.x (eirene) w/FORTRAN & C++
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN & parallel
2002-10-14 15:08:23 -05:00
Quincey Koziol
0173a3720d [svn-r5993] Purpose:
New feature.

Description:
    Add H5P_DEFAULT_HASH_SIZE macro for users to use as the default size of
    hash tables for H5Pcreate_class.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w and w/o parallel
    Linux 2.2.x (eirene) w/FORTRAN & C++
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN & parallel
2002-10-14 14:57:17 -05:00
Quincey Koziol
754cf917b4 [svn-r5992] Purpose:
Bug fix

Description:
    Generic property classes where incorrectly reference counting their
    users, in certain cases, causing a memory leak.

Solution:
    Cleanup reference counting code & unify in H5P_access_class()

Platforms tested:
    FreeBSD 4.6 (sleipnir) w and w/o parallel
    Linux 2.2.x (eirene) w/FORTRAN & C++
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN & parallel
2002-10-14 14:56:13 -05:00
Quincey Koziol
c91edf2b3a [svn-r5988] Purpose:
Code cleanup

Description:
    Changed a HRETURN_ERROR to HGOTO_ERROR

Platforms tested:
    FreeBSD 4.6 (sleipnir) w and w/o parallel
    Linux 2.2.x (eirene) w/FORTRAN & C++
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN & parallel
2002-10-14 14:41:11 -05:00
Quincey Koziol
294647ea97 [svn-r5987] Purpose:
Code cleanup

Description:
    Clean up compile warnings.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w and w/o parallel
    Linux 2.2.x (eirene) w/FORTRAN & C++
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN & parallel
2002-10-14 14:23:40 -05:00
Quincey Koziol
a028401448 [svn-r5986] Purpose:
Code cleanup

Description:
    Shift further toward removing the HRETURN* macros, in favor of the HGOTO*
    macros for error reporting.

    This change disables them in the header file and is the last change before
    removing them entirely after the 1.6 release.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w and w/o parallel
    Linux 2.2.x (eirene) w/FORTRAN & C++
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN & parallel
2002-10-14 13:37:36 -05:00
Quincey Koziol
ea08053e29 [svn-r5983] Purpose:
More fixups to the Dependencies files...
2002-10-14 13:11:12 -05:00
Quincey Koziol
b9c390c382 [svn-r5982] Purpose:
Update to correctly build H5Tinit.c from H5detect
2002-10-14 10:17:01 -05:00
Quincey Koziol
a83585acca [svn-r5981] Purpose:
Regenerate Dependencies files.
2002-10-14 09:58:25 -05:00
HDF Admin
8e9f6be0f3 [svn-r5979] Snapshot version 1.5 release 38 2002-10-12 03:42:23 -05:00
Quincey Koziol
2f798b85df [svn-r5968] Purpose:
Code cleanup
Description:
    Change new H5P_get_class_path and H5P_open_class_path functions to be non-
    static and put prototypes in H5Pprivate.h
Platforms tested:
    FreeBSD 4.6 (sleipnir) (no triple-check necessary)
2002-10-09 08:13:57 -05:00
Quincey Koziol
ec65ddbef6 [svn-r5964] Purpose:
Internal feature.

Description:
    To complement the "get the class's path" functionality, there needs to be
    a way to open a generic property class with a path.

Solution:
    Implement the "open a class by path" functionality.  Also, add internal
    testing routines.

Platforms tested:
    FreeBSD 4.6 (sleipnir) (too small for triple testing)
2002-10-08 12:16:07 -05:00
Quincey Koziol
7e5d420349 [svn-r5963] Purpose:
New internal feature.
Description:
    Need some way to determine the "full path" for a generic property class,
    i.e. where is this class in the class hierarchy, in relation to its parent
    class, etc.
Solution:
    Added an internal function "H5P_get_class_path" and a testing function
    "H5Pget_class_path_test" that builds the full path of a generic property
    class back to the top of its class hierarchy.

    This implementation uses '/' characters to delimit the components of the
    class path, but no special cases are currently supported for having a '/'
    character as part of the actual class name.  Should this become an issue,
    code to support (and test) it will need to be added.

Platforms tested:
    FreeBSD 4.6 (sleipnir) (not major enough to justify triple-test)
2002-10-08 09:08:10 -05:00
Quincey Koziol
f2d67b4864 [svn-r5962] Purpose:
Bug fix
Description:
    H5Pequal's algorithm for comparing property lists wasn't allowing property
    lists that are equal but had the properties inserted in a different order
    in the list's hash table.
Solution:
    Re-did the algorithm a bit to compare the properties better.
Platforms tested:
    FreeBSD 4.6 (sleipnir) (minor enough to not need triple testing)
2002-10-07 12:55:55 -05:00
Quincey Koziol
0a8533efe1 [svn-r5961] Purpose:
New error code
Description:
    Add a new error code for the generic properties to use.
Platforms tested:
    FreeBSD 4.6 (sleipnir) (too small to need triple testing)
2002-10-07 12:48:27 -05:00
Raymond Lu
bc6f56390a [svn-r5959]
Purpose:
    Performance improvement for compact dataset.
Platforms tested:
    Linux 2.2(eirene), Solaris 2.7(arabica), IRIX64 6.5(modi4)
2002-10-04 15:51:00 -05:00
Raymond Lu
09325c1da6 [svn-r5955]
Purpose:
    a bug fix
Description:
    modify the condition check for the file close degree.
Platforms tested:
    Linux 2.2(eirene), Solaris 2.7(arabica), IRIX64 6.5(modi4)
2002-10-01 09:35:01 -05:00
Raymond Lu
8410a85365 [svn-r5954]
Purpose:
     a bug fix
Description:
    When a file is opened for a second time, file close degree is supposed to
    be either the same as the first open, or default as the first open is also
    default.
Platforms tested:
    Linux 2.2(eirene), Solaris 2.7(arabica), IRIX64 6.5(modi4)
2002-09-30 16:51:05 -05:00
Raymond Lu
d1e26ae328 [svn-r5951]
Purpose:
    New API functions
Description:
    Added API functions to return pointer to low-level file handle
    (H5Fget_vfd_handle and H5FDget_vfd_handle) and related property list
    setting functions(H5Pset_family_offset and H5Pset_multi_type).
Platforms tested:
    Linux 2.2(eirene), Solaris 2.7(arabica), IRIX64 6.5(modi4)
2002-09-30 11:31:55 -05:00
HDF Admin
4cfb158c29 [svn-r5949] Snapshot version 1.5 release 37 2002-09-28 03:38:31 -05:00
Quincey Koziol
12e30dc9b2 [svn-r5947] Purpose:
Code cleanup

Description:
    Clean up ID->name code:
        - Reformat to better match library coding standard
        - Changed several algorithms to be more efficient
        - Integrated into library more smoothly

Platforms tested:
    eirene w/FORTRAN & C++
    arabica w/FORTRAN
    modi4 w/FORTRAN & parallel
    sleipnir
2002-09-25 09:50:49 -05:00
Pedro Vicente Nunes
47fc490832 [svn-r5936]
Purpose:
      bug fix


       [       i  s      this a bug fix? feature? ...]
Description:


  the copy of a symbol table entry was done with a  shallow copy, in H5T_copy
 this was causing an exception on the free call of the ID to name buffer


                                                            replaced a shallow copy of a symbo  l a          edescribe the bug, or describe the new feature, etc]

Solution:
    [details about the changes, algorithm, etc...]

    [Please as detail as you can since your own explanation is
    better than others guessing    it from the code.]
Platforms tested:
windows 2000
solaris with cpp, fortran
irix64, with fortran, parallel              i r



[machines you have tested the changed version.  This is absolute
    important.  Test it out on at least two or three different platforms
    such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
    64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
2002-09-21 18:20:00 -05:00
MuQun Yang
e5b28ef37b [svn-r5931]
Purpose:
__DLL__ is a keyword in some platforms and __DLL__ is also defined as a macro for windows DLL applications.
That causes problems.
Description:
Solution:
Use H5_DLL*** to replace __DLL***__ at all header files.
Change the macro defination at H5api_adpt.h.
Platforms tested:
linux2.2.18smp, irix64, solaris 2.7 and windows 2000
2002-09-20 15:36:09 -05:00
Pedro Vicente Nunes
2aca3b77d6 [svn-r5929]
Purpose:
    bug fix
Description:
    memory leak regarding the ID to name buffer
Solution:
    added a new function H5G_free_ent_name that is called on several places of the library
Platforms tested:
 windows 2000
 linux, with cpp
 solaris, with fortran, cpp
 irix64, with parallel, fortran
2002-09-18 10:51:29 -05:00
HDF Admin
d32ad09043 [svn-r5927] Snapshot version 1.5 release 36 2002-09-14 03:38:10 -05:00
Quincey Koziol
12f8879c40 [svn-r5926] Purpose:
API name change

Description:
    Change all "space time" references to "alloc time", including API functions
    and macro definitions, etc.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/C++
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/parallel & FORTRAN
2002-09-13 11:57:46 -05:00
Quincey Koziol
18758623d7 [svn-r5925] Purpose:
Code cleanup

Description:
    Eliminate memory leak of compact storage raw data buffer found by purify.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/C++
    Solaris 2.7 (arabica) w/C++
    IRIX64 6.5 (modi4) w/parallel & FORTRAN
2002-09-13 11:29:30 -05:00
Quincey Koziol
f0f56c0c0a [svn-r5924] Purpose:
Code cleanup

Description:
    Switch order of test on array bounds to avoid reading data outside of array
    Located by purify.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/C++
    Solaris 2.7 (arabica) w/C++
    IRIX64 6.5 (modi4) w/parallel & fortran
2002-09-13 11:27:09 -05:00
Quincey Koziol
208e59bab9 [svn-r5921] Purpose:
Code cleanup

Description:
    Two of the parameters to H5S_select_hyperslab are defined as
    "const hsize_t foo[]", and then "foo" is assigned another value, which is
    technically against the C standard and is now causing problems for a user
    with a more strict compiler.

Solution:
    Changed "const hsize_t foo[]" to "const hsize_t *foo".

Platforms tested:
    FreeBSD 4.6 (sleipnir) - not a significant enough change to worry about
    multi-platform testing.
2002-09-11 16:34:14 -05:00
Quincey Koziol
7122750342 [svn-r5918] Purpose:
Bug fix.

Description/Solution:
    Fix bug in log file driver where the size of the buffer for recording the
    log information was being set incorrectly.

Platforms tested:
    FreeBSD 4.6 (sleipnir) - no additional testing on other machines neceessary,
    due to scope of fix.
2002-09-11 11:59:56 -05:00
HDF Admin
0b99dd414c [svn-r5912] Snapshot version 1.5 release 35 2002-09-07 10:47:53 -05:00
Pedro Vicente Nunes
d3f2e1bdff [svn-r5911]
Purpose:
    bug fix in 'ID to name' function
Description:
    the function replace_name was only checking for immutable datatypes
Solution:
added a new function H5T_is_named, that checks for named datatypes


Platforms tested:
windows 2000, linux, solaris with Fortran
2002-09-04 10:50:12 -05:00
Bill Wendling
46d9c62ba1 [svn-r5910] Purpose:
Bug Fix
Description:
    Some macros had "NULL" instead of "FAIL" as the return value.
Solution:
    Change from NULL to FAIL.
Platforms tested:
    Eirene (C++), Arabica (Fortran), Modi4 (pp and Fortran).
2002-09-03 18:08:30 -05:00
HDF Admin
ac96356230 [svn-r5908] Snapshot version 1.5 release 34 2002-08-31 11:26:35 -05:00
Pedro Vicente Nunes
dd44d88893 [svn-r5907]
Purpose:
    bug turnaround in test_hdf5_fortran on a h5fmount_c call
Description:
    the H5I_nmembers(H5I_GROUP) call that is made inside
   h5fmount_c  -> H5G_replace_name -> H5I_nmembers(H5I_GROUP)

is not detecteting correctly that the entry belongs to the group list
therefore a call is made to H5I_search(H5I_DATATYPE) (there are always non-named datatypes)
and H5G_replace_ent is called with a search for the datatype group
ent = H5T_entof((H5T_t*)obj_ptr);

which returns a NULL ent

a tweak for this is to add
if( !ent) goto done;



Platforms tested:

windows 2000, Linux, Solaris with fortran
2002-08-30 16:59:22 -05:00
Pedro Vicente Nunes
7bff4eb559 [svn-r5904]
Purpose:
    Added 'ID to name' support
Description:

    There is a new API function H5Iget_name
    Most of the changes are on H5G.c , regarding the symbol table entry struct H5G_entry_t
    which has 2 new fields 'name' and 'old_name'

    A new private function was introduced H5G_ent_copy, that does a deep copy
    between 2 symbol table entries

    The test file is getname.c


Platforms tested:
    windows 2000, Linux, Solaris
2002-08-28 13:34:12 -05:00
Quincey Koziol
966adccc59 [svn-r5900] Purpose:
Code cleanup/New Feature

Description:
    Improve the space allocation in the file by re-using freed space more
    effectively.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/serial & parallel
2002-08-27 14:59:12 -05:00
Bill Wendling
dec82bd98e [svn-r5897] Purpose:
Cleaned up the documentation
Description:
    There were some small errors in the documentation in the source file.
2002-08-27 13:44:31 -05:00
Quincey Koziol
32b58cef08 [svn-r5894] Purpose:
Bug fix/Code cleanup/New Feature

Description:
    Correct problems with writing fill-values to external storage and allocate
    the data storage at the correct times.

    Also, mostly straighten out the strange code which allocates and fills
    raw data storage for datasets.  Things are still a bit odd in that the
    fill-values for chunked datasets are written when the space is allocated,
    instead of in a separate routine, but there are two reasons for this:
    it's inefficient (especially in parallel) to iterate through all the chunks
    twice, and (more importantly) the space needed to store compressed chunks
    isn't known until we've got a buffer of compressed fill-values ready to
    write to the chunk.

    Additionally, add in the H5D_SPACE_ALLOC_INCR and H5D_SPACE_ALLOC_DEFAULT
    setting for the "space time", which incorporate the previous behavior of
    the space allocation for chunked datasets.

    The default settings for the different types of dataset storage are now
    as follows:
        Contiguous - Late
        Chunked    - Incremental
        Compact    - Early

    This checkin also incorporates a change to the behavior of external data
    storage in two ways - fill-values are _never_ written to external storage
    (under the assumption that writing fill-values is triggered by allocating
    space in an HDF5 file, and since space is not allocated in the file, the
    fill-values should not be written) and external data files are now created
    if they don't exist when data is written to them.  The fill-value will
    probably need to be revisited at some time in the future, this just seemed
    like the safer course currently.

    I think I cleaned up some compiler errors also, before getting bogged down
    in the fixes for the space allocation and fill-values.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/serial & parallel.  Will be testing on IRIX64
    6.5 (modi4) in serial & parallel shortly.
2002-08-27 08:41:32 -05:00
Quincey Koziol
a2567e36f0 [svn-r5886] Purpose:
Bug fix

Description:
    Correctly apply filters (like compression) to fill values in chunks that
    are pre-allocated.

    This is OK in parallel also, since all the chunks are identical at this
    point and any chunk may be written by any process.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/parallel
2002-08-23 07:42:56 -05:00
Quincey Koziol
b7b36d7d06 [svn-r5884] Purpose:
Bug fix/Code cleanup

Description:
    Clean up memory leak in fill value code

    Also rearrange logic of code a bit

Platforms tested:
    FreeBSD 4.6 (sleipnir)
2002-08-21 07:36:18 -05:00