25 #ifndef H5VL_JULEA_DB_H
26 #define H5VL_JULEA_DB_H
29 #include <H5PLextern.h>
31 #define JULEA_HDF5_DB_NAMESPACE "HDF5_DB"
133 void*
H5VL_julea_db_attr_create(
void* obj,
const H5VL_loc_params_t* loc_params,
const char* name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t dxpl_id,
void** req);
134 void*
H5VL_julea_db_attr_open(
void* obj,
const H5VL_loc_params_t* loc_params,
const char* name, hid_t aapl_id, hid_t dxpl_id,
void** req);
138 herr_t
H5VL_julea_db_attr_specific(
void* obj,
const H5VL_loc_params_t* loc_params, H5VL_attr_specific_args_t* args, hid_t dxpl_id,
void** req);
143 void*
H5VL_julea_db_dataset_create(
void* obj,
const H5VL_loc_params_t* loc_params,
const char* name, hid_t lcpl_id, hid_t type_id, hid_t space_id, hid_t dcpl_id, hid_t dapl_id, hid_t dxpl_id,
void** req);
144 void*
H5VL_julea_db_dataset_open(
void* obj,
const H5VL_loc_params_t* loc_params,
const char* name, hid_t dapl_id, hid_t dxpl_id,
void** req);
145 herr_t
H5VL_julea_db_dataset_write(
size_t count,
void* dset[], hid_t mem_type_id[], hid_t mem_space_id[], hid_t file_space_id[], hid_t dxpl_id,
const void* buf[],
void** req);
146 herr_t
H5VL_julea_db_dataset_read(
size_t count,
void* dset[], hid_t mem_type_id[], hid_t mem_space_id[], hid_t file_space_id[], hid_t dxpl_id,
void* buf[],
void** req);
153 void*
H5VL_julea_db_datatype_commit(
void* obj,
const H5VL_loc_params_t* loc_params,
const char* name, hid_t type_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id, hid_t dxpl_id,
void** req);
154 void*
H5VL_julea_db_datatype_open(
void* obj,
const H5VL_loc_params_t* loc_params,
const char* name, hid_t tapl_id, hid_t dxpl_id,
void** req);
161 void*
H5VL_julea_db_file_create(
const char* name,
unsigned flags, hid_t fcpl_id, hid_t fapl_id, hid_t dxpl_id,
void** req);
169 void*
H5VL_julea_db_group_create(
void* obj,
const H5VL_loc_params_t* loc_params,
const char* name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id, hid_t dxpl_id,
void** req);
170 void*
H5VL_julea_db_group_open(
void* obj,
const H5VL_loc_params_t* loc_params,
const char* name, hid_t gapl_id, hid_t dxpl_id,
void** req);
177 herr_t
H5VL_julea_db_link_create(H5VL_link_create_args_t* args,
void* obj,
const H5VL_loc_params_t* loc_params, hid_t lcpl_id, hid_t lapl_id, hid_t dxpl_id,
void** req);
178 herr_t
H5VL_julea_db_link_copy(
void* src_obj,
const H5VL_loc_params_t* loc_params1,
void* dst_obj,
const H5VL_loc_params_t* loc_params2, hid_t lcpl, hid_t lapl, hid_t dxpl_id,
void** req);
179 herr_t
H5VL_julea_db_link_move(
void* src_obj,
const H5VL_loc_params_t* loc_params1,
void* dst_obj,
const H5VL_loc_params_t* loc_params2, hid_t lcpl, hid_t lapl, hid_t dxpl_id,
void** req);
180 herr_t
H5VL_julea_db_link_get(
void* obj,
const H5VL_loc_params_t* loc_params, H5VL_link_get_args_t* args, hid_t dxpl_id,
void** req);
181 herr_t
H5VL_julea_db_link_specific(
void* obj,
const H5VL_loc_params_t* loc_params, H5VL_link_specific_args_t* args, hid_t dxpl_id,
void** req);
182 herr_t
H5VL_julea_db_link_optional(
void* obj,
const H5VL_loc_params_t* loc_params, H5VL_optional_args_t* args, hid_t dxpl_id,
void** req);
185 void*
H5VL_julea_db_object_open(
void* obj,
const H5VL_loc_params_t* loc_params, H5I_type_t* opened_type, hid_t dxpl,
void** req);
225 #define j_goto_error() \
229 g_debug("goto _error;"); \
herr_t H5VL_julea_db_datatype_optional(void *obj, H5VL_optional_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-datatype.c:596
herr_t H5VL_julea_db_attr_write(void *obj, hid_t mem_type_id, const void *buf, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:554
H5I_type_t H5VL_julea_db_type_intern_to_hdf(JHDF5ObjectType type)
Definition: jhdf5-db-shared.c:180
herr_t H5VL_julea_db_file_get(void *obj, H5VL_file_get_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-file.c:512
JHDF5Object_t * H5VL_julea_db_space_decode(void *backend_id, guint64 backend_id_len)
Definition: jhdf5-db-space.c:259
void * H5VL_julea_db_group_create(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-group.c:231
herr_t H5VL_julea_db_group_init(hid_t vipl_id)
Definition: jhdf5-db-group.c:62
void * H5VL_julea_db_attr_create(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:240
herr_t H5VL_julea_db_link_iterate_helper(JHDF5Object_t *object, hbool_t recursive, gboolean attr, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx_p, JHDF5Iterate_Func_t op, void *op_data)
Definition: jhdf5-db-link.c:585
herr_t H5VL_julea_db_space_term(void)
Definition: jhdf5-db-space.c:49
char * H5VL_julea_db_buf_to_hex(const char *prefix, const char *buf, guint buf_len)
Definition: jhdf5-db-shared.c:46
herr_t H5VL_julea_db_link_get_info_helper(JHDF5Object_t *obj, const H5VL_loc_params_t *loc_params, H5L_info2_t *info_out)
Definition: jhdf5-db-link.c:542
JHDF5Object_t * H5VL_julea_db_object_ref(JHDF5Object_t *object)
Definition: jhdf5-db-shared.c:83
herr_t H5VL_julea_db_file_term(void)
Definition: jhdf5-db-file.c:48
herr_t H5VL_julea_db_attr_init(hid_t vipl_id)
Definition: jhdf5-db-attr.c:62
herr_t H5VL_julea_db_attr_optional(void *obj, H5VL_optional_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:695
herr_t H5VL_julea_db_attr_get(void *obj, H5VL_attr_get_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:628
herr_t H5VL_julea_db_dataset_close(void *obj, hid_t dxpl_id, void **req)
Definition: jhdf5-db-dataset.c:1207
gboolean H5VL_julea_db_dataset_set_info(JHDF5Object_t *object, GError **error)
Definition: jhdf5-db-dataset.c:408
JDBSchema * julea_db_schema_group
Definition: jhdf5-db-group.c:45
herr_t H5VL_julea_db_link_get(void *obj, const H5VL_loc_params_t *loc_params, H5VL_link_get_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-link.c:558
JHDF5Object_t * H5VL_julea_db_datatype_encode(hid_t *type_id)
Definition: jhdf5-db-datatype.c:337
herr_t H5VL_julea_db_dataset_get(void *obj, H5VL_dataset_get_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-dataset.c:1136
herr_t H5VL_julea_db_link_optional(void *obj, const H5VL_loc_params_t *loc_params, H5VL_optional_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-link.c:821
void * H5VL_julea_db_dataset_create(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t lcpl_id, hid_t type_id, hid_t space_id, hid_t dcpl_id, hid_t dapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-dataset.c:255
herr_t H5VL_julea_db_group_specific(void *obj, H5VL_group_specific_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-group.c:428
herr_t H5VL_julea_db_link_create(H5VL_link_create_args_t *args, void *obj, const H5VL_loc_params_t *loc_params, hid_t lcpl_id, hid_t lapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-link.c:488
herr_t H5VL_julea_db_link_term(void)
Definition: jhdf5-db-link.c:48
herr_t H5VL_julea_db_file_optional(void *obj, H5VL_optional_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-file.c:727
herr_t H5VL_julea_db_datatype_get(void *obj, H5VL_datatype_get_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-datatype.c:568
herr_t H5VL_julea_db_dataset_specific(void *obj, H5VL_dataset_specific_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-dataset.c:1173
herr_t H5VL_julea_db_dataset_truncate_file(void *obj)
Definition: jhdf5-db-dataset.c:200
herr_t H5VL_julea_db_file_close(void *obj, hid_t dxpl_id, void **req)
Definition: jhdf5-db-file.c:741
herr_t H5VL_julea_db_link_truncate_file(void *obj)
Definition: jhdf5-db-link.c:209
herr_t H5VL_julea_db_group_optional(void *obj, H5VL_optional_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-group.c:445
void * H5VL_julea_db_datatype_commit(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t type_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-datatype.c:533
herr_t H5VL_julea_db_group_get(void *obj, H5VL_group_get_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-group.c:411
herr_t H5VL_julea_db_attr_term(void)
Definition: jhdf5-db-attr.c:48
herr_t H5VL_julea_db_attr_truncate_file(void *obj)
Definition: jhdf5-db-attr.c:185
void H5VL_julea_db_object_unref(JHDF5Object_t *object)
Definition: jhdf5-db-shared.c:113
JDBSchema * julea_db_schema_link
Definition: jhdf5-db-link.c:45
herr_t H5VL_julea_db_dataset_write(size_t count, void *dset[], hid_t mem_type_id[], hid_t mem_space_id[], hid_t file_space_id[], hid_t dxpl_id, const void *buf[], void **req)
Definition: jhdf5-db-dataset.c:917
herr_t H5VL_julea_db_link_copy(void *src_obj, const H5VL_loc_params_t *loc_params1, void *dst_obj, const H5VL_loc_params_t *loc_params2, hid_t lcpl, hid_t lapl, hid_t dxpl_id, void **req)
Definition: jhdf5-db-link.c:506
herr_t H5VL_julea_db_file_init(hid_t vipl_id)
Definition: jhdf5-db-file.c:62
herr_t H5VL_julea_db_dataset_optional(void *obj, H5VL_optional_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-dataset.c:1190
const void * H5VL_julea_db_datatype_convert_type(hid_t type_id_from, hid_t type_id_to, const char *from_buf, char *tmp_buf, guint count)
Definition: jhdf5-db-datatype.c:86
void * H5VL_julea_db_datatype_open(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t tapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-datatype.c:552
herr_t H5VL_julea_db_group_term(void)
Definition: jhdf5-db-group.c:48
herr_t H5VL_julea_db_datatype_term(void)
Definition: jhdf5-db-datatype.c:99
herr_t H5VL_julea_db_link_specific(void *obj, const H5VL_loc_params_t *loc_params, H5VL_link_specific_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-link.c:766
herr_t H5VL_julea_db_space_init(hid_t vipl_id)
Definition: jhdf5-db-space.c:69
JHDF5Object_t * H5VL_julea_db_space_encode(hid_t *type_id)
Definition: jhdf5-db-space.c:327
gboolean H5VL_julea_db_link_create_helper(JHDF5Object_t *parent, JHDF5Object_t *child, const char *name)
Definition: jhdf5-db-link.c:339
void * H5VL_julea_db_file_create(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-file.c:218
herr_t H5VL_julea_db_group_truncate_file(void *obj)
Definition: jhdf5-db-group.c:170
JHDF5Object_t * H5VL_julea_db_object_new(JHDF5ObjectType type)
Definition: jhdf5-db-shared.c:95
herr_t H5VL_julea_db_link_move(void *src_obj, const H5VL_loc_params_t *loc_params1, void *dst_obj, const H5VL_loc_params_t *loc_params2, hid_t lcpl, hid_t lapl, hid_t dxpl_id, void **req)
Definition: jhdf5-db-link.c:524
herr_t H5VL_julea_db_dataset_init(hid_t vipl_id)
Definition: jhdf5-db-dataset.c:62
herr_t H5VL_julea_db_datatype_close(void *dt, hid_t dxpl_id, void **req)
Definition: jhdf5-db-datatype.c:610
JHDF5ObjectType
Definition: jhdf5-db.h:34
@ J_HDF5_OBJECT_TYPE_DATASET
Definition: jhdf5-db.h:36
@ _J_HDF5_OBJECT_TYPE_COUNT
Definition: jhdf5-db.h:41
@ J_HDF5_OBJECT_TYPE_FILE
Definition: jhdf5-db.h:35
@ J_HDF5_OBJECT_TYPE_GROUP
Definition: jhdf5-db.h:40
@ J_HDF5_OBJECT_TYPE_ATTR
Definition: jhdf5-db.h:37
@ J_HDF5_OBJECT_TYPE_SPACE
Definition: jhdf5-db.h:39
@ J_HDF5_OBJECT_TYPE_DATATYPE
Definition: jhdf5-db.h:38
JHDF5Object_t * H5VL_julea_db_datatype_decode(void *backend_id, guint64 backend_id_len)
Definition: jhdf5-db-datatype.c:265
herr_t H5VL_julea_db_attr_close(void *obj, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:712
herr_t H5VL_julea_db_datatype_init(hid_t vipl_id)
Definition: jhdf5-db-datatype.c:113
gboolean H5VL_julea_db_link_get_helper(JHDF5Object_t *parent, JHDF5Object_t *child, const char *name)
Definition: jhdf5-db-link.c:264
herr_t H5VL_julea_db_dataset_term(void)
Definition: jhdf5-db-dataset.c:48
void * H5VL_julea_db_dataset_open(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t dapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-dataset.c:526
herr_t H5VL_julea_db_link_exists_helper(JHDF5Object_t *object, const gchar *name, hbool_t *exists)
Definition: jhdf5-db-link.c:720
herr_t H5VL_julea_db_link_init(hid_t vipl_id)
Definition: jhdf5-db-link.c:62
herr_t H5VL_julea_db_attr_read(void *obj, hid_t mem_type_id, void *buf, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:493
void * H5VL_julea_db_object_open(void *obj, const H5VL_loc_params_t *loc_params, H5I_type_t *opened_type, hid_t dxpl, void **req)
Definition: jhdf5-db-object.c:46
void * H5VL_julea_db_attr_open(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t aapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:368
herr_t H5VL_julea_db_file_specific(void *obj, H5VL_file_specific_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-file.c:685
herr_t H5VL_julea_db_group_close(void *obj, hid_t dxpl_id, void **req)
Definition: jhdf5-db-group.c:462
herr_t H5VL_julea_db_attr_specific(void *obj, const H5VL_loc_params_t *loc_params, H5VL_attr_specific_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:661
herr_t H5VL_julea_db_dataset_read(size_t count, void *dset[], hid_t mem_type_id[], hid_t mem_space_id[], hid_t file_space_id[], hid_t dxpl_id, void *buf[], void **req)
Definition: jhdf5-db-dataset.c:1024
herr_t H5VL_julea_db_datatype_specific(void *obj, H5VL_datatype_specific_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-datatype.c:582
void * H5VL_julea_db_file_open(const char *name, unsigned flags, hid_t fapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-file.c:430
void * H5VL_julea_db_group_open(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t gapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-group.c:334
void H5VL_julea_db_error_handler(GError *error)
Definition: jhdf5-db-shared.c:72
Definition: jdb-internal.h:78
Definition: jdistributed-object.c:131
Definition: jdistribution.c:48
Definition: jhdf5-db.h:48
JHDF5Object_t * file
Definition: jhdf5-db.h:63
JDistributedObject * object
Definition: jhdf5-db.h:67
struct JHDF5Object_t::@25::@29 attr
JDistribution * distribution
Definition: jhdf5-db.h:66
size_t data_size
Definition: jhdf5-db.h:91
struct JHDF5Object_t::@25::@27 file
hid_t hdf5_id
Definition: jhdf5-db.h:93
guint dim_total_count
Definition: jhdf5-db.h:99
guint64 backend_id_len
Definition: jhdf5-db.h:52
gint64 min_value_i
Definition: jhdf5-db.h:70
void * data
Definition: jhdf5-db.h:90
void * backend_id
Definition: jhdf5-db.h:51
char * name
Definition: jhdf5-db.h:57
struct JHDF5Object_t::@25::@28 dataset
struct JHDF5Object_t::@25::@28::@33 statistics
gint64 max_value_i
Definition: jhdf5-db.h:72
JHDF5ObjectType type
Definition: jhdf5-db.h:50
gdouble max_value_f
Definition: jhdf5-db.h:73
gint ref_count
Definition: jhdf5-db.h:49
guint type_total_size
Definition: jhdf5-db.h:92
JHDF5Object_t * space
Definition: jhdf5-db.h:65
JHDF5Object_t * datatype
Definition: jhdf5-db.h:64
struct JHDF5Object_t::@25::@30 group
JHDF5Object_t * root_group
Definition: jhdf5-db.h:58
gdouble min_value_f
Definition: jhdf5-db.h:71
Definition: jhdf5-db.h:106
H5L_iterate_t iter_op
Definition: jhdf5-db.h:108
H5A_operator_t attr_op
Definition: jhdf5-db.h:107