|
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().
