open_address_file_hash_dictionary_handler.h
Go to the documentation of this file.
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.
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 oaf_dictionary ion_oaf_dictionary_t
Struct used to for instance of a given dictionary.
char(* ion_dictionary_compare_t)(ion_key_t, ion_key_t, ion_key_size_t)
Function pointer type for dictionary comparison methods.
Definition: dictionary_types.h:83
ion_dict_cursor_t super
Definition: open_address_file_hash_dictionary_handler.h:90
void oafdict_destroy_cursor(ion_dict_cursor_t **cursor)
Next function to query and retrieve the next <K,V> that stratifies the predicate of the cursor...
Definition: open_address_file_hash_dictionary_handler.c:525
Struct used to for instance of a given dictionary.
Definition: open_address_file_hash_dictionary_handler.h:56
ion_status_t oafdict_insert(ion_dictionary_t *dictionary, ion_key_t key, ion_value_t value)
Inserts a key and value into the dictionary.
Definition: open_address_file_hash_dictionary_handler.c:410
ion_key_t value
Definition: open_address_file_hash_dictionary_handler.h:92
A dictionary contains information regarding an instance of the storage element and the associated han...
Definition: dictionary_types.h:273
ion_err_t oafdict_destroy_dictionary(ion_dictionary_id_t id)
Cleans up all files created by the dictionary, and frees any allocated memory, for an already closed ...
Definition: open_address_file_hash_dictionary_handler.c:473
This file includes common components for oadictionary and oahash.
ion_file_hashmap_t * hashmap
Definition: open_address_file_hash_dictionary_handler.h:59
char * dictionary_name
Definition: open_address_file_hash_dictionary_handler.h:58
ion_err_t oafdict_create_dictionary(ion_dictionary_id_t id, ion_key_type_t key_type, ion_key_size_t key_size, ion_value_size_t value_size, ion_dictionary_size_t dictionary_size, ion_dictionary_compare_t compare, ion_dictionary_handler_t *handler, ion_dictionary_t *dictionary)
Creates an instance of a dictionary.
Definition: open_address_file_hash_dictionary_handler.c:419
Cursor for dictionary specific implementations.
Definition: open_address_file_hash_dictionary_handler.h:89
A hash table using linear probing. Designed for in memory use.
int oafdict_compare(ion_key_t first_key, ion_key_t second_key)
Compares two key and returns the difference.
ion_oafdict_cursor_t cursor_info
Definition: open_address_file_hash_dictionary_handler.h:91
ion_err_t oafdict_delete_dictionary(ion_dictionary_t *dictionary)
Deletes an instance of the dictionary and associated data.
Definition: open_address_file_hash_dictionary_handler.c:462
struct oafdict_equality_cursor ion_oafdict_equality_cursor_t
Cursor for dictionary specific implementations.
void oafdict_init(ion_dictionary_handler_t *handler)
Registers a specific handler for a dictionary instance.
Definition: open_address_file_hash_dictionary_handler.c:394
ion_status_t oafdict_delete(ion_dictionary_t *dictionary, ion_key_t key)
Deletes the key and assoicated value from the dictionary instance.
Definition: open_address_file_hash_dictionary_handler.c:454
Struct used to maintain an instance of an in memory hashmap.
Definition: open_address_file_hash.h:69
A dictionary_handler is responsible for dealing with the specific interface for an underlying diction...
Definition: dictionary_types.h:207
ion_status_t oafdict_update(ion_dictionary_t *dictionary, ion_key_t key, ion_value_t value)
Updates the value for a given key.
Definition: open_address_file_hash_dictionary_handler.c:490
A status object that describes the result of a dictionary operation.
Definition: kv_system.h:290