Page tree

The license could not be verified: License Certificate has expired!

 

JAVA

FORTRAN

C++

C

 

Link

H5TB_DELETE_RECORD

Delete records

Procedure:

H5TB_DELETE_RECORD (loc_id, dset_name, start, nrecords )

Signature:

 herr_t H5TBdelete_record ( hid_t loc_id, const char *dset_name, hsize_t start, hsize_t nrecords )

Parameters:
hid_t loc_idIN: Identifier of the file or group in which the table is located
const char *dset_nameIN: The name of the dataset
hsize_t  startIN: The start record to delete from
hsize_t nrecordsIN: The number of records to delete

Description:

H5TB_DELETE_RECORD deletes nrecords number of records starting from start from the middle of the table dset_name  ("pulling up" all the records after it).

Returns:

Returns a non-negative value if successful; otherwise returns a negative value.

Example:

hl / examples / ex_table_07.c [32:95]  1.10/master  HDFFV/hdf5
 typedef struct Particle
 {
  char   name[16];
  int    lati;
  int    longi;
  float  pressure;
  double temperature;
 } Particle;

 /* Calculate the size and the offsets of our struct members in memory */
 size_t dst_size =  sizeof( Particle );
 size_t dst_offset[NFIELDS] = { HOFFSET( Particle, name ),
                                HOFFSET( Particle, lati ),
                                HOFFSET( Particle, longi ),
                                HOFFSET( Particle, pressure ),
                                HOFFSET( Particle, temperature )};

 /* Define an array of Particles */
 Particle  p_data[NRECORDS] = {
 {"zero",0,0, 0.0f, 0.0},
 {"one",10,10, 1.0f, 10.0},
 {"two",  20,20, 2.0f, 20.0},
 {"three",30,30, 3.0f, 30.0},
 {"four", 40,40, 4.0f, 40.0},
 {"five", 50,50, 5.0f, 50.0},
 {"six",  60,60, 6.0f, 60.0},
 {"seven",70,70, 7.0f, 70.0}
  };

 const char *field_names[NFIELDS]  =     /* Define field information */
 { "Name","Latitude", "Longitude", "Pressure", "Temperature" };
 hid_t      field_type[NFIELDS];
 hid_t      string_type;
 hid_t      file_id;
 hsize_t    chunk_size = 10;
 int        compress  = 0;
 Particle   fill_data[1] =
 { {"no data",-1,-1, -99.0f, -99.0} };
 hsize_t    start;                      /* Record to start reading */
 hsize_t    nrecords;                   /* Number of records to insert/delete */
 hsize_t    nfields_out;
 hsize_t    nrecords_out;

 /* Initialize the field field_type */
 string_type = H5Tcopy( H5T_C_S1 );
 H5Tset_size( string_type, 16 );
 field_type[0] = string_type;
 field_type[1] = H5T_NATIVE_INT;
 field_type[2] = H5T_NATIVE_INT;
 field_type[3] = H5T_NATIVE_FLOAT;
 field_type[4] = H5T_NATIVE_DOUBLE;

 /* Create a new file using default properties. */
 file_id = H5Fcreate( "ex_table_07.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT );

 /* Make the table */
 H5TBmake_table( "Table Title",file_id,TABLE_NAME,NFIELDS,NRECORDS,
  dst_size,field_names, dst_offset, field_type,
  chunk_size, fill_data, compress, p_data  );

 /* Delete records  */
 start    = 3;
 nrecords = 3;
 H5TBdelete_record( file_id, TABLE_NAME, start, nrecords );

--- Last Modified: November 22, 2019 | 03:00 PM