CUBRID Engine
latest
|
#include "config.h"
Go to the source code of this file.
Classes | |
struct | bh_bind_s |
struct | bh_interface_s |
struct | bh_provider_s |
Typedefs | |
typedef UINT64 | BIND_HANDLE |
typedef struct bh_interface_s | BH_INTERFACE |
typedef struct bh_bind_s | BH_BIND |
typedef void(* | bh_destroyf) (BH_BIND *bind) |
typedef int(* | bh_mapf) (BH_INTERFACE *ifs, BH_BIND *bind, void *arg) |
typedef struct bh_provider_s | bh_provider |
Enumerations | |
enum | BH_ROOT_TYPE { BH_ROOT_TYPE_STATIC_HASH_64 = 0, BH_ROOT_TYPE_STATIC_HASH_128 = 1, BH_ROOT_TYPE_STATIC_HASH_1024 = 2, BH_ROOT_TYPE_EXTENDIBLE_HASH = 3, BH_ROOT_TYPE_RB_TREE = 4 } |
Functions | |
int | bh_root_acquire (int *rid, BH_ROOT_TYPE rt) |
int | bh_root_release (int rid) |
int | bh_root_lock (int rid, BH_INTERFACE **ifs) |
int | bh_root_unlock (int rid) |
int | bh_get_rid (BIND_HANDLE bh, int *rid) |
int | create_handle_context (bh_provider *prov, BH_ROOT_TYPE rt, BH_INTERFACE **ifs) |
Definition at line 30 of file api_handle.h.
typedef void(* bh_destroyf) (BH_BIND *bind) |
Definition at line 31 of file api_handle.h.
typedef struct bh_interface_s BH_INTERFACE |
Definition at line 29 of file api_handle.h.
typedef int(* bh_mapf) (BH_INTERFACE *ifs, BH_BIND *bind, void *arg) |
Definition at line 32 of file api_handle.h.
typedef struct bh_provider_s bh_provider |
Definition at line 33 of file api_handle.h.
typedef UINT64 BIND_HANDLE |
Definition at line 28 of file api_handle.h.
enum BH_ROOT_TYPE |
Enumerator | |
---|---|
BH_ROOT_TYPE_STATIC_HASH_64 | |
BH_ROOT_TYPE_STATIC_HASH_128 | |
BH_ROOT_TYPE_STATIC_HASH_1024 | |
BH_ROOT_TYPE_EXTENDIBLE_HASH | |
BH_ROOT_TYPE_RB_TREE |
Definition at line 35 of file api_handle.h.
int bh_get_rid | ( | BIND_HANDLE | bh, |
int * | rid | ||
) |
Definition at line 802 of file api_handle.c.
References BH_GET_RID, ER_INTERFACE_INVALID_HANDLE, NO_ERROR, and NULL.
Referenced by ci_stmt_close().
int bh_root_acquire | ( | int * | rid, |
BH_ROOT_TYPE | rt | ||
) |
Definition at line 817 of file api_handle.c.
References API_LOCK, API_UNLOCK, assert, bh_root_s::bhifs, bri_alloc_root(), create_handle_context(), ER_INTERFACE_INVALID_ARGUMENT, bh_root_s::free_link, bh_root_s::mutex, NO_ERROR, NULL, rr_free_list, rr_lazy_init(), RR_LOCK, RR_UNLOCK, and bh_root_s::rrid.
Referenced by ci_create_connection_impl().
int bh_root_lock | ( | int | rid, |
BH_INTERFACE ** | ifs | ||
) |
Definition at line 908 of file api_handle.c.
References API_TRYLOCK, API_UNLOCK, bh_root_s::bhifs, bri_access_root(), ER_INTERFACE_GENERIC, ER_INTERFACE_HANDLE_TIMEOUT, ER_INTERFACE_INVALID_HANDLE, bh_root_s::mutex, NO_ERROR, NULL, and rr_initialized.
Referenced by ci_create_connection_impl(), and ci_stmt_close().
int bh_root_release | ( | int | rid | ) |
Definition at line 871 of file api_handle.c.
References API_LOCK, API_UNLOCK, assert, bh_root_s::bhifs, bri_access_root(), bh_interface_s::destroy, ER_INTERFACE_INVALID_HANDLE, bh_root_s::free_link, bh_root_s::mutex, NO_ERROR, NULL, rr_free_list, RR_LOCK, and RR_UNLOCK.
Referenced by ci_conn_close(), and ci_create_connection_impl().
int bh_root_unlock | ( | int | rid | ) |
Definition at line 944 of file api_handle.c.
References API_UNLOCK, bri_access_root(), ER_INTERFACE_GENERIC, bh_root_s::mutex, NO_ERROR, and rr_initialized.
Referenced by ci_create_connection_impl(), and ci_stmt_close().
int create_handle_context | ( | bh_provider * | prov, |
BH_ROOT_TYPE | rt, | ||
BH_INTERFACE ** | ifs | ||
) |
Definition at line 967 of file api_handle.c.
References bh_interface_s::alloc_handle, API_MALLOC, assert, bh_context_fe_s::be, be_create_static_hash(), BH_ROOT_TYPE_EXTENDIBLE_HASH, BH_ROOT_TYPE_RB_TREE, BH_ROOT_TYPE_STATIC_HASH_1024, BH_ROOT_TYPE_STATIC_HASH_128, BH_ROOT_TYPE_STATIC_HASH_64, bh_context_fe_s::bhifs, bh_interface_s::bind_get_first_child, bh_interface_s::bind_get_next_sibling, bh_interface_s::bind_get_parent, bh_interface_s::bind_graft, bh_interface_s::bind_map, bh_interface_s::bind_prune, bh_interface_s::bind_to_handle, bh_interface_s::destroy, bh_interface_s::destroy_handle, dlisth_init, ER_INTERFACE_NO_MORE_MEMORY, ER_INTERFACE_NOT_SUPPORTED_OPERATION, fe_alloc_handle(), fe_bind_get_first_child(), fe_bind_get_next_sibling(), fe_bind_get_parent(), fe_bind_graft(), fe_bind_map(), fe_bind_prune(), fe_bind_to_handle(), fe_destroy(), fe_destroy_handle(), fe_lookup(), bh_context_fe_s::handle_provider, bh_interface_s::lookup, NO_ERROR, NULL, and bh_context_fe_s::root_handles.
Referenced by bh_root_acquire().