Commit Graph

20 Commits

Author SHA1 Message Date
Quincey Koziol
de285fb909 [svn-r12875] Description:
Fix retrieving name for references to root group.

    Also, move 'ref' test earlier in testing, right after 'getname' test

Tested on:
    Linux/64 2.6 (chicago2)
2006-11-07 12:06:42 -05:00
Quincey Koziol
d60efe3336 [svn-r12860] Description:
Update H5Iget_name() tests to reflect that the name of the object for an
ID can be found in many more situations now.

Tested on:
    FreeBSD/32 4.11 (sleipnir)
2006-11-03 23:35:54 -05:00
James Laird
beb04ae817 [svn-r12519] Fixed "make check-vfd"
"make check-vfd" will now run all tests in the test directory with different
file drivers (at least, all of those tests that use the testing framework's
FAPL).  Tests that fail will be skipped.

This is not a perfect fix, but is better than nothing.

Along with this change, check-vfd should be added to the Daily Tests.
2006-07-31 14:46:16 -05:00
Quincey Koziol
83929ea716 [svn-r11838] Purpose:
Bug fix

Description:
    Retrieving an object's name could fail (in various ways) under certain
circumstances (mostly having to do with mounted files).

Solution:
    Re-write & simplify "get object name" code to fix error in a better way
than adding yet another hack to the previous pile of hacks... :-)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-12-26 00:28:18 -05:00
Quincey Koziol
a1708eb023 [svn-r11712] Purpose:
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.... :-)
2005-11-14 21:55:39 -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
f7ee415cdb [svn-r10231] Purpose:
Bug fix

Description:
    Opening an object in a group that is located in a file which has been
unmounted would cause a core dump. :-(

Solution:
    Re-arrangement internal code to compute internal "user" and "canonical"
names for the newly opened object in a safer way.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-03-17 21:56:01 -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
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
Quincey Koziol
2629b6e4d3 [svn-r7109] Purpose:
Code cleanup

Description:
    Clean up varios compiler warnings flagged by SGI compiler and gcc 3.3

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-06-25 21:10:33 -05:00
Pedro Vicente Nunes
ba8fd7feb2 [svn-r6808] Purpose:
code warrior fix

Description:
eliminate the CW failure on getname.c
restrict the H5_NO_FILE_SHARING just to the test file_close of testhdf5 test

Solution:
the CW failure on getname.c  can be eliminated if a unmount of the file is made before closing it
on tfile.c the failure is due to the file sharing flag of CW, and the test is maintained as before

Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)


Misc. update:
2003-05-06 14:38:35 -05:00
Quincey Koziol
3e982207dd [svn-r6805] Purpose:
Revert last change (at least temporarily)

Description:
    Revert last "NO_SHARED_WRITING" ifdefs after reviewing the tests that were
ifdef'ed out.  I don't think that these tests should cause a problem, so I
would like them reviewed again to see if there is a file handle leak in the
library (or test).

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    Triple check not needed.
2003-05-06 09:26:27 -05:00
Pedro Vicente Nunes
1d06baa334 [svn-r6798] Purpose:
code warrior port

Description:
added a flag H5_NO_SHARED_WRITING, it is defined only for CW in the H5pubconf.h
this avoids doing some tests for CW that fail on shared writing

Solution:

Platforms tested:
windows (cw and ms)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)


Misc. update:
2003-05-05 17:04:14 -05:00
Pedro Vicente Nunes
6c21457720 [svn-r6776] Purpose:
removed and change comments

Description:
removed the modification  comment about the while loop, it is not sufficiently important to be there
changed the "Id to name" comment in the test description, it was incorrecly about other thing

Solution:

Platforms tested:
none , just comments

Misc. update:
2003-04-29 12:30:16 -05:00
Bill Wendling
44022e598c [svn-r6538] Purpose:
Update

Description:
    Updated the Copyright statement

Platforms tested:
    Linux (This change is only in the comments, so I just check that the
    modules still compile)

Misc. update:
2003-03-31 12:59:04 -05:00
Quincey Koziol
3ae4d7e8b6 [svn-r5996] Purpose:
Code cleanup/Bug Fix

Description:
    Added 10-20 more test cases to the ID->name code.  Things seem more stable
    now.

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:57 -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
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
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
Pedro Vicente Nunes
8e166139de [svn-r5186]
Purpose:
    added a new file
Description:
   new file that contains the framework for a new test, regarding a new ID to name
   function. for the moment the program does nothing
Platforms tested:
    w2000
2002-04-16 12:39:38 -05:00