Hi Marc,

> On Sep 16, 2015, at 2:54 AM, [email protected] wrote:
> 
> Hi all,
> 
> I've just found a weird construct in one of our CGNS/HDF5 files (part of 
> h5dump below).
> We have an external link to another file and inside the external link itself 
> there is a 'local' group.
> The group inside actually masks a group of same name in the target file (see 
> bc_1_8 below).
> We did obtain such a file because of a bug in our application, it uses to 
> replace a group with an external
> link having the same name but without deleting the original group.
> 
> I wonder if:
> 
> 1. yes this is the expected behavior, the link is always read first so that 
> you can use this feature to partly mask the target sub-tree
> 2. no, this file shows a bad construct, should be corrected and HDF5 should 
> forbid such
> 3. side-effect, it is not a feature but you can build such a file, as long as 
> we do not change implementation the side effect is... a feature (oups!)

        Hmm, I think 1 & 3 are basically the same, and that’s what the HDF5 
library is supposed to do. Basically, the library will attempt to traverse the 
external link’s path, and if it encounters soft or external links in the 
destination file’s group hierarchy, it’ll just keep resolving those as it 
encounters them.  Since the external links are stored as “plain” strings in the 
source HDF5 file, there’s no reference to the “actual” object in the 
destination file, just a path in that file to traverse to reach the object.

        Make sense?  :-)

        Quincey

> -MP-
> 
>            EXTERNAL_LINK " link" {
>               TARGETFILE "mesh.cgns"
>               TARGETPATH "/Base#1/Zone#1/ZoneGridConnectivity"
>                  GROUP "/Base#1/Zone#1/ZoneGridConnectivity" {
>                     ATTRIBUTE "flags" {
>                        DATATYPE  H5T_STD_I32LE
>                        DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
>                        DATA {
>                        (0): 0
>                        }
>                     }
>                     ATTRIBUTE "label" {
>                        DATATYPE  H5T_STRING {
>                              STRSIZE 33;
>                              STRPAD H5T_STR_NULLTERM;
>                              CSET H5T_CSET_ASCII;
>                              CTYPE H5T_C_S1;
>                           }
>                        DATASPACE  SCALAR
>                        DATA {
>                        (0): "ZoneGridConnectivity_t"
>                        }
>                     }
>                     ATTRIBUTE "name" {
>                        DATATYPE  H5T_STRING {
>                              STRSIZE 33;
>                              STRPAD H5T_STR_NULLTERM;
>                              CSET H5T_CSET_ASCII;
>                              CTYPE H5T_C_S1;
>                           }
>                        DATASPACE  SCALAR
>                        DATA {
>                        (0): "ZoneGridConnectivity"
>                        }
>                     }
>                     ATTRIBUTE "type" {
>                        DATATYPE  H5T_STRING {
>                              STRSIZE 3;
>                              STRPAD H5T_STR_NULLTERM;
>                              CSET H5T_CSET_ASCII;
>                              CTYPE H5T_C_S1;
>                           }
>                        DATASPACE  SCALAR
>                        DATA {
>                        (0): "MT"
>                        }
>                     }
>                     GROUP "bc_1_8" {
>                        ATTRIBUTE "flags" {
>                           DATATYPE  H5T_STD_I32LE
>                           DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
>                           DATA {
>                           (0): 0
>                           }
>                        }
>                     }
> 
> -- 
> -- ------------------------------------------------------------
> -- Marc POINOT [ONERA/DMFN] Tel:+33.1.46.73.42.84
> -- Avertissement/disclaimer http://www.onera.fr/en/emails-terms
> -- ------------------------------------------------------------
> 
> 
> _______________________________________________
> Hdf-forum is for HDF software users discussion.
> [email protected]
> http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
> Twitter: https://twitter.com/hdf5

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Reply via email to