Commit Graph

28 Commits

Author SHA1 Message Date
Pedro Vicente Nunes
c6c3526d3c [svn-r13460] removed a debugging macro 2007-03-05 16:49:06 -05:00
Pedro Vicente Nunes
bd01f34589 [svn-r13451]
h5diff bug fix, attributes differences were not being count for total
differences

Revision of H5Ocopy call in h5repack
2007-03-05 11:26:50 -05:00
Pedro Vicente Nunes
a0d5e09775 [svn-r13441]
make 1.7 h5repack more similar to 1.6 h5repack
2007-03-01 16:36:43 -05:00
Pedro Vicente Nunes
b782690027 [svn-r12888]
Introduced the second sweep of the file for a case a reference is present and H5Ocopy was not used.
Moved the code from file h5repack_refs.c to h5repack_copy.c and removed the first file
2006-11-10 15:23:31 -05:00
Pedro Vicente Nunes
50c658d66d [svn-r12884]
h5repack support for H5Ocopy in the copy of objects. The old method
for recreating references was dropped (references recreated in a second
traversal of the file)
The logic for using H5Ocopy or not is
if the input DCPL has filters or non default layout OR these are
requested by the user THEN
use the old h5repack read / write
ELSE
use H5Ocopy
2006-11-08 16:34:21 -05:00
Pedro Vicente Nunes
df803f78d0 [svn-r12793] 1. fix a compiling error in atlantia
2. added the test library delete framework to delete output .h5 files
3. cleaned warnings
2006-10-20 13:45:17 -05:00
Pedro Vicente Nunes
a1edc70691 [svn-r12784]
Fixes for bugs 676, 228

676: both h5repack and h5diff use H5Dread. In the case of a "big"
dataset, use read/write by hyperslabs the same way h5dump uses. An
arbitrary value of 1GB was defined for "big", i.e, if the dataset is
greater than 1GB, then read/write by hyperslabs

228: use the file type in read/write by default. A new switch -n was
introduced if the user wants to use a native type, which was the
previous use by default.

Added a new test for h5repack that repacks a 1GB dataset

Tested: heping (serial, parallel), sol, copper
2006-10-19 12:07:26 -05:00
Pedro Vicente Nunes
5df5ee8956 [svn-r12720]
added output of error messages using the tools library function error_msg, that prints the program name and error on the message

tested: kagiso
2006-10-05 09:35:40 -05:00
Quincey Koziol
a6f6462541 [svn-r12700] Alert:
File format is not stable, don't keep files produced!

Description:
    First stage of checkins modifying the format of groups to support creation
order.  Implement "dense" storage for links in groups.

    Try to clarify some of the symbols for the H5L API.

    Add the H5Pset_latest_format() flag for FAPLs, to choose to use the newest
file format options (including "dense" link storage in groups)

    Add the H5Pset_track_creation_order() flag for GCPLs, to enable creation
order tracking in groups (although no index on creation order yet).

    Remove --enable-group-revision configure flag, as file format issues are
now handled in a backwardly/forwardly compatible way.

    Clean up lots of compiler warnings and other minor formatting issues.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Linux/64 2.4 (mir) w/enable-v1.6 compa
    Mac OSX/32 10.4.8 (amazon)
    AIX 5.3 (copper) w/parallel & FORTRAN
2006-10-02 05:24:03 -05:00
James Laird
3e755623cb [svn-r12528] Added User-Defined links to the library.
Users can create external links using H5L_create_external().  These links
point to an object in another HDF5 file.  Users can alter the behavior of
external links or create new kinds of links by registering callbacks
using the H5L interface.

Added tests, tools support, etc.

Also a number of other, minor changes have been made (some restructuring of
the H5L interface, for instance).

Additional documentation and examples are forthcoming.
2006-08-02 18:41:53 -05:00
Quincey Koziol
2521c4084c [svn-r12254] Purpose:
Anti-feature

Description:
    Revert changes to H5G_stat_t struct, to make it compatible with the 1.6.x
branch again.  The information that was added to the H5G_stat_t struct will
be reported through other API routines.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/C++
    Linux 2.4/64 (mir) w/C++ & Fortran
    Solaris 2.9 (shanti)
2006-04-14 17:21:54 -05:00
Pedro Vicente Nunes
9d01b26a93 [svn-r12205] Purpose:
new feature

Description:
added the printout of the compression ratio for filters in h5repack, after the filter name, obtained with H5Dget_storage_size, before and after applying the filter

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2006-04-06 13:29:53 -05:00
Quincey Koziol
fefbe61aca [svn-r11304] Purpose:
Code cleanup (sorta)

Description:
    Adjust H5G_stat_t to prepare for eventual "external link" information.
This also puts the information for regular objects and soft links into more
obviously separate places.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
2005-08-27 08:34:28 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
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
2005-08-13 15:53:35 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

Description:
    Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation.  So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.

    I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
    FreeBSD 4.10 (sleipnir) w/threadsafe
    FreeBSD 4.10 (sleipnir) w/backward compatibility
    Solaris 2.7 (arabica) w/"purify options"
    Solaris 2.8 (sol) w/FORTRAN & C++
    AIX 5.x (copper) w/parallel & FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN
    Linux 2.4 (heping) w/FORTRAN & C++


Misc. update:
2004-12-29 09:26:20 -05:00
Quincey Koziol
defe612ab2 [svn-r9370] Purpose:
Refactor code

Description:
    Refactor common code for determining the native type for using in the
tools into separate routine.

    Also, reduce diffs between the two branches and bring back some fixes from
