iinq.c File Reference
Description
This code contains definitions for iinq functions.
- Copyright
- Copyright 2017 The University of British Columbia, IonDB Project Contributors (see AUTHORS.md)
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- 1.Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- 2.Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- 3.Neither the name of the copyright holder nor the names of its contributors
- may be used to endorse or promote products derived from this software without specific prior written permission.
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Definition in file iinq.c.
Include dependency graph for iinq.c:
Functions | |
ion_err_t | iinq_create_source (char *schema_file_name, ion_key_type_t key_type, ion_key_size_t key_size, ion_value_size_t value_size) |
ion_err_t | iinq_open_source (char *schema_file_name, ion_dictionary_t *dictionary, ion_dictionary_handler_t *handler) |
ion_status_t | iinq_insert (char *schema_file_name, ion_key_t key, ion_value_t value) |
ion_status_t | iinq_update (char *schema_file_name, ion_key_t key, ion_value_t value) |
ion_status_t | iinq_delete (char *schema_file_name, ion_key_t key) |
ion_err_t | iinq_drop (char *schema_file_name) |
Function Documentation
ion_err_t iinq_create_source | ( | char * | schema_file_name, |
ion_key_type_t | key_type, | ||
ion_key_size_t | key_size, | ||
ion_value_size_t | value_size | ||
) |
Definition at line 42 of file iinq.c.
78 error = ion_master_table_create_dictionary(&handler, &dictionary, key_type, key_size, value_size, -1);
Definition: kv_system.h:160
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
Definition: kv_system.h:188
Definition: kv_system.h:209
A dictionary contains information regarding an instance of the storage element and the associated han...
Definition: dictionary_types.h:273
Definition: kv_system.h:185
ion_err_t ion_close_dictionary(ion_dictionary_t *dictionary)
Closes a given dictionary.
Definition: ion_master_table.c:486
void bpptree_init(ion_dictionary_handler_t *handler)
Registers a specific handler for a dictionary instance.
Definition: bpp_tree_handler.c:711
Definition: kv_system.h:197
Definition: kv_system.h:182
A dictionary_handler is responsible for dealing with the specific interface for an underlying diction...
Definition: dictionary_types.h:207
Here is the call graph for this function:
ion_status_t iinq_delete | ( | char * | schema_file_name, |
ion_key_t | key | ||
) |
Definition at line 216 of file iinq.c.
Definition: kv_system.h:160
ion_status_t dictionary_delete(ion_dictionary_t *dictionary, ion_key_t key)
Delete a value given a key.
Definition: dictionary.c:199
A dictionary contains information regarding an instance of the storage element and the associated han...
Definition: dictionary_types.h:273
ion_err_t ion_close_dictionary(ion_dictionary_t *dictionary)
Closes a given dictionary.
Definition: ion_master_table.c:486
ion_err_t iinq_open_source(char *schema_file_name, ion_dictionary_t *dictionary, ion_dictionary_handler_t *handler)
Definition: iinq.c:106
A dictionary_handler is responsible for dealing with the specific interface for an underlying diction...
Definition: dictionary_types.h:207
A status object that describes the result of a dictionary operation.
Definition: kv_system.h:290
Here is the call graph for this function:
ion_err_t iinq_drop | ( | char * | schema_file_name | ) |
Definition at line 245 of file iinq.c.
Definition: kv_system.h:160
A dictionary contains information regarding an instance of the storage element and the associated han...
Definition: dictionary_types.h:273
ion_err_t dictionary_delete_dictionary(ion_dictionary_t *dictionary)
Destroys dictionary.
Definition: dictionary.c:178
ion_err_t iinq_open_source(char *schema_file_name, ion_dictionary_t *dictionary, ion_dictionary_handler_t *handler)
Definition: iinq.c:106
A dictionary_handler is responsible for dealing with the specific interface for an underlying diction...
Definition: dictionary_types.h:207
Here is the call graph for this function:
ion_status_t iinq_insert | ( | char * | schema_file_name, |
ion_key_t | key, | ||
ion_value_t | value | ||
) |
Definition at line 156 of file iinq.c.
Definition: kv_system.h:160
ion_status_t dictionary_insert(ion_dictionary_t *dictionary, ion_key_t key, ion_value_t value)
Insert a value into a dictionary.
Definition: dictionary.c:151
A dictionary contains information regarding an instance of the storage element and the associated han...
Definition: dictionary_types.h:273
ion_err_t ion_close_dictionary(ion_dictionary_t *dictionary)
Closes a given dictionary.
Definition: ion_master_table.c:486
ion_err_t iinq_open_source(char *schema_file_name, ion_dictionary_t *dictionary, ion_dictionary_handler_t *handler)
Definition: iinq.c:106
A dictionary_handler is responsible for dealing with the specific interface for an underlying diction...
Definition: dictionary_types.h:207
A status object that describes the result of a dictionary operation.
Definition: kv_system.h:290
Here is the call graph for this function:
ion_err_t iinq_open_source | ( | char * | schema_file_name, |
ion_dictionary_t * | dictionary, | ||
ion_dictionary_handler_t * | handler | ||
) |
Definition at line 106 of file iinq.c.
Definition: kv_system.h:160
unsigned int ion_dictionary_id_t
A type used to identify dictionaries, specifically in the master table.
Definition: dictionary_types.h:51
Definition: kv_system.h:188
Definition: kv_system.h:185
void bpptree_init(ion_dictionary_handler_t *handler)
Registers a specific handler for a dictionary instance.
Definition: bpp_tree_handler.c:711
Definition: kv_system.h:197
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
Definition: kv_system.h:182
Here is the call graph for this function:
Here is the caller graph for this function:
ion_status_t iinq_update | ( | char * | schema_file_name, |
ion_key_t | key, | ||
ion_value_t | value | ||
) |
Definition at line 186 of file iinq.c.
Definition: kv_system.h:160
ion_status_t dictionary_update(ion_dictionary_t *dictionary, ion_key_t key, ion_value_t value)
Update all records with a given key.
Definition: dictionary.c:169
A dictionary contains information regarding an instance of the storage element and the associated han...
Definition: dictionary_types.h:273
ion_err_t ion_close_dictionary(ion_dictionary_t *dictionary)
Closes a given dictionary.
Definition: ion_master_table.c:486
ion_err_t iinq_open_source(char *schema_file_name, ion_dictionary_t *dictionary, ion_dictionary_handler_t *handler)
Definition: iinq.c:106
A dictionary_handler is responsible for dealing with the specific interface for an underlying diction...
Definition: dictionary_types.h:207
A status object that describes the result of a dictionary operation.
Definition: kv_system.h:290
Here is the call graph for this function: