#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <stdint.h>
#include "../../key_value/kv_system.h"
#include "./../dictionary.h"
#include "./../../file/ion_file.h"
Description
- 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 bpp_tree.h.
Classes | |
struct | ion_bpp_open_t |
Macros | |
#define | ION_CC_EQ 0 |
#define | ION_CC_GT 1 |
#define | ION_CC_LT -1 |
Typedefs | |
typedef long | ion_bpp_external_address_t |
typedef long | ion_bpp_address_t |
typedef char(* | ion_bpp_comparison_t) (ion_key_t key1, ion_key_t key2, ion_key_size_t size) |
typedef ion_boolean_e | ion_bpp_bool_t |
typedef enum ION_BPP_ERR | ion_bpp_err_t |
typedef void * | ion_bpp_handle_t |
Enumerations | |
enum | ION_BPP_ERR { bErrOk, bErrKeyNotFound, bErrDupKeys, bErrSectorSize, bErrFileNotOpen, bErrFileExists, bErrIO, bErrMemory } |
Functions | |
ion_bpp_err_t | b_open (ion_bpp_open_t info, ion_bpp_handle_t *handle) |
ion_bpp_err_t | b_close (ion_bpp_handle_t handle) |
ion_bpp_err_t | b_insert (ion_bpp_handle_t handle, void *key, ion_bpp_external_address_t rec) |
ion_bpp_err_t | b_update (ion_bpp_handle_t handle, void *key, ion_bpp_external_address_t rec) |
ion_bpp_err_t | b_delete (ion_bpp_handle_t handle, void *key, ion_bpp_external_address_t *rec) |
ion_bpp_err_t | b_get (ion_bpp_handle_t handle, void *key, ion_bpp_external_address_t *rec) |
ion_bpp_err_t | b_find_first_greater_or_equal (ion_bpp_handle_t handle, void *key, void *mkey, ion_bpp_external_address_t *rec) |
ion_bpp_err_t | b_find_first_key (ion_bpp_handle_t handle, void *key, ion_bpp_external_address_t *rec) |
ion_bpp_err_t | b_find_last_key (ion_bpp_handle_t handle, void *key, ion_bpp_external_address_t *rec) |
ion_bpp_err_t | b_find_next_key (ion_bpp_handle_t handle, void *key, ion_bpp_external_address_t *rec) |
Macro Definition Documentation
#define ION_CC_EQ 0 |
Definition at line 58 of file bpp_tree.h.
#define ION_CC_GT 1 |
Definition at line 59 of file bpp_tree.h.
#define ION_CC_LT -1 |
Definition at line 60 of file bpp_tree.h.
Typedef Documentation
typedef long ion_bpp_address_t |
Definition at line 56 of file bpp_tree.h.
typedef ion_boolean_e ion_bpp_bool_t |
Definition at line 79 of file bpp_tree.h.
typedef char(* ion_bpp_comparison_t) (ion_key_t key1, ion_key_t key2, ion_key_size_t size) |
Definition at line 67 of file bpp_tree.h.
typedef enum ION_BPP_ERR ion_bpp_err_t |
typedef long ion_bpp_external_address_t |
Definition at line 55 of file bpp_tree.h.
typedef void* ion_bpp_handle_t |
Definition at line 86 of file bpp_tree.h.
Enumeration Type Documentation
enum ION_BPP_ERR |
Enumerator | |
---|---|
bErrOk | |
bErrKeyNotFound | |
bErrDupKeys | |
bErrSectorSize | |
bErrFileNotOpen | |
bErrFileExists | |
bErrIO | |
bErrMemory |
Definition at line 82 of file bpp_tree.h.
Function Documentation
ion_bpp_err_t b_close | ( | ion_bpp_handle_t | handle | ) |
Definition at line 1040 of file bpp_tree.c.
ion_bpp_err_t b_delete | ( | ion_bpp_handle_t | handle, |
void * | key, | ||
ion_bpp_external_address_t * | rec | ||
) |
Definition at line 1453 of file bpp_tree.c.
ion_bpp_err_t b_find_first_greater_or_equal | ( | ion_bpp_handle_t | handle, |
void * | key, | ||
void * | mkey, | ||
ion_bpp_external_address_t * | rec | ||
) |
Definition at line 1116 of file bpp_tree.c.
ion_bpp_err_t b_find_first_key | ( | ion_bpp_handle_t | handle, |
void * | key, | ||
ion_bpp_external_address_t * | rec | ||
) |
Definition at line 1598 of file bpp_tree.c.
ion_bpp_err_t b_find_last_key | ( | ion_bpp_handle_t | handle, |
void * | key, | ||
ion_bpp_external_address_t * | rec | ||
) |
Definition at line 1639 of file bpp_tree.c.
ion_bpp_err_t b_find_next_key | ( | ion_bpp_handle_t | handle, |
void * | key, | ||
ion_bpp_external_address_t * | rec | ||
) |
Definition at line 1669 of file bpp_tree.c.
ion_bpp_err_t b_get | ( | ion_bpp_handle_t | handle, |
void * | key, | ||
ion_bpp_external_address_t * | rec | ||
) |
Definition at line 1074 of file bpp_tree.c.
ion_bpp_err_t b_insert | ( | ion_bpp_handle_t | handle, |
void * | key, | ||
ion_bpp_external_address_t | rec | ||
) |
Definition at line 1167 of file bpp_tree.c.
ion_bpp_err_t b_open | ( | ion_bpp_open_t | info, |
ion_bpp_handle_t * | handle | ||
) |
Definition at line 899 of file bpp_tree.c.
ion_bpp_err_t b_update | ( | ion_bpp_handle_t | handle, |
void * | key, | ||
ion_bpp_external_address_t | rec | ||
) |
Definition at line 1345 of file bpp_tree.c.