- Global get_schema (gpointer backend_data, gchar const *namespace, gchar const *name, GError **error)
- Currently _backend_schema_get is called and the returned bson is converted to a GHashTable. A better way would be to use one common function for both so no conversion is neccessary.
- Global H5Sencode_vers
check whether version is up to date: https://github.com/Olgasnezh/hdf5-vol-sqlite-plugin
clean up
fix memory leaks
- Global _backend_query_ids (gpointer backend_data, gpointer _batch, gchar const *name, bson_t const *selector, GArray **matches, GError **error)
check if caching this statement makes any difference with different databases
Update and delete could be done by adding the selection part to the respective query, making this function unnecessary.
- Global bind_selector_query (gpointer backend_data, const gchar *namespace, bson_iter_t *iter, JSqlStatement *statement, GHashTable *schema, GError **error)
- need to change this one for joins
- Global build_query_condition_part (gpointer backend_data, JSqlBatch *batch, bson_iter_t *iter, GString *sql, JDBSelectorMode mode, GArray *arr_types_in, GHashTable *schema, GError **error)
- need to change this one for joins
- Global H5VL_julea_db_attr_init (hid_t vipl_id)
- Use same key type for every db backend to remove get for every new schema.
- Global H5VL_julea_db_dataset_get (void *obj, H5VL_dataset_get_args_t *args, hid_t dxpl_id, void **req)
modify when we support different access and create property lists
modify when we support different access and create property lists
- Global H5VL_julea_db_dataset_init (hid_t vipl_id)
- Use same key type for every db backend to remove get for every new schema.
- Global 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)
support multi-write
Should we support multiple dset?
- Global 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)
support multi-write
support multi-write
- Global H5VL_julea_db_datatype_init (hid_t vipl_id)
- Use same key type for every db backend to remove get for every new schema.
- Global H5VL_julea_db_file_init (hid_t vipl_id)
- Use same key type for every db backend to remove get for every new schema.
- Global H5VL_julea_db_group_init (hid_t vipl_id)
- Use same key type for every db backend to remove get for every new schema.
- Global 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)
- implement link get name and get value
- Global H5VL_julea_db_link_get_info_helper (JHDF5Object_t *obj, const H5VL_loc_params_t *loc_params, H5L_info2_t *info_out)
- needs to be changed when other link types are implemented
- Global H5VL_julea_db_link_init (hid_t vipl_id)
- Use same key type for every db backend to remove get for every new schema.
- Global 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)
handle index, iter order and interruption
needs to be touched when other link types are implemented
generate attribute info struct
- Global 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)
- implement link delete
- Global H5VL_julea_db_object_open (void *obj, const H5VL_loc_params_t *loc_params, H5I_type_t *opened_type, hid_t dxpl, void **req)
- implement when committed datatypes are supported
- Global H5VL_julea_db_space_init (hid_t vipl_id)
Use same key type for every db backend to remove get for every new schema.
Use same key type for every db backend to remove get for every new schema.
- Global j_backend_operation_unwrap_db_query (JBackend *, gpointer, JBackendOperation *)
- clean up
- Global j_bson_array_generate_key (guint32 index, const char **key, char *buf, guint buf_length, GError **error)
- does more or less the same as j_helper_get_number_string
- Global j_configuration_new_for_data (GKeyFile *key_file)
- check value ranges (max_operation_size, port, max_connections, stripe_size)
- Global j_db_schema_new (gchar const *namespace, gchar const *name, GError **error)
- since schema->bson is used as the out_param in j_db_internal_schema_get, the schema passed to the backend's schema_get is initialized if and only if the backend runs on the client
- Global j_distributed_object_create (JDistributedObject *object, JBatch *batch)
- key = index + namespace
- Global j_hdf5_set_semantics (JSemantics *semantics)
- implement this
- Global j_helper_atomic_add (guint64 volatile *ptr, guint64 val)
- check C11 atomic_fetch_add
- Global j_helper_get_number_string (gchar *string, guint32 length, guint32 number)
- improve
- Global j_helper_set_cork (GSocketConnection *connection, gboolean enable)
- get rid of GSocketConnection
- Global j_helper_set_nodelay (GSocketConnection *connection, gboolean enable)
- get rid of GSocketConnection
- Global j_helper_str_replace (gchar const *str, gchar const *old, gchar const *new)
- consider using g_string_replace for GLib >= 2.68
- Global j_item_get_status (JItem *item, JBatch *batch)
- check j_item_get_status_exec
- Global j_item_write (JItem *item, gconstpointer data, guint64 length, guint64 offset, guint64 *bytes_written, JBatch *batch)
- see j_item_write_exec
- Global j_kv_iterator_new (gchar const *namespace, gchar const *prefix)
- still necessary?
- Global j_kv_iterator_new_for_index (guint32 index, gchar const *namespace, gchar const *prefix)
- still necessary?
- Global j_kv_put (JKV *kv, gpointer value, guint32 value_len, GDestroyNotify value_destroy, JBatch *batch)
- key = index + namespace
- Global j_network_connection_fini (JNetworkConnection *connection)
- params
- Global j_network_connection_init_client (JConfiguration *configuration, JBackendType backend, guint index)
- clean up connection
- Global j_network_connection_init_server (JNetworkFabric *fabric, GSocketConnection *gconnection)
- clean up connection
- Global j_network_connection_rma_read (JNetworkConnection *connection, JNetworkConnectionMemoryID const *memory_id, gpointer data)
evaluate: only wait for partcial finished jobs
static? thread-safety
evaluate if paralisation possible
- Global j_network_connection_send (JNetworkConnection *connection, gpointer data, gsize length)
feedback if message was injected
make data a gconstpointer if possible
- Global j_network_connection_wait_for_completion (JNetworkConnection *connection)
- params
- Global j_network_fabric_init_server (JConfiguration *configuration)
clean up fabric
allow setting provider
deduplicate FI_VERSION and hints initialization
- Global j_object_create (JObject *object, JBatch *batch)
- key = index + namespace
- Global j_object_iterator_new (gchar const *namespace, gchar const *prefix)
j_backend_object_get_all(iterator->object_backend, namespace, &(iterator->cursor));
j_backend_object_get_by_prefix(iterator->object_backend, namespace, prefix, &(iterator->cursor));
- Global j_object_iterator_new_for_index (guint32 index, gchar const *namespace, gchar const *prefix)
still necessary?
j_backend_object_get_by_prefix(iterator->object_backend, namespace, prefix, &(iterator->cursor));
j_backend_object_get_all(iterator->object_backend, namespace, &(iterator->cursor));
- Global j_object_iterator_next (JObjectIterator *iterator)
- ret = j_backend_object_iterate(iterator->object_backend, iterator->cursor, &(iterator->key), &(iterator->value), &(iterator->len));
- Global j_operation_cache_add (JBatch *batch)
never cleared
- Global J_SEMANTICS_ATOMICITY_BATCH
- Generalize to complete batch instead of same lists.
- Global J_SEMANTICS_ATOMICITY_NONE
- Currently unused. Interesting when other backends support transactions.
- Global j_trace_enter (gchar const *name, gchar const *format,...) G_GNUC_PRINTF(2
- also blacklist nested functions
- Global j_trace_leave (JTrace *trace)
-
- Global JBackendBSONError
- does it make sense to report these errors?
- Class JBackendOperation
- this also needs to be allocated with alignment but appears to be large enough to the default allocator does the right thing
- Global JBackendOperationParam::bson_initialized
- this belongs to the bson member but is here for alignment purposes
- Module JNetwork
update to JULEA style
update to JULEA style
- Global JULEA_HDF5_DB_NAMESPACE
- add documentation
- Global sql_generic_init (JSQLSpecifics *specifics)
- figure out whether we should add an index instead
- Global sql_generic_iterate (gpointer backend_data, gpointer _iterator, bson_t *query_result, GError **error)
- Backend specific quotes need to be removed. There should be a better solution.
- Global sql_generic_schema_create (gpointer backend_data, gpointer _batch, gchar const *name, bson_t const *schema, GError **error)
- IDs will allways be casted to an unsigned 64-bit integer, so it's safe to change this in the client as well