ion_master_table.h
Go to the documentation of this file.
66 #define ION_MASTER_TABLE_RECORD_SIZE(cp) (sizeof((cp)->id) + sizeof((cp)->use_type) + sizeof((cp)->type) + sizeof((cp)->key_size) + sizeof((cp)->value_size) + sizeof((cp)->dictionary_size) + sizeof((cp)->dictionary_type) + sizeof((cp)->dictionary_status))
ion_err_t ion_lookup_in_master_table(ion_dictionary_id_t id, ion_dictionary_config_info_t *config)
Looks up the config of the given id.
Definition: ion_master_table.c:379
enum ION_KEY_TYPE ion_key_type_t
This is the available key types for ION_DB. All types will be based on system defines.
ion_byte_t ion_dict_use_t
A type describing how a dictionary is used.
Definition: dictionary_types.h:59
Handler liaison between dictionary API and skiplist implementation.
The handler for a disk-backed B+ Tree.
Function declarations at the dictionary interface level for the flat file store.
enum ION_DICTIONARY_TYPE ion_dictionary_type_t
This is the available dictionary types for ION_DB. All types will be based on system defines...
The handler for a hash table using linear probing.
ion_err_t ion_switch_handler(ion_dictionary_type_t type, ion_dictionary_handler_t *handler)
Retrieves the type of dictionary stored under a particular id in the master table.
Definition: ion_master_table.c:537
unsigned int ion_dictionary_id_t
A type used to identify dictionaries, specifically in the master table.
Definition: dictionary_types.h:51
unsigned int ion_dictionary_size_t
The implementation specific size of the dictionary.
Definition: kv_system.h:264
Struct containing details for opening a dictionary previously created.
Definition: dictionary_types.h:183
ion_err_t ion_open_dictionary(ion_dictionary_handler_t *handler, ion_dictionary_t *dictionary, ion_dictionary_id_t id)
Finds the target dictionary and opens it.
Definition: ion_master_table.c:463
ion_err_t ion_find_by_use_master_table(ion_dictionary_config_info_t *config, ion_dict_use_t use_type, char whence)
Find first or last dictionary in master table with a given use.
Definition: ion_master_table.c:396
ion_err_t ion_master_table_write(ion_dictionary_config_info_t *config, long where)
Write a record to the master table.
Definition: ion_master_table.c:44
The handler for a hash table using linear probing.
ion_err_t ion_delete_dictionary(ion_dictionary_t *dictionary, ion_dictionary_id_t id)
Deletes a given dictionary instance and deletes it from the master table.
Definition: ion_master_table.c:496
A dictionary contains information regarding an instance of the storage element and the associated han...
Definition: dictionary_types.h:273
ion_err_t ion_master_table_get_next_id(ion_dictionary_id_t *id)
Returns the next dictionary ID, then increments.
Definition: ion_master_table.c:177
ion_err_t ion_master_table_create_dictionary(ion_dictionary_handler_t *handler, ion_dictionary_t *dictionary, ion_key_type_t key_type, ion_key_size_t key_size, ion_value_size_t value_size, ion_dictionary_size_t dictionary_size)
Creates a dictionary through use of the master table.
Definition: ion_master_table.c:350
ion_err_t ion_close_dictionary(ion_dictionary_t *dictionary)
Closes a given dictionary.
Definition: ion_master_table.c:486
ion_err_t ion_delete_from_master_table(ion_dictionary_id_t id)
Deletes a dictionary from the master table.
Definition: ion_master_table.c:437
Header for handler for a linear hash .
ion_dictionary_id_t ion_master_table_next_id
Master table resposible for managing instances.
Definition: ion_master_table.c:41
ion_err_t ion_close_all_master_table(void)
Closes the master table and all dictionary instances within it.
Definition: ion_master_table.c:259
A dictionary_handler is responsible for dealing with the specific interface for an underlying diction...
Definition: dictionary_types.h:207
ion_dictionary_type_t ion_get_dictionary_type(ion_dictionary_id_t id)
Retrieves the type of dictionary stored under a particular id in the master table.
Definition: ion_master_table.c:447