the development branch to the release branch.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    too minor to require h5committest
2004-10-06 11:11:18 -05:00
Raymond Lu
7ba45c05b3 [svn-r9364]
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
2004-10-05 09:31:14 -05:00
James Laird
5c0011a713 [svn-r9329]
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:
2004-09-28 14:04:19 -05:00
Pedro Vicente Nunes
4cb6c01d7f [svn-r8904] Purpose:
h5diff and h5repack changes

Description:
h5diff
introduced the following four modes of output:
 Normal mode: print the number of differences found and where they occured
  Report mode: print the above plus the differences
   Verbose mode: print the above plus a list of objects and warnings
    Quiet mode: do not print output (h5diff always returns an exit code of 1 when differences are found)

    h5repack
     added an extra parameter for SZIP filter (coding method)
     the new syntax is
     -f SZIP=<pixels per block,coding>
     (pixels per block is a even number in 2-32 and coding method is 'EC' or 'NN')
     Example of use:
     ./h5repack -i file1 -o file2 -f SZIP=8,NN -v

     updated usage messages, test scripts and files accordingly




Solution:

Platforms tested:
linux
AIX
solaris

Misc. update:
2004-07-20 14:21:03 -05:00
Pedro Vicente Nunes
bc6ab7c0a6 [svn-r8869] Purpose:
h5repack changes

Description:
there were some requests to change some minor h5repack features
h5repack only made a warning about a non available filter in verbose mode ( -v )
without -v it kept silent, and users sometimes missed this warning

the request was that it should print this warning always. so, the new format, is e.g

./h5repack -i test_szip.h5 -o out.h5
Warning: dataset </dset_szip> cannot be read, SZIP filter is not available


due to this, and to avoid a lot of these messages in the shell test script, I modified
the script h5repack.sh so that it detects the presence of all filters in the environment
(previously it only detected SZIP)
the test files were also divided in more files , to make the script code easier to
follow


Solution:

Platforms tested:
linux
AIX (no szip)
solaris (no szip, no gzip )

Misc. update:
2004-07-13 14:09:41 -05:00
Quincey Koziol
0a29514b9d [svn-r8383] Purpose:
Code cleanup

Description:
    Clean up lots of warnings based on those reported from the SGI compilers
as well as gcc.

Platforms tested:
    SGI O3900, IRIX64 6.5 (Cheryl's SGI machine)
    FreeBSD 4.9 (sleipnir) w/ & w/o parallel
    h5committest
2004-04-17 23:10:09 -05:00
Pedro Vicente Nunes
931efcb5eb [svn-r8229] Purpose:
1) new function  for tools library
2) new test script for h5repack


Description:
1) currently all the tools (h5dump, h5diff, etc)  do not check if a filter is available
for reading some dataset that might have a filter not available on the current configuration (the behaviour
of the tools until now was to trigger a library error, saying that the dataset cannot be read
due to the lack of the filter)


Solution:
1) added a new function h5tools_canreadf that checks if a dataset can be read
depending on the availability of filters.
this function was added in calls for h5diff and h5repack.
instead of triggering the library error, a message is printed, saying that the dataset
cannot be read (the print is optional, it is on on verbose mode)

2) added a shell script that tests the commannd line tool behaviour of h5repack
the script does a series of runs of h5repack  with several options on the same file (this file test4.h5
was added to the testfiles dir).
then, it runs the h5diff tool, with the input and output files , in each run.
the goal of the test is also to check item 1) . the binary file was saved with filters
that might not be available on other configurations


Platforms tested:
linux (all filters enabled)
linux (some filters disabled)
solaris (some filters disabled)
AIX (some filters disabled)
windows (all filters on and off )


Misc. update:
2004-03-02 13:12:25 -05:00
Pedro Vicente Nunes
48c7a5e35e [svn-r8121] Purpose:
bug fix

Description:
avoid reading and writing data when one of the dimensions is 0 (attributes case )

Solution:
linux
solaris
AIX

Platforms tested:

Misc. update:
2004-01-28 14:07:21 -05:00
Pedro Vicente Nunes
500292582f [svn-r8120] Purpose:
bug fix

Description:
avoid reading and writing data when one of the dimensions is 0

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-01-28 11:06:09 -05:00
Pedro Vicente Nunes
efbde3c2f3 [svn-r8074] Purpose:
added h5repack and h5diff support for copying and differences of references to dataset regions
modified the behaviour in the diff of attributes, when a difference in name is detected
in the attribute cycle (number of attributes of object), instead of exiting the
cycle, rather continue


Description:

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-01-16 10:31:55 -05:00
Pedro Vicente Nunes
f503a72491 [svn-r7994] Purpose:
h5repack new features

Description:
added checking routines for the filters that were applied to the output file
added tests for szip filter

Solution:

Platforms tested:
linux
solaris

(IRIX is not available)
:

Misc. update:
2003-12-29 15:26:21 -05:00
Pedro Vicente Nunes
8f65e4252d [svn-r7969] Purpose:
h5repack new features

Description:
addded the copy routines for hard links
changed the traversal structure to store information about the hard links
added tests

Solution:

Platforms tested:
linux
solaris
IRIX

Misc. update:
2003-12-18 11:18:09 -05:00
Pedro Vicente Nunes
dc4f40f02f [svn-r7962] Purpose:
h5repack new features

Description:
added the copy of referenced objects

Solution:

Platforms tested:
linux
solaris 2.7
IRIX

Misc. update:
2003-12-16 13:08:45 -05:00