CUBRID Engine
latest
|
#include "config.h"
#include "file_manager.h"
#include "mvcc.h"
#include "page_buffer.h"
#include "recovery.h"
#include "slotted_page.h"
#include "storage_common.h"
Go to the source code of this file.
const VPID* overflow_delete | ( | THREAD_ENTRY * | thread_p, |
const VFID * | ovf_vfid, | ||
const VPID * | ovf_vpid | ||
) |
Definition at line 650 of file overflow_file.c.
References OVERFLOW_DO_DELETE, and overflow_traverse().
Referenced by btree_delete_overflow_key(), ehash_delete(), ehash_insert_to_bucket(), and heap_ovf_delete().
void overflow_flush | ( | THREAD_ENTRY * | thread_p, |
const VPID * | ovf_vpid | ||
) |
Definition at line 683 of file overflow_file.c.
References NULL, OVERFLOW_DO_FLUSH, and overflow_traverse().
Referenced by heap_ovf_flush().
SCAN_CODE overflow_get | ( | THREAD_ENTRY * | thread_p, |
const VPID * | ovf_vpid, | ||
RECDES * | recdes, | ||
MVCC_SNAPSHOT * | mvcc_snapshot | ||
) |
Definition at line 916 of file overflow_file.c.
References overflow_get_nbytes().
Referenced by btree_load_overflow_key(), ehash_free_recdes(), heap_ovf_get(), and sort_retrieve_longrec().
int overflow_get_capacity | ( | THREAD_ENTRY * | thread_p, |
const VPID * | ovf_vpid, | ||
int * | ovf_length, | ||
int * | ovf_num_pages, | ||
int * | ovf_overhead, | ||
int * | ovf_free_space | ||
) |
Definition at line 934 of file overflow_file.c.
References ARG_FILE_LINE, overflow_first_part::data, overflow_rest_part::data, DB_PAGESIZE, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_HEAP_OVFADDRESS_CORRUPTED, er_set(), i, overflow_first_part::length, overflow_first_part::next_vpid, overflow_rest_part::next_vpid, NO_ERROR, NULL, NULL_SLOTID, OLD_PAGE, PAGE_OVERFLOW, vpid::pageid, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, vpid::volid, VPID_ISNULL, and while().
Referenced by heap_ovf_get_capacity().
char* overflow_get_first_page_data | ( | char * | page_ptr | ) |
Definition at line 1213 of file overflow_file.c.
Referenced by heap_get_mvcc_rec_header_from_overflow(), heap_set_mvcc_rec_header_on_overflow(), and heap_update_set_prev_version().
int overflow_get_length | ( | THREAD_ENTRY * | thread_p, |
const VPID * | ovf_vpid | ||
) |
Definition at line 697 of file overflow_file.c.
References overflow_first_part::length, NULL, OLD_PAGE, PAGE_OVERFLOW, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, and pgbuf_unfix_and_init.
Referenced by btree_load_overflow_key(), ehash_free_recdes(), heap_ovf_get_length(), and sort_retrieve_longrec().
SCAN_CODE overflow_get_nbytes | ( | THREAD_ENTRY * | thread_p, |
const VPID * | ovf_vpid, | ||
RECDES * | recdes, | ||
int | start_offset, | ||
int | max_nbytes, | ||
int * | remaining_length, | ||
MVCC_SNAPSHOT * | mvcc_snapshot | ||
) |
Definition at line 742 of file overflow_file.c.
References recdes::area_size, ARG_FILE_LINE, CAST_BUFLEN, overflow_first_part::data, overflow_rest_part::data, recdes::data, DB_PAGESIZE, ER_ERROR_SEVERITY, ER_HEAP_OVFADDRESS_CORRUPTED, er_set(), heap_get_mvcc_rec_header_from_overflow(), overflow_first_part::length, recdes::length, overflow_first_part::next_vpid, overflow_rest_part::next_vpid, NULL, NULL_SLOTID, OLD_PAGE, PAGE_OVERFLOW, vpid::pageid, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, S_DOESNT_FIT, S_ERROR, S_SNAPSHOT_NOT_SATISFIED, S_SUCCESS, mvcc_snapshot::snapshot_fnc, TOO_OLD_FOR_SNAPSHOT, vpid::volid, VPID_ISNULL, and while().
Referenced by heap_ovf_get(), and overflow_get().
int overflow_insert | ( | THREAD_ENTRY * | thread_p, |
const VFID * | ovf_vfid, | ||
VPID * | ovf_vpid, | ||
RECDES * | recdes, | ||
FILE_TYPE | file_type | ||
) |
Definition at line 95 of file overflow_file.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, CAST_BUFLEN, CEIL_PTVDIV, overflow_first_part::data, overflow_rest_part::data, recdes::data, DB_PAGESIZE, ER_ERROR_SEVERITY, ER_FAILED, er_log_debug, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), file_alloc_multiple(), FILE_BTREE_OVERFLOW_KEY, file_init_page_type(), file_init_temp_page_type(), FILE_MULTIPAGE_OBJECT_HEAP, FILE_TEMP, free_and_init, i, overflow_first_part::length, recdes::length, log_append_empty_record(), log_append_redo_data(), LOG_DUMMY_OVF_RECORD, log_sysop_abort(), log_sysop_attach_to_outer(), log_sysop_start(), overflow_first_part::next_vpid, overflow_rest_part::next_vpid, NO_ERROR, NULL, log_data_addr::offset, OLD_PAGE, OVERFLOW_ALLOCVPID_ARRAY_SIZE, PAGE_OVERFLOW, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_WRITE, pgbuf_set_dirty_and_free, PGBUF_UNCONDITIONAL_LATCH, log_data_addr::pgptr, RVOVF_NEWPAGE_INSERT, log_data_addr::vfid, VFID_ISNULL, VPID_ISNULL, and VPID_SET_NULL.
Referenced by btree_store_overflow_key(), ehash_insert_to_bucket(), heap_ovf_insert(), and sort_inphase_sort().
int overflow_rv_link | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 1140 of file overflow_file.c.
References log_rcv::data, DONT_FREE, overflow_rest_part::next_vpid, NO_ERROR, pgbuf_set_dirty(), and log_rcv::pgptr.
void overflow_rv_link_dump | ( | FILE * | fp, |
int | length_ignore, | ||
void * | data | ||
) |
Definition at line 1160 of file overflow_file.c.
References vpid::pageid, and vpid::volid.
int overflow_rv_newpage_insert_redo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 1108 of file overflow_file.c.
References log_rv_copy_char().
int overflow_rv_newpage_link_undo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 1120 of file overflow_file.c.
References DONT_FREE, overflow_rest_part::next_vpid, NO_ERROR, pgbuf_set_dirty(), log_rcv::pgptr, and VPID_SET_NULL.
void overflow_rv_page_dump | ( | FILE * | fp, |
int | length, | ||
void * | data | ||
) |
Definition at line 1188 of file overflow_file.c.
References log_rv_dump_char(), overflow_rest_part::next_vpid, vpid::pageid, and vpid::volid.
int overflow_rv_page_update_redo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 1174 of file overflow_file.c.
References log_rv_copy_char(), PAGE_OVERFLOW, pgbuf_set_page_ptype(), and log_rcv::pgptr.
int overflow_update | ( | THREAD_ENTRY * | thread_p, |
const VFID * | ovf_vfid, | ||
const VPID * | ovf_vpid, | ||
RECDES * | recdes, | ||
FILE_TYPE | file_type | ||
) |
Definition at line 383 of file overflow_file.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, overflow_first_part::data, overflow_rest_part::data, recdes::data, DB_PAGESIZE, file_alloc(), file_dealloc(), file_init_page_type(), FILE_MULTIPAGE_OBJECT_HEAP, overflow_first_part::length, recdes::length, log_append_empty_record(), log_append_redo_data(), log_append_undo_data(), log_append_undoredo_data(), LOG_DUMMY_OVF_RECORD, log_sysop_abort(), log_sysop_attach_to_outer(), log_sysop_start(), overflow_first_part::next_vpid, overflow_rest_part::next_vpid, NO_ERROR, NULL, log_data_addr::offset, OLD_PAGE, PAGE_OVERFLOW, pgbuf_check_page_ptype(), pgbuf_fix, pgbuf_get_vpid_ptr(), PGBUF_LATCH_WRITE, pgbuf_set_dirty_and_free, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, log_data_addr::pgptr, RVOVF_CHANGE_LINK, RVOVF_NEWPAGE_LINK, RVOVF_PAGE_UPDATE, log_data_addr::vfid, VFID_ISNULL, VPID_EQ, VPID_ISNULL, and VPID_SET_NULL.
Referenced by heap_ovf_update().