CUBRID Engine
latest
|
Go to the source code of this file.
Classes | |
struct | fh_info |
struct | fh_entry |
struct | fh_page_hdr |
struct | fh_table |
Macros | |
#define | fh_oidk_key fh_key_data.fh_oidkey.key |
#define | fh_oidk_data fh_key_data.fh_oidkey.data |
#define | fh_intk_key fh_key_data.fh_intkey.key |
#define | fh_intk_data fh_key_data.fh_intkey.data |
#define | INVALID_FILE_POS (FH_FILE_POS)~0 |
Typedefs | |
typedef struct fh_info | FH_INFO |
typedef unsigned int | FH_FILE_POS |
typedef struct fh_entry | FH_ENTRY |
typedef struct fh_entry * | FH_ENTRY_PTR |
typedef struct fh_page_hdr | FH_PAGE_HDR |
typedef unsigned int(* | HASH_FUNC) (const void *info, unsigned int htsize) |
typedef int(* | CMP_FUNC) (const void *key1, const void *key2) |
typedef struct fh_table | FH_TABLE |
typedef void * | FH_KEY |
typedef void * | FH_DATA |
Enumerations | |
enum | FH_KEY_TYPE { FH_OID_KEY = 1, FH_INT_KEY = 2 } |
Functions | |
FH_TABLE * | fh_create (const char *, int, int, int, const char *, FH_KEY_TYPE, int, HASH_FUNC, CMP_FUNC) |
int | fh_put (FH_TABLE *ht, FH_KEY key, FH_DATA data) |
int | fh_get (FH_TABLE *ht, FH_KEY key, FH_DATA *data) |
void | fh_destroy (FH_TABLE *ht) |
void | fh_dump (FH_TABLE *ht) |
#define fh_intk_data fh_key_data.fh_intkey.data |
Definition at line 54 of file file_hash.h.
Referenced by fh_create().
#define fh_intk_key fh_key_data.fh_intkey.key |
Definition at line 53 of file file_hash.h.
#define fh_oidk_data fh_key_data.fh_oidkey.data |
Definition at line 52 of file file_hash.h.
Referenced by fh_create().
#define fh_oidk_key fh_key_data.fh_oidkey.key |
Definition at line 51 of file file_hash.h.
#define INVALID_FILE_POS (FH_FILE_POS)~0 |
Definition at line 57 of file file_hash.h.
Referenced by fh_create(), fh_get(), fh_put(), and fh_read_page().
Definition at line 78 of file file_hash.h.
typedef void* FH_DATA |
Definition at line 113 of file file_hash.h.
typedef struct fh_entry* FH_ENTRY_PTR |
Definition at line 66 of file file_hash.h.
typedef unsigned int FH_FILE_POS |
Definition at line 56 of file file_hash.h.
typedef void* FH_KEY |
Definition at line 112 of file file_hash.h.
typedef struct fh_page_hdr FH_PAGE_HDR |
typedef unsigned int(* HASH_FUNC) (const void *info, unsigned int htsize) |
Definition at line 77 of file file_hash.h.
enum FH_KEY_TYPE |
Enumerator | |
---|---|
FH_OID_KEY | |
FH_INT_KEY |
Definition at line 80 of file file_hash.h.
FH_TABLE* fh_create | ( | const char * | , |
int | , | ||
int | , | ||
int | , | ||
const char * | , | ||
FH_KEY_TYPE | , | ||
int | , | ||
HASH_FUNC | , | ||
CMP_FUNC | |||
) |
Definition at line 164 of file file_hash.c.
References fh_table::bitmap, fh_table::bitmap_size, cached_pages, fh_table::cached_pages, fh_table::cmpfun, fh_table::data_size, DB_SIZEOF, fh_table::entries_per_page, fh_table::entry_size, est_size, fh_table::fd, fh_calculate_htsize(), fh_destroy(), fh_page_hdr::fh_entries, FH_INT_KEY, fh_intk_data, FH_OID_KEY, fh_oidk_data, fh_table::hash_filename, fh_table::hfun, INVALID_FILE_POS, fh_table::key_type, MIGDB_MSG_FH_HASH_FILENAME, MSGCAT_CATALOG_UTILS, msgcat_message(), MSGCAT_UTIL_SET_MIGDB, fh_table::name, fh_table::ncollisions, fh_table::nentries, fh_page_hdr::next, NULL, null_int, filesys::open_temp_filedes(), OR_PUT_NULL_OID, fh_table::overflow, fh_page_hdr::page, page_size, fh_table::page_size, fh_table::pg_hdr, fh_table::pg_hdr_alloc, fh_table::pg_hdr_free, fh_table::pg_hdr_last, fh_page_hdr::prev, fh_table::size, and strdup().
Referenced by extract_objects().
void fh_destroy | ( | FH_TABLE * | ht | ) |
Definition at line 310 of file file_hash.c.
References fh_table::bitmap, fh_table::fd, fh_page_hdr::fh_entries, free_and_init, fh_table::hash_filename, fh_page_hdr::next, fh_table::pg_hdr, and fh_table::pg_hdr_alloc.
Referenced by extractobjects_cleanup(), and fh_create().
void fh_dump | ( | FH_TABLE * | ht | ) |
Definition at line 833 of file file_hash.c.
References fh_table::bitmap, fh_table::bitmap_size, fh_table::cached_pages, fh_table::data_size, fh_table::entries_per_page, fh_table::entry_size, FH_OID_KEY, fh_table::hash_filename, fh_table::key_type, MIGDB_MSG_FH_CACHED_PAGES, MIGDB_MSG_FH_DATA_SIZE, MIGDB_MSG_FH_ENTRIES_PER_PAGE, MIGDB_MSG_FH_ENTRY_SIZE, MIGDB_MSG_FH_FREE_PAGE_HEADER, MIGDB_MSG_FH_HASH_FILENAME2, MIGDB_MSG_FH_KEY_TYPE, MIGDB_MSG_FH_LAST_PAGE_HEADER, MIGDB_MSG_FH_NAME, MIGDB_MSG_FH_NEXT_OVERFLOW_ENTRY, MIGDB_MSG_FH_NUM_COLLISIONS, MIGDB_MSG_FH_NUM_ENTRIES, MIGDB_MSG_FH_PAGE_BITMAP, MIGDB_MSG_FH_PAGE_BITMAP_SIZE, MIGDB_MSG_FH_PAGE_HEADERS, MIGDB_MSG_FH_PAGE_SIZE, MIGDB_MSG_FH_SIZE, MSGCAT_CATALOG_UTILS, msgcat_message(), MSGCAT_UTIL_SET_MIGDB, fh_table::name, fh_table::ncollisions, fh_table::nentries, fh_table::overflow, fh_table::page_size, fh_table::pg_hdr, fh_table::pg_hdr_free, and fh_table::pg_hdr_last.
Referenced by extractobjects_cleanup().
Definition at line 353 of file file_hash.c.
References fh_table::cmpfun, fh_table::entries_per_page, fh_table::entry_size, ER_GENERIC_ERROR, fh_page_hdr::fh_entries, FH_INT_KEY, FH_OID_KEY, fh_table::hfun, fh_entry::info, INVALID_FILE_POS, fh_table::key_type, fh_entry::next, NO_ERROR, NULL, null_int, null_oid, and fh_table::size.
Referenced by process_value(), set_referenced_subclasses(), and update_hash().
Definition at line 449 of file file_hash.c.
References fh_table::cmpfun, fh_table::data_size, fh_table::entries_per_page, fh_table::entry_size, ER_GENERIC_ERROR, fh_page_hdr::fh_entries, FH_INT_KEY, FH_OID_KEY, fh_table::hfun, fh_entry::info, INVALID_FILE_POS, fh_table::key_type, fh_table::ncollisions, fh_table::nentries, fh_entry::next, NO_ERROR, NULL, null_int, null_oid, fh_table::overflow, and fh_table::size.
Referenced by extract_objects(), and update_hash().