Added tests for most of the types that were added to the data transform code.
Further tests will also be added shortly.
Platforms tested:
sol + eirene
Misc. update:
Rewrote H5Z_xform_eval_full such that it no longer "returns an aggregate"
Added support for CHAR, LONG, ULONG, DOUBLE, SHORT, USHORT, UCHAR, SCHAR, and
UINT to the data transform. Support for LLONG and ULLONG to be added shortly.
Description:
Data transforms can now operate on arrays with the native types listed above.
Platforms tested:
sol + eirene
Misc. update:
Purpose: change feature
Description: Back up support bitfield and time datatypes in H5Tget_native_type.Leave it to future support. Let it return "not supported" error message for
now.
Platforms tested: h5committest and fuss.
Misc. update: RELEASE.txt
Update hdf5build.bat file.
Description:
Previouly, when building HDF5 from command line, hdf5 and hdf5dll projects were built three times to build HDF5 C/C++/Fortran libraries. There was due that the "Rebuild" option was used with msdev.exe. It is kind of wasting to build hdf5 and hdf5dll projects three time.
Solution:
The batch file is reorganized. So hdf5 and hdf5dll projects will be only be built once.
Also, the syntax detecting feature is added to the batch file. Now if an unexpected option was given to the batch file, a warning message and the help messages would be shown.
Platforms tested:
Visual C++ 6.0 on Windows 2000 and XP.
Misc. update:
Update.
Description:
H5DSeq.c was removed from hdf5/src, and H5Defl.c, H5Dselect were added to hdf5/src. So the related windows projects need to be updated.
Solution:
1. Removed H4DSeq.c from hdf5 and hdf5dll projects.
2. Added H5Defl.c and H5Dselect.c to hdf5 and hdf5dll projects.
Platforms tested:
Visual C++ 6.0 on Windows 2000 and XP.
Misc. update:
Bug fix
Description:
Relax restrictions on parallel I/O to allow compressed, chunked datasets
to be read in parallel (collective access will be degraded to independent
access, but will retrieve the information still).
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel
Solaris 2.7 (arabica)
IRIX64 6.5 (modi4)
h5committest
Bug fix & code cleanup
Description:
More dataset cleanups to get to a point where we can fix the chunked I/O
bug.
Also fix a couple of errors in the recent file object resurrection changes
which should hopefully address the recent daily test failres (H5T.c)
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel
Solaris 2.7 (arabica)
h5committest
Bug Fix.
Description:
Fix bugs in installhdf5lib.bat batch file as described below:
previously, h5diff.exe, h5diffdll.exe, h5repack.exe, and h5repackdll.exe were not installed into hdf5lib directory.
Solution:
Add scripts to copy the above 4 files into corresponding directories under hdf5lib.
Platforms tested:
Windows XP.
Misc. update:
Description: enable size adjustment for compound datatype. The size
can be increased and decreased(as long as the last member isn't cut).
Solution: mainly check if the last member is being cut when decreasing
the size. Others are simply taking out assertion to enable this feature.
Platforms tested: h5committest and fuss.
Misc. update: RELEASE.txt
Purpose:
This version updates the procedure for creating PDF versions of
HDF5 documents to reflect the use of Macromedia DreamWeaver and
HTMLdoc. process.txt describes the current RM process in detail;
the very similar UG process will be described later.
Purpose:
This file describes the process for creating the PDF versions of
HDF5 documents. The file being checked in now is the original
version (November 1999) from when hte process used MS Word.
Platforms tested:
This process was tested by using it to guide the production process
for at least 2 releases.
Bug fix/code cleanup
Description:
Clean up raw data I/O code to bundle the I/O parameters (dataset, DXPL ID,
etc) into a single struct to pass around through the dataset I/O routines,
since they are always passed together, until very near the bottom of the I/O
stack.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel
Solaris 2.7 (arabica)
IRIX64 6.5 (modi4)
h5committest
Bug fix.
Description:
There was a historical hack to prevent runtest in multiple
hosts to run cvs update while they were launched by the daily test.
But a more proper fix has been implemented to prevent that but
this hack was not removed. It ended up enforcing one CVS update
per day. But if someone tested runtest during the day, it would
prevent the evening daily from doing update. That is not good.
Solution:
Removed the hack which is not need any more.
Platforms tested:
NO h5committest since it does test runtest. Tested it by
hand in eirene and heping.
Misc. update:
Bug fix
Description:
Another attempt to fix the address overflow in the core VFL, hopefully one
that works on 64-bit platforms.
Platforms tested:
AIX 5.1 (copper)
Purpose:
Feature
Description:
Datatypes and groups now use H5FO "file object" code that was previously
only used by datasets. These objects will hold a file open if the file
is closed but they have not yet been closed. If these objects are unlinked
then relinked, they will not be destroyed. If they are opened twice (even
by two different names), both IDs will "see" changes made to the object
using the other ID.
When an object is opened using two different names (e.g., if a dataset was
opened under one name, then mounted and opened under its new name), calling
H5Iget_name() on a given hid_t will return the name used to open that hid_t,
not the current name of the object (this is a feature, and a change from the
previous behavior of datasets).
Solution:
Used H5FO code that was already in place for datasets. Broke H5D_t's, H5T_t's,
and H5G_t's into a "shared" struct and a private struct. The shared structs
(H5D_shared_t, etc.) hold the object's information and are used by all IDs
that point to a given object in the file. The private structs are pointed
to by the hid_t and contain the object's group entry information (including its
name) and a pointer to the shared struct for that object.
This changed the naming of structs throughout the library (e.g., datatype->size
is now datatype->shared->size). I added an updated H5Tinit.c to windows.zip.
Platforms tested:
Visual Studio 7, sleipnir, arabica, verbena
Misc. update:
Bug fix.
Description:
Fix off-by-one error in Core VFL driver which would cause spurious address
or size overflow errors when an odd valued address or size was checked.
Platforms tested:
FreeBSD 4.10 (sleipnir)
Linux 2.4 (heping)
Solaris 2.7 (arabica)
Bug fix
Description:
Fix situation where deleting a chunked datasets with B-tree nodes that
weren't in the metadata cache would die with a core dump.
Platforms tested:
FreeBSD 4.10 (sleipnir)
Linux 2.4 (heping)
Solaris 2.7 (arabica)
Feature
Description:
Added code to support the -configname feature.
Platforms tested:
no h5committest which does not test this command.
ran it by hand in eirene comparing tg-login1 and tg-login2.
Misc. update:
Code clean up
Description:
The tests used to have their own test file names due to
the original program layout. Now that it is using the
common test interface, individual test can be invoked
at will (via -o). There is no need to have different
test filenames. Only requirement is that certain read
tests must follow immediately the corresponding write
test since they use the same file.
I have combined all test file names into just one common
file name. This reduces the printout of test file name,
very beneficial when the test is run by large number of processes.
It makes future code maintenance easier too.
Platforms tested:
Tested in Eirene(PP) only. No h5committest because this is
limited to the parallel tests and the changes are trivial.
Misc. update:
Fix a small bug inside installhdf5lib.bat.
Description:
Fortran .h files are not needed.
Previously c++ header files are not properly moved.
Solution:
Platforms tested:
No need to test.
Misc. update:
Bug fix
Description:
Fix for small memory leak that occurs when destroying the data transform
property. Forgot to free the array of pointers to the temorary data.
Solution:
Freed memory.
Platforms tested:
sol + eirene
Misc. update:
Code optimization
Description:
Avoid performing a check on the number of objects in a group (which
currently involves iterating over all entries in the group's B-tree) before
calling H5G_get_obj<foo>_by_idx. Instead, just have H5G_get_obj<foo>_by_idx()
notice when you've walked off the end and return fail then.
Platforms tested:
FreeBSD 4.10 (sleipnir)
h5committest
Cleanup
Description:
Remove old hack for H5Eget_auto() which is not needed any more.
Reverse H5E_set_auto_stack(H5EDEFAULT,...) back to previous
code of H5E_set_auto(...). Same for H5E_get_auto_stack.
Platforms tested:
Only tested in Eirene PP as the change is pretty straight
forward.
Misc. update:
Bug fix.
Description:
the Data transformation code that failed when a data transform property
for simple expression is fixed. Turned the tests back on.
Platforms tested:
Tested in copper (pp) where the failure appeared. Also in eirene
as double check. No h5committest as the change is trivial.
Bug fix.
Description:
Code would attempt to Calloc with zero count when a simple expression
that has no x term. That resulted in NULL for some platform (like AIX).
That appeared as a failure treated as out of space.
Solution:
Checked if count is larger than 0 before making the calloc request.
Platforms tested:
Tested in copper (pp) where the failure appeared. Also in eirene
as double check. No h5committest as the change is trivial.
Add test to verify the fix of the parallel I/O mode confusion bug.
Description:
While the parallel I/O mode confusion bug is fixed, an automated
regression test for this bug would be useful.
Solution:
Added a modified version of the original bug demonstration program
to testphdf5.
Platforms tested:
copper
h5committested
eirene (parallel)
Misc. update:
Port fix of parallel I/O mode confusion bug from the 1.6 tree to the 1.7 tree.
Description:
Collective I/O is not supported for point selections. Thus when some
processes attempted I/O with point selections, and others without, some
attempted collective I/O while others did independent I/O.
Solution:
Arranged for all processes to compare notes before starting I/O, and
for all to use independent I/O if any one of them can't do collective
I/O.
Platforms tested:
copper
h5committested
eirene (parallel)
Misc. update:
Bug fix.
Description:
THe trivial transform property list creation triggered a code
error. Skip these two tests temporary. Will fix it later.
Platforms tested:
Copper where it exposed the failures.
Misc. update:
Added H5Pget_data_transform
Added support for polynomial data transforms
Description:
There is now support for polynomial data transforms (ie, (2+x)*(x-5)) instead
of just linear ones.
Note that, in order to compute a polynomial transform, one temporary copy of
the original data must be stored for each occurence of "x" in the transform
expression. This can result in very high memory usage for expressions of high
order.
Platforms tested:
sol + eirene
Misc. update:
Bugfixes in H5Pget/set_fclose_degree
Clarification in H5Pset_filter
Description:
H5Pget_fclose_degree and H5Pset_fclose_degree
Functions index at top of page:
Move H5Pget/set_fclose_degree into "File Access Properties."
Remove "File Close Properties" section.
H5Pget_fclose_degree -- Correct parameter description.
(Contribute to closing Bugzilla entries 188 and 190.)
H5Pset_filter -- Clarification of terms
Other minor formatting and copy edits.
Platforms tested:
Mozilla
Update release_docs/RELEASE.txt to describe options for dealing
with installations which insert extra text in output, thereby
breaking tests which function by comparing output with an exemplar.
Description:
See above.
Solution:
Add discussion of this possible problem, and listed two possible
solutions:
1) "setenv HDF5_Make_Ignore yes" and then score "failed" tests
by hand.
2) Use the RUNSERIAL environment variable to use a filter script
to filter out the extra text.
Platforms tested:
No testing needed.
Misc. update:
Bug fix
Description:
Correct typedef for dataset region references to avoid struct alignment
issues on Crays.
Solution:
Change the typedef for hdset_reg_ref_t from a struct to an array of
unsigned char's of the correct size and propagate the appropriate adjustments
around the code.
Platforms tested:
FreeBSD 4.10 (sleipnir)
Linux 2.4 (verbena) w/fortran
Cray T90 (subzero) w/fortran
Cray SV1 (wind) w/fortran & parallel
Cray T3E (cyclone) w/fortran & parallel
Bug fix.
Description:
Last time, I renamed the SZIP-encode-checking environment variable from H5_SZIP_CAN_ENCODE to HDF5_SZIP_ENCODE. But I forgot to update the repacktest.bat batch file. This time, repacktest.bat is updated.
Solution:
Platforms tested:
Not necessary.
(Already tested with Visual C++ 6.0 on XP, but forgot to update it into all.zip last time).
Misc. update:
Code cleanup
Description:
Tweak recent "forward compatibility" changes to the H5E* API (which allowed
for the old H5E API functions to remain unchanged) by allowing for the error
stack callback function (H5E_auto_t) to also remain unchanged from the 1.6
branch. This required changing the H5E{get|set}_auto routines to have the
old style H5E_auto_t type (which didn't have a stack ID parameter) and the new
H5E{get|set}_auto_stack routines to have a newer "H5E_auto_stack_t" type (which
has a stack ID parameter). This should make the H5E API changes as forwardly
compatible as possible.
One side-affect of this change was that it was impossible to determine if
the current auto error callback was the old style (H5E_auto_t) or the new style
(H5E_auto_stack_t) of callback, so a new API function (H5Eauto_is_stack) was
adde to query this.
Platforms tested:
FreeBSD 4.10 (sleipnir)
IRIX64 6.5 (modi4)
h5committest