CUBRID Engine
latest
|
#include "config.h"
#include "error_manager.h"
#include "storage_common.h"
#include "file_manager.h"
#include "oid.h"
Go to the source code of this file.
void* ehash_delete | ( | THREAD_ENTRY * | thread_p, |
EHID * | ehid, | ||
void * | key | ||
) |
Definition at line 3410 of file extendible_hash.c.
References ARG_FILE_LINE, ASSERT_ERROR, recdes::data, DB_PAGESIZE, do_merge(), DONT_FREE, ehash_allocate_recdes(), EHASH_BUCKET_EMPTY, EHASH_BUCKET_UNDERFLOW, ehash_check_merge_possible(), ehash_find_bucket_vpid_with_hash(), ehash_fix_old_page(), ehash_free_recdes(), ehash_locate_slot(), ehash_merge(), EHASH_SUCCESSFUL_COMPLETION, EHASH_UNDERFLOW_THRESHOLD, ehash_write_ehid_to_record(), ER_EH_UNKNOWN_KEY, er_set(), ER_WARNING_SEVERITY, file_is_temp(), ehash_dir_header::key_type, recdes::length, log_append_redo_data2(), log_append_undo_data2(), NO_ERROR, NULL, NULL_PAGEID, overflow_delete(), ehash_dir_header::overflow_file, vpid::pageid, PEEK, PGBUF_LATCH_READ, PGBUF_LATCH_WRITE, pgbuf_set_dirty(), pgbuf_unfix_and_init, REC_BIGONE, REC_HOME, RVEH_DELETE, S_LOCK, spage_delete(), spage_get_record(), spage_max_space_for_new_record(), spage_number_of_records(), recdes::type, ehid::vfid, and VPID_INITIALIZER.
Referenced by catalog_put_representation_item().
void ehash_dump | ( | THREAD_ENTRY * | thread_p, |
EHID * | ehid | ||
) |
Definition at line 4855 of file extendible_hash.c.
References ARG_FILE_LINE, ASSERT_ERROR, ehash_dir_header::bucket_file, ehash_dir_record::bucket_vpid, DB_PAGESIZE, DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_OBJECT, DB_TYPE_SHORT, DB_TYPE_STRING, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, ehash_dir_header::depth, EHASH_DIR_HEADER_SIZE, ehash_dir_locate(), ehash_dump_bucket(), ehash_find_bucket_vpid(), ehash_fix_ehid_page(), ehash_fix_nth_page(), ehash_fix_old_page(), ehash_get_key_size(), EHASH_HASH_KEY_BITS, ER_EH_ROOT_CORRUPTED, ER_FATAL_ERROR_SEVERITY, er_set(), file_get_num_user_pages(), vfid::fileid, i, ehash_dir_header::key_type, ehash_dir_header::local_depth_count, NO_ERROR, NULL, ehid::pageid, vpid::pageid, PGBUF_LATCH_READ, PGBUF_LATCH_WRITE, pgbuf_unfix_and_init, ehid::vfid, vpid::volid, vfid::volid, and VPID_ISNULL.
void* ehash_insert | ( | THREAD_ENTRY * | thread_p, |
EHID * | ehid, | ||
void * | key, | ||
OID * | value_ptr | ||
) |
Definition at line 1455 of file extendible_hash.c.
References ehash_insert_helper(), NULL, and S_LOCK.
Referenced by qexec_upddel_add_unique_oid_to_ehid().
int ehash_map | ( | THREAD_ENTRY * | thread_p, |
EHID * | ehid, | ||
int(*)(THREAD_ENTRY *thread_p, void *, void *, void *args) | fun, | ||
void * | args | ||
) |
int ehash_rv_connect_bucket_redo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 5722 of file extendible_hash.c.
References ehash_dir_record::bucket_vpid, ehash_repetition::count, log_rcv::data, DONT_FREE, i, NO_ERROR, log_rcv::offset, pgbuf_set_dirty(), log_rcv::pgptr, ehash_repetition::vpid, and VPID_EQ.
int ehash_rv_delete_redo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 5474 of file extendible_hash.c.
References recdes::area_size, log_rcv::data, recdes::data, DONT_FREE, log_rcv::length, recdes::length, NO_ERROR, log_rcv::offset, PEEK, pgbuf_set_dirty(), log_rcv::pgptr, S_SUCCESS, spage_delete(), spage_get_record(), and recdes::type.
int ehash_rv_delete_undo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 5513 of file extendible_hash.c.
References recdes::area_size, assert, log_rcv::data, recdes::data, ehash_insert_helper(), ehash_read_ehid_from_record(), ehash_read_oid_from_record(), er_errid(), error(), free_and_init, log_rcv::length, recdes::length, NO_ERROR, NULL, log_rcv::offset, REC_BIGONE, and S_LOCK.
int ehash_rv_increment | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 5698 of file extendible_hash.c.
References log_rcv::data, DONT_FREE, NO_ERROR, log_rcv::offset, pgbuf_set_dirty(), and log_rcv::pgptr.
int ehash_rv_init_bucket_redo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 5316 of file extendible_hash.c.
References ehash_dir_header::alignment, recdes::area_size, ARG_FILE_LINE, assert, log_rcv::data, recdes::data, DONT_SAFEGUARD_RVSPACE, er_errid(), ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), recdes::length, ehash_bucket_header::local_depth, NO_ERROR, PAGE_EHASH, pgbuf_set_page_ptype(), log_rcv::pgptr, REC_HOME, SP_ERROR, SP_SUCCESS, spage_initialize(), spage_insert(), success(), recdes::type, and UNANCHORED_KEEP_SEQUENCE.
int ehash_rv_init_dir_new_page_redo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 733 of file extendible_hash.c.
References ARG_FILE_LINE, db_date_decode(), db_time_decode(), DB_TYPE_BIGINT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_OBJECT, DB_TYPE_SHORT, DB_TYPE_STRING, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DONT_FREE, ER_EH_INVALID_KEY_TYPE, ER_ERROR_SEVERITY, er_set(), NO_ERROR, OR_MOVE_DOUBLE, PAGE_EHASH, db_identifier::pageid, pgbuf_set_dirty(), pgbuf_set_page_ptype(), log_rcv::pgptr, db_identifier::slotid, and db_identifier::volid.
int ehash_rv_init_dir_redo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 5365 of file extendible_hash.c.
References log_rv_copy_char(), PAGE_EHASH, pgbuf_set_page_ptype(), and log_rcv::pgptr.
int ehash_rv_insert_redo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 5382 of file extendible_hash.c.
References recdes::area_size, ARG_FILE_LINE, log_rcv::data, recdes::data, DONT_FREE, er_errid(), ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), log_rcv::length, recdes::length, NO_ERROR, log_rcv::offset, pgbuf_set_dirty(), log_rcv::pgptr, SP_SUCCESS, spage_insert_for_recovery(), success(), and recdes::type.
int ehash_rv_insert_undo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 5419 of file extendible_hash.c.
References recdes::area_size, assert, log_rcv::data, recdes::data, ehash_read_ehid_from_record(), ehash_rv_delete(), er_errid(), error(), free_and_init, log_rcv::length, recdes::length, NO_ERROR, NULL, log_rcv::offset, and REC_BIGONE.
EH_SEARCH ehash_search | ( | THREAD_ENTRY * | thread_p, |
EHID * | ehid, | ||
void * | key, | ||
OID * | value_ptr | ||
) |
Definition at line 1373 of file extendible_hash.c.
References recdes::data, EH_ERROR_OCCURRED, EH_KEY_FOUND, EH_KEY_NOTFOUND, ehash_find_bucket_vpid_with_hash(), ehash_fix_old_page(), ehash_locate_slot(), ehash_read_oid_from_record(), ehash_dir_header::key_type, NULL, NULL_PAGEID, vpid::pageid, PEEK, PGBUF_LATCH_READ, pgbuf_unfix_and_init, spage_get_record(), and ehid::vfid.
Referenced by ehash_dump_bucket(), and qexec_upddel_add_unique_oid_to_ehid().