CUBRID Engine
latest
|
#include "config.h"
#include "error_manager.h"
#include "disk_manager.h"
#include "lock_manager.h"
#include "log_lsa.hpp"
#include "mem_block.hpp"
#include "perf_monitor.h"
#include "storage_common.h"
#include "tde.h"
Go to the source code of this file.
Classes | |
struct | pgbuf_watcher |
Macros | |
#define | FREE true /* Free page buffer */ |
#define | DONT_FREE false /* Don't free the page buffer */ |
#define | VPID_GET_FROM_OID(vpid_ptr, oid_ptr) VPID_SET (vpid_ptr, (oid_ptr)->volid, (oid_ptr)->pageid); |
#define | VPID_EQ_FOR_OIDS(oid_ptr1, oid_ptr2) |
#define | PGBUF_PAGE_VPID_AS_ARGS(pg) pgbuf_get_volume_id (pg), pgbuf_get_page_id (pg) |
#define | PGBUF_PAGE_LSA_AS_ARGS(pg) (long long int) pgbuf_get_lsa (pg)->pageid, (int) pgbuf_get_lsa (pg)->offset |
#define | PGBUF_PAGE_STATE_MSG(name) name " { VPID = %d|%d, crt_lsa = %lld|%d } " |
#define | PGBUF_PAGE_STATE_ARGS(pg) PGBUF_PAGE_VPID_AS_ARGS (pg), PGBUF_PAGE_LSA_AS_ARGS (pg) |
#define | PGBUF_PAGE_MODIFY_MSG(name) name " { VPID = %d|%d, prev_lsa = %lld|%d, crt_lsa = %lld|%d } " |
#define | PGBUF_PAGE_MODIFY_ARGS(pg, prev_lsa) PGBUF_PAGE_VPID_AS_ARGS (pg), LSA_AS_ARGS (prev_lsa), PGBUF_PAGE_LSA_AS_ARGS (pg) |
#define | pgbuf_unfix_and_init(thread_p, pgptr) |
#define | pgbuf_ordered_unfix_and_init(thread_p, page, pg_watcher) |
#define | PGBUF_WATCHER_MAGIC_NUMBER 0x12345678 |
#define | PGBUF_ORDERED_NULL_HFID (pgbuf_ordered_null_hfid) |
#define | PGBUF_WATCHER_SET_GROUP(w, hfid) |
#define | PGBUF_WATCHER_COPY_GROUP(w_dst, w_src) |
#define | PGBUF_WATCHER_RESET_RANK(w, rank) |
#define | PGBUF_CLEAR_WATCHER(w) |
#define | PGBUF_INIT_WATCHER(w, rank, hfid) |
#define | PGBUF_IS_CLEAN_WATCHER(w) |
#define | PGBUF_IS_ORDERED_PAGETYPE(ptype) ((ptype) == PAGE_HEAP || (ptype) == PAGE_OVERFLOW) |
#define | pgbuf_fix(thread_p, vpid, fetch_mode, requestmode, condition) |
#define | pgbuf_ordered_fix(thread_p, req_vpid, fetch_mode, requestmode, req_watcher) |
#define | pgbuf_promote_read_latch(thread_p, pgptr_p, condition) |
#define | pgbuf_unfix(thread_p, pgptr) pgbuf_unfix_debug(thread_p, pgptr, __FILE__, __LINE__) |
#define | pgbuf_ordered_unfix(thread_p, watcher_object) |
#define | pgbuf_invalidate_all(thread_p, volid) pgbuf_invalidate_all_debug(thread_p, volid, __FILE__, __LINE__) |
#define | pgbuf_invalidate(thread_p, pgptr) pgbuf_invalidate_debug(thread_p, pgptr, __FILE__, __LINE__) |
#define | pgbuf_replace_watcher(thread_p, old_watcher, new_watcher) |
#define | pgbuf_set_dirty_and_free(thread_p, pgptr) pgbuf_set_dirty (thread_p, pgptr, FREE); pgptr = NULL |
#define | pgbuf_attach_watcher(...) pgbuf_attach_watcher_debug (__VA_ARGS__, ARG_FILE_LINE) |
#define | pgbuf_fix_if_not_deallocated(thread_p, vpid, latch_mode, latch_condition, page) pgbuf_fix_if_not_deallocated_with_caller (thread_p, vpid, latch_mode, latch_condition, page, ARG_FILE_LINE) |
Typedefs | |
typedef VPID | PGBUF_ORDERED_GROUP |
typedef struct pgbuf_watcher | PGBUF_WATCHER |
using | pgbuf_aligned_buffer = cubmem::stack_block<(size_t) IO_MAX_PAGE_SIZE > |
using | pgbuf_resizable_buffer = cubmem::extensible_stack_block<(size_t) IO_MAX_PAGE_SIZE > |
Variables | |
const VPID | vpid_Null_vpid |
HFID * | pgbuf_ordered_null_hfid |
const log_lsa | PGBUF_TEMP_LSA = { NULL_LOG_PAGEID - 1, NULL_LOG_OFFSET - 1 } |
#define DONT_FREE false /* Don't free the page buffer */ |
Definition at line 41 of file page_buffer.h.
Referenced by btree_construct_leafs(), btree_fix_root_for_insert(), btree_initialize_new_page(), btree_insert_mvcc_delid_into_page(), btree_key_append_object_as_new_overflow(), btree_key_append_object_non_unique(), btree_key_append_object_to_overflow(), btree_key_append_object_unique(), btree_key_insert_new_key(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), btree_key_relocate_last_into_ovf(), btree_key_remove_delete_mvccid_non_unique(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_insert_mvccid(), btree_leaf_record_replace_first_with_last(), btree_merge_node(), btree_merge_root(), btree_modify_leaf_ovfl_vpid(), btree_modify_overflow_link(), btree_overflow_record_replace_object(), btree_record_remove_object(), btree_reflect_global_unique_statistics(), btree_replace_first_oid_with_ovfl_oid(), btree_rv_nodehdr_redo_insert(), btree_rv_nodehdr_undo_insert(), btree_rv_nodehdr_undoredo_update(), btree_rv_noderec_redo_insert(), btree_rv_noderec_undo_insert(), btree_rv_noderec_undoredo_update(), btree_rv_nop(), btree_rv_ovfid_undoredo_update(), btree_rv_pagerec_delete(), btree_rv_pagerec_insert(), btree_rv_record_modify_internal(), btree_rv_roothdr_undo_update(), btree_rv_undo_mark_dealloc_page(), btree_rv_undoredo_copy_page(), btree_set_vpid_previous_vpid(), btree_split_node(), btree_split_node_and_advance(), btree_split_root(), btree_start_overflow_page(), catalog_drop_representation_class_from_page(), catalog_initialize_new_page(), catalog_put_record_into_page(), catalog_rv_delete_redo(), catalog_rv_insert_redo(), catalog_rv_insert_undo(), catalog_rv_new_page_redo(), catalog_rv_update(), disk_rv_redo_init_map(), disk_rv_reserve_sectors(), disk_rv_undoredo_link(), disk_rv_undoredo_set_boot_hfid(), disk_rv_undoredo_set_creation_time(), disk_rv_unreserve_sectors(), disk_rv_volhead_extend_redo(), disk_rv_volhead_extend_undo(), disk_set_checkpoint(), disk_set_creation(), disk_set_link(), disk_stab_init(), disk_stab_unit_reserve(), disk_stab_unit_unreserve(), ehash_adjust_local_depth(), ehash_delete(), ehash_initialize_bucket_new_page(), ehash_initialize_dir_new_page(), ehash_insert_to_bucket(), ehash_merge_permanent(), ehash_rv_connect_bucket_redo(), ehash_rv_delete(), ehash_rv_delete_redo(), ehash_rv_increment(), ehash_rv_init_dir_new_page_redo(), ehash_rv_insert_redo(), ehash_split_bucket(), file_alloc_sticky_first_page(), file_dealloc(), file_extdata_merge_pages(), file_extdata_update_item(), file_header_update_mark_deleted(), file_init_page_type_internal(), file_log_extdata_add(), file_log_extdata_remove(), file_log_extdata_set_next(), file_log_fhead_alloc(), file_log_fhead_dealloc(), file_numerable_add_page(), file_perm_dealloc(), file_perm_expand(), file_rv_extdata_add(), file_rv_extdata_merge(), file_rv_extdata_remove(), file_rv_extdata_set_next(), file_rv_fhead_alloc(), file_rv_fhead_convert_ftab_to_user_page(), file_rv_fhead_convert_user_to_ftab_page(), file_rv_fhead_dealloc(), file_rv_fhead_set_last_user_page_ftab(), file_rv_fhead_sticky_page(), file_rv_header_update_mark_deleted(), file_rv_partsect_update(), file_rv_perm_expand_redo(), file_rv_perm_expand_undo(), file_rv_set_tde_algorithm(), file_rv_tracker_mark_heap_deleted_compensate_or_run_postpone(), file_rv_tracker_reuse_heap(), file_rv_user_page_mark_delete(), file_rv_user_page_unmark_delete_logical(), file_rv_user_page_unmark_delete_physical(), file_temp_alloc(), file_temp_reset_user_pages(), file_temp_set_type(), file_tracker_init_page(), file_tracker_item_mark_heap_deleted(), file_tracker_item_reuse_heap(), file_tracker_register_internal(), heap_add_chain_links(), heap_compact_pages(), heap_delete_bigone(), heap_delete_physical(), heap_delete_relocation(), heap_insert_logical(), heap_insert_newhome(), heap_ovf_find_vfid(), heap_remove_page_on_vacuum(), heap_rv_mvcc_redo_delete_home(), heap_rv_mvcc_redo_delete_newhome(), heap_rv_mvcc_redo_delete_overflow(), heap_rv_mvcc_redo_insert(), heap_rv_mvcc_redo_redistribute(), heap_rv_mvcc_undo_delete(), heap_rv_mvcc_undo_delete_overflow(), heap_rv_nop(), heap_rv_redo_delete(), heap_rv_redo_insert(), heap_rv_redo_mark_reusable_slot(), heap_rv_redo_newpage(), heap_rv_redo_reuse_page(), heap_rv_redo_reuse_page_reuse_oid(), heap_rv_undo_insert(), heap_rv_undo_ovf_update(), heap_rv_undoredo_pagehdr(), heap_rv_update_chain_after_mvcc_op(), heap_update_and_log_header(), heap_update_bigone(), heap_update_physical(), heap_update_relocation(), heap_update_set_prev_version(), heap_vpid_alloc(), heap_vpid_init_new(), log_rv_copy_char(), log_rv_record_modify_internal(), overflow_rv_link(), overflow_rv_newpage_link_undo(), pgbuf_log_new_page(), pgbuf_log_redo_new_page(), pgbuf_ordered_set_dirty_and_free(), pgbuf_rv_dealloc_redo(), pgbuf_rv_flush_page(), pgbuf_rv_new_page_redo(), pgbuf_rv_new_page_undo(), pgbuf_set_tde_algorithm(), qfile_add_overflow_tuple_to_list(), qfile_add_tuple_get_pos_in_list(), qfile_add_tuple_to_list(), qfile_fast_intint_tuple_to_list(), qfile_fast_intval_tuple_to_list(), qfile_fast_val_tuple_to_list(), qfile_generate_tuple_into_list(), qfile_get_first_page(), qfile_set_tuple_column_value(), qmgr_init_external_file_page(), spage_delete(), spage_delete_for_recovery(), spage_initialize(), spage_insert_data(), spage_insert_for_recovery(), spage_merge(), spage_overwrite(), spage_put_helper(), spage_reclaim(), spage_split(), spage_take_out(), spage_update(), spage_update_record_type(), vacuum_consume_buffer_log_blocks(), vacuum_data_empty_page(), vacuum_data_load_and_recover(), vacuum_data_mark_finished(), vacuum_dropped_files_set_next_page(), vacuum_heap_page(), vacuum_heap_page_log_and_reset(), vacuum_heap_record(), vacuum_init_data_page_with_last_blockid(), vacuum_rv_check_at_undo(), vacuum_rv_redo_add_dropped_file(), vacuum_rv_redo_append_data(), vacuum_rv_redo_cleanup_dropped_files(), vacuum_rv_redo_data_finished(), vacuum_rv_redo_initialize_data_page(), vacuum_rv_redo_remove_ovf_insid(), vacuum_rv_redo_start_job(), vacuum_rv_redo_vacuum_complete(), vacuum_rv_redo_vacuum_heap_page(), vacuum_rv_redo_vacuum_heap_record(), vacuum_rv_replace_dropped_file(), vacuum_rv_set_next_page_dropped_files(), vacuum_rv_undo_add_dropped_file(), vacuum_rv_undoredo_data_set_link(), vacuum_set_dirty_data_page_dont_free(), xheap_reclaim_addresses(), and xvacuum().
#define FREE true /* Free page buffer */ |
Definition at line 40 of file page_buffer.h.
#define pgbuf_attach_watcher | ( | ... | ) | pgbuf_attach_watcher_debug (__VA_ARGS__, ARG_FILE_LINE) |
Definition at line 394 of file page_buffer.h.
Referenced by heap_alloc_new_page(), and heap_remove_page_on_vacuum().
#define PGBUF_CLEAR_WATCHER | ( | w | ) |
Definition at line 115 of file page_buffer.h.
Referenced by heap_add_chain_links(), and pgbuf_ordered_fix_debug().
#define pgbuf_fix | ( | thread_p, | |
vpid, | |||
fetch_mode, | |||
requestmode, | |||
condition | |||
) |
Definition at line 255 of file page_buffer.h.
Referenced by btree_advance_and_find_key(), btree_advance_to_next_slot_and_fix_page(), btree_build_nleafs(), btree_check_pages(), btree_check_tree(), btree_dump(), btree_dump_leaf_record(), btree_dump_page_with_subtree(), btree_find_AR_sampling_leaf(), btree_find_boundary_leaf(), btree_find_free_overflow_oids_page(), btree_find_key(), btree_find_key_from_nleaf(), btree_find_min_or_max_key(), btree_find_next_index_record_holding_current_helper(), btree_find_oid_and_its_page(), btree_fix_ovfl_oid_page(), btree_fix_ovfl_oid_pages_tree(), btree_fix_root_with_info(), btree_get_asc_desc(), btree_get_next_node_info(), btree_get_next_page(), btree_get_num_visible_oids_from_all_ovf(), btree_get_stats(), btree_get_subtree_capacity(), btree_get_unique_statistics(), btree_index_capacity(), btree_key_find_and_lock_unique_of_non_unique(), btree_key_find_first_visible_row_from_all_ovf(), btree_key_process_objects(), btree_merge_node_and_advance(), btree_range_scan_advance_over_filtered_keys(), btree_range_scan_descending_fix_prev_leaf(), btree_range_scan_find_fk_any_object(), btree_range_scan_select_visible_oids(), btree_read_key_type(), btree_reflect_global_unique_statistics(), btree_repair_prev_link_by_btid(), btree_replace_first_oid_with_ovfl_oid(), btree_rv_read_keyval_info_nocopy(), btree_scan_for_show_index_capacity(), btree_scan_for_show_index_header(), btree_split_node_and_advance(), btree_verify_subtree(), btree_verify_tree(), catalog_check_class_consistency(), catalog_drop_disk_representation_from_page(), catalog_drop_representation_class_from_page(), catalog_drop_representation_helper(), catalog_fetch_btree_statistics(), catalog_find_optimal_page(), catalog_get_class_info(), catalog_get_record_from_page(), catalog_get_rep_dir(), catalog_get_representation_record(), catalog_update_class_info(), disk_check(), disk_format(), disk_get_volheader_internal(), disk_rv_reserve_sectors(), disk_rv_unreserve_sectors(), disk_set_boot_hfid(), disk_stab_cursor_fix(), disk_stab_init(), ehash_fix_old_page(), file_alloc(), file_alloc_multiple(), file_alloc_sticky_first_page(), file_apply_tde_algorithm(), file_check_vpid(), file_create(), file_dealloc(), file_descriptor_dump(), file_descriptor_get(), file_descriptor_update(), file_destroy(), file_dump(), file_extdata_apply_funcs(), file_extdata_find_and_remove_item(), file_extdata_find_not_full(), file_get_num_user_pages(), file_get_sticky_first_page(), file_get_tde_algorithm(), file_get_type(), file_header_copy(), file_is_temp(), file_map_pages(), file_numerable_add_page(), file_numerable_find_nth(), file_numerable_truncate(), file_perm_dealloc(), file_postpone_destroy(), file_rv_dealloc_internal(), file_rv_tracker_mark_heap_deleted_compensate_or_run_postpone(), file_rv_tracker_unregister_undo(), file_rv_user_page_unmark_delete_logical(), file_sector_map_dealloc(), file_sector_map_pages(), file_set_tde_algorithm(), file_table_add_full_sector(), file_table_append_full_sector_page(), file_table_check(), file_table_move_partial_sectors_to_header(), file_temp_alloc(), file_temp_reset_user_pages(), file_temp_set_type(), file_tracker_apply_to_file(), file_tracker_get_and_protect(), file_tracker_interruptable_iterate(), file_tracker_item_dump_capacity(), file_tracker_item_reuse_heap(), file_tracker_item_spacedb(), file_tracker_map(), file_tracker_register(), file_tracker_register_internal(), file_tracker_spacedb(), file_tracker_unregister(), heap_attrinfo_check_unique_index(), heap_chkreloc_next(), heap_classrepr_get(), heap_estimate(), heap_ovf_find_vfid(), heap_reuse(), heap_stats_update_internal(), heap_update_bigone(), log_rollback_record(), log_rv_redo_fix_page(), log_rv_undo_record(), logpb_check_and_reset_temp_lsa(), orc_diskrep_from_record(), overflow_get_capacity(), overflow_get_length(), overflow_get_nbytes(), overflow_insert(), overflow_traverse(), overflow_update(), pgbuf_copy_from_area(), pgbuf_copy_to_area(), pgbuf_fix_with_retry(), pgbuf_rv_dealloc_undo(), pgbuf_rv_flush_page(), qfile_reopen_list_as_append_mode(), qmgr_get_old_page(), scan_open_index_key_info_scan(), scan_open_index_node_info_scan(), scan_open_index_scan(), vacuum_heap_page(), vacuum_heap_prepare_record(), xbtree_add_index(), xbtree_delete_index(), xbtree_get_key_type(), xbtree_get_unique_pk(), and xfile_apply_tde_to_class_files().
#define pgbuf_fix_if_not_deallocated | ( | thread_p, | |
vpid, | |||
latch_mode, | |||
latch_condition, | |||
page | |||
) | pgbuf_fix_if_not_deallocated_with_caller (thread_p, vpid, latch_mode, latch_condition, page, ARG_FILE_LINE) |
Definition at line 441 of file page_buffer.h.
Referenced by btree_key_find_and_lock_unique_of_non_unique(), btree_range_scan_descending_fix_prev_leaf(), btree_range_scan_resume(), disk_rv_undo_format(), log_execute_run_postpone(), log_rv_redo_fix_page(), spage_header_start_scan(), spage_slots_start_scan(), and vacuum_heap_page().
#define PGBUF_INIT_WATCHER | ( | w, | |
rank, | |||
hfid | |||
) |
Definition at line 123 of file page_buffer.h.
Referenced by heap_add_chain_links(), heap_alloc_new_page(), heap_check_all_pages_by_heapchain(), heap_clear_operation_context(), heap_compact_pages(), heap_does_exist(), heap_dump(), heap_get_capacity(), heap_get_class_oid(), heap_get_last_vpid(), heap_get_num_objects(), heap_init_get_context(), heap_next_internal(), heap_page_next(), heap_page_prev(), heap_remove_page_on_vacuum(), heap_rv_postpone_append_pages_to_heap(), heap_scancache_quick_start_internal(), heap_scancache_start_internal(), heap_stats_find_best_page(), heap_stats_sync_bestspace(), heap_update_home(), heap_update_relocation(), heap_update_set_prev_version(), heap_vacuum_all_objects(), heap_vpid_alloc(), heap_vpid_remove(), pgbuf_attach_watcher_debug(), redistribute_partition_data(), and xheap_reclaim_addresses().
#define pgbuf_invalidate | ( | thread_p, | |
pgptr | |||
) | pgbuf_invalidate_debug(thread_p, pgptr, __FILE__, __LINE__) |
Definition at line 290 of file page_buffer.h.
Referenced by disk_set_creation(), and disk_set_link().
#define pgbuf_invalidate_all | ( | thread_p, | |
volid | |||
) | pgbuf_invalidate_all_debug(thread_p, volid, __FILE__, __LINE__) |
Definition at line 286 of file page_buffer.h.
Referenced by boot_remove_temp_volume(), disk_format(), disk_rv_redo_dboutside_newvol(), disk_unformat(), log_recreate(), log_unformat_ahead_volumes(), logpb_copy_database(), logpb_copy_volume(), logpb_delete(), and logpb_rename_all_volumes_files().
#define PGBUF_IS_CLEAN_WATCHER | ( | w | ) |
Definition at line 153 of file page_buffer.h.
Referenced by heap_get_record_info(), heap_scancache_quick_end(), heap_stats_find_page_in_bestspace(), heap_update_and_log_header(), heap_vpid_alloc(), and pgbuf_replace_watcher_debug().
#define PGBUF_IS_ORDERED_PAGETYPE | ( | ptype | ) | ((ptype) == PAGE_HEAP || (ptype) == PAGE_OVERFLOW) |
Definition at line 156 of file page_buffer.h.
Referenced by pgbuf_ordered_fix_debug().
#define pgbuf_ordered_fix | ( | thread_p, | |
req_vpid, | |||
fetch_mode, | |||
requestmode, | |||
req_watcher | |||
) |
Definition at line 261 of file page_buffer.h.
Referenced by heap_compact_pages(), heap_delete_bigone(), heap_fix_forward_page(), heap_fix_header_page(), heap_get_last_vpid(), heap_get_num_objects(), heap_prepare_object_page(), heap_remove_page_on_vacuum(), heap_stats_find_best_page(), heap_stats_sync_bestspace(), heap_update_set_prev_version(), heap_vacuum_all_objects(), redistribute_partition_data(), scan_next_heap_scan(), and xheap_reclaim_addresses().
#define PGBUF_ORDERED_NULL_HFID (pgbuf_ordered_null_hfid) |
Definition at line 85 of file page_buffer.h.
Referenced by heap_does_exist(), heap_get_class_oid(), heap_init_get_context(), heap_scancache_quick_start_internal(), heap_scancache_start_internal(), heap_update_home(), heap_update_relocation(), heap_update_set_prev_version(), and redistribute_partition_data().
#define pgbuf_ordered_unfix | ( | thread_p, | |
watcher_object | |||
) |
Definition at line 280 of file page_buffer.h.
Referenced by heap_check_all_pages_by_heapchain(), heap_clean_get_context(), heap_compact_pages(), heap_delete_logical(), heap_does_exist(), heap_dump(), heap_find_location_and_insert_rec_newhome(), heap_get_capacity(), heap_get_class_oid(), heap_get_insert_location_with_lock(), heap_get_last_page(), heap_get_last_vpid(), heap_get_num_objects(), heap_get_record_info(), heap_get_record_location(), heap_insert_logical(), heap_next_internal(), heap_page_next(), heap_page_prev(), heap_prepare_get_context(), heap_prepare_object_page(), heap_remove_page_on_vacuum(), heap_scancache_force_modify(), heap_scancache_quick_end(), heap_stats_find_best_page(), heap_stats_find_page_in_bestspace(), heap_stats_sync_bestspace(), heap_unfix_watchers(), heap_update_home(), heap_update_logical(), heap_update_relocation(), heap_update_set_prev_version(), heap_vacuum_all_objects(), heap_vpid_alloc(), heap_vpid_remove(), locator_check_all_entries_of_all_btrees(), locator_check_by_class_oid(), locator_lock_and_get_object_internal(), pgbuf_ordered_set_dirty_and_free(), redistribute_partition_data(), scan_next_heap_scan(), scan_next_index_lookup_heap(), and xheap_reclaim_addresses().
#define pgbuf_ordered_unfix_and_init | ( | thread_p, | |
page, | |||
pg_watcher | |||
) |
Definition at line 69 of file page_buffer.h.
Referenced by heap_add_chain_links(), heap_remove_page_on_vacuum(), heap_rv_postpone_append_pages_to_heap(), locator_multi_insert_force(), and pgbuf_ordered_fix_debug().
#define PGBUF_PAGE_LSA_AS_ARGS | ( | pg | ) | (long long int) pgbuf_get_lsa (pg)->pageid, (int) pgbuf_get_lsa (pg)->offset |
Definition at line 54 of file page_buffer.h.
Referenced by disk_rv_redo_format(), disk_rv_volhead_extend_redo(), disk_rv_volhead_extend_undo(), and file_rv_fhead_dealloc().
#define PGBUF_PAGE_MODIFY_ARGS | ( | pg, | |
prev_lsa | |||
) | PGBUF_PAGE_VPID_AS_ARGS (pg), LSA_AS_ARGS (prev_lsa), PGBUF_PAGE_LSA_AS_ARGS (pg) |
Definition at line 60 of file page_buffer.h.
Referenced by btree_merge_node_and_advance(), btree_split_node_and_advance(), disk_volume_expand(), file_alloc_sticky_first_page(), file_dealloc(), file_extdata_find_and_remove_item(), file_extdata_merge_pages(), file_header_update_mark_deleted(), file_log_extdata_set_next(), file_numerable_add_page(), file_perm_alloc(), file_perm_dealloc(), file_perm_expand(), file_rv_user_page_unmark_delete_logical(), file_table_add_full_sector(), file_table_move_partial_sectors_to_header(), file_tracker_item_mark_heap_deleted(), file_tracker_item_reuse_heap(), and file_tracker_register_internal().
#define PGBUF_PAGE_MODIFY_MSG | ( | name | ) | name " { VPID = %d|%d, prev_lsa = %lld|%d, crt_lsa = %lld|%d } " |
Definition at line 59 of file page_buffer.h.
Referenced by btree_merge_node_and_advance(), btree_split_node_and_advance(), disk_volume_expand(), file_extdata_find_and_remove_item(), file_extdata_merge_pages(), and file_tracker_item_mark_heap_deleted().
#define PGBUF_PAGE_STATE_ARGS | ( | pg | ) | PGBUF_PAGE_VPID_AS_ARGS (pg), PGBUF_PAGE_LSA_AS_ARGS (pg) |
Definition at line 57 of file page_buffer.h.
Referenced by btree_key_append_object_as_new_overflow(), btree_remove_delete_mvccid_unique_internal(), btree_rv_record_modify_internal(), btree_split_node_and_advance(), disk_rv_reserve_sectors(), disk_rv_unreserve_sectors(), file_extdata_merge_pages(), file_rv_extdata_add(), file_rv_extdata_merge(), file_rv_extdata_remove(), file_rv_extdata_set_next(), file_rv_fhead_alloc(), file_rv_fhead_set_last_user_page_ftab(), file_rv_fhead_sticky_page(), file_rv_header_update_mark_deleted(), file_rv_partsect_update(), file_rv_perm_expand_redo(), file_rv_perm_expand_undo(), file_rv_tracker_mark_heap_deleted_compensate_or_run_postpone(), file_rv_tracker_reuse_heap(), file_rv_user_page_mark_delete(), file_rv_user_page_unmark_delete_physical(), heap_page_rv_chain_update(), heap_page_update_chain_after_mvcc_op(), vacuum_add_dropped_file(), vacuum_cleanup_dropped_files(), vacuum_data_empty_update_last_blockid(), vacuum_data_initialize_new_page(), vacuum_heap_page(), vacuum_reset_data_after_copydb(), vacuum_rv_redo_add_dropped_file(), vacuum_rv_redo_vacuum_heap_page(), and vacuum_rv_replace_dropped_file().
#define PGBUF_PAGE_STATE_MSG | ( | name | ) | name " { VPID = %d|%d, crt_lsa = %lld|%d } " |
Definition at line 56 of file page_buffer.h.
Referenced by btree_key_append_object_as_new_overflow(), btree_remove_delete_mvccid_unique_internal(), btree_split_node_and_advance(), disk_rv_reserve_sectors(), disk_rv_unreserve_sectors(), file_extdata_merge_pages(), file_rv_extdata_merge(), file_rv_tracker_mark_heap_deleted_compensate_or_run_postpone(), file_rv_tracker_reuse_heap(), and vacuum_data_initialize_new_page().
#define PGBUF_PAGE_VPID_AS_ARGS | ( | pg | ) | pgbuf_get_volume_id (pg), pgbuf_get_page_id (pg) |
Definition at line 53 of file page_buffer.h.
Referenced by catalog_file_map_page_dump(), file_rv_fhead_dealloc(), heap_page_set_vacuum_status_none(), heap_page_update_chain_after_mvcc_op(), vacuum_find_dropped_file(), vacuum_heap_get_hfid_and_file_type(), and vacuum_rv_redo_vacuum_heap_page().
#define pgbuf_promote_read_latch | ( | thread_p, | |
pgptr_p, | |||
condition | |||
) |
Definition at line 270 of file page_buffer.h.
Referenced by btree_fix_root_for_insert(), btree_merge_node_and_advance(), btree_split_node_and_advance(), and file_numerable_find_nth().
#define pgbuf_replace_watcher | ( | thread_p, | |
old_watcher, | |||
new_watcher | |||
) |
Definition at line 337 of file page_buffer.h.
Referenced by heap_check_all_pages_by_heapchain(), heap_clean_get_context(), heap_compact_pages(), heap_delete_logical(), heap_dump(), heap_get_capacity(), heap_get_record_info(), heap_get_record_location(), heap_init_get_context(), heap_insert_logical(), heap_insert_newhome(), heap_next_internal(), heap_page_next(), heap_page_prev(), heap_stats_sync_bestspace(), heap_update_logical(), heap_vacuum_all_objects(), locator_multi_insert_force(), and redistribute_partition_data().
#define pgbuf_set_dirty_and_free | ( | thread_p, | |
pgptr | |||
) | pgbuf_set_dirty (thread_p, pgptr, FREE); pgptr = NULL |
Definition at line 351 of file page_buffer.h.
Referenced by disk_format(), disk_stab_init(), disk_volume_expand(), file_create(), file_numerable_add_page(), file_set_tde_algorithm(), file_temp_alloc(), file_tracker_item_reuse_heap(), overflow_insert(), overflow_update(), and pgbuf_rv_dealloc_undo().
#define pgbuf_unfix | ( | thread_p, | |
pgptr | |||
) | pgbuf_unfix_debug(thread_p, pgptr, __FILE__, __LINE__) |
Definition at line 276 of file page_buffer.h.
Referenced by btree_fix_root_with_info(), btree_range_scan_advance_over_filtered_keys(), btree_repair_prev_link_by_btid(), btree_search_key_and_apply_functions(), disk_check(), disk_check_sectors_are_reserved_in_volume(), disk_format(), disk_is_page_sector_reserved_with_debug_crash(), disk_reserve_sectors_in_volume(), disk_rv_undo_format(), disk_stab_init(), disk_unreserve_sectors_from_volume(), disk_volume_boot(), disk_volume_header_next_scan(), ehash_shrink_directory(), file_alloc(), file_alloc_multiple(), file_alloc_sticky_first_page(), file_apply_tde_algorithm(), file_check_vpid(), file_create(), file_dealloc(), file_descriptor_dump(), file_descriptor_get(), file_destroy(), file_dump(), file_extdata_apply_funcs(), file_extdata_find_and_remove_item(), file_get_num_user_pages(), file_get_sticky_first_page(), file_get_tde_algorithm(), file_get_type(), file_header_copy(), file_is_temp(), file_map_pages(), file_numerable_add_page(), file_numerable_find_nth(), file_numerable_truncate(), file_perm_dealloc(), file_rv_dealloc_internal(), file_rv_tracker_mark_heap_deleted_compensate_or_run_postpone(), file_rv_user_page_unmark_delete_logical(), file_table_add_full_sector(), file_table_check(), file_temp_reset_user_pages(), file_temp_set_type(), file_tracker_apply_to_file(), file_tracker_get_and_protect(), file_tracker_interruptable_iterate(), file_tracker_item_dump_capacity(), file_tracker_item_reuse_heap(), file_tracker_map(), file_tracker_register(), file_tracker_register_internal(), file_tracker_unregister(), log_execute_run_postpone(), log_recovery_redo(), log_rollback_record(), log_rv_undo_record(), logpb_check_and_reset_temp_lsa(), pgbuf_fix_debug(), pgbuf_flush(), pgbuf_ordered_fix_debug(), pgbuf_ordered_unfix_debug(), pgbuf_rv_flush_page(), pgbuf_set_dirty(), qmgr_free_old_page(), xbtree_get_key_type(), xdisk_get_total_numpages(), and xehash_destroy().
#define pgbuf_unfix_and_init | ( | thread_p, | |
pgptr | |||
) |
Definition at line 63 of file page_buffer.h.
Referenced by btree_advance_to_next_slot_and_fix_page(), btree_build_nleafs(), btree_check_pages(), btree_check_tree(), btree_construct_leafs(), btree_dump(), btree_dump_leaf_record(), btree_dump_page_with_subtree(), btree_find_AR_sampling_leaf(), btree_find_boundary_leaf(), btree_find_free_overflow_oids_page(), btree_find_key(), btree_find_key_from_leaf(), btree_find_key_from_nleaf(), btree_find_min_or_max_key(), btree_find_next_index_record(), btree_find_next_index_record_holding_current(), btree_find_next_index_record_holding_current_helper(), btree_find_oid_and_its_page(), btree_fix_ovfl_oid_page(), btree_fix_ovfl_oid_pages_tree(), btree_fix_root_for_delete(), btree_fix_root_for_insert(), btree_fk_object_does_exist(), btree_get_asc_desc(), btree_get_class_oid_of_unique_btid(), btree_get_next_key_info(), btree_get_next_node_info(), btree_get_next_page(), btree_get_num_visible_oids_from_all_ovf(), btree_get_stats(), btree_get_stats_with_AR_sampling(), btree_get_stats_with_fullscan(), btree_get_subtree_capacity(), btree_get_unique_statistics(), btree_index_capacity(), btree_key_append_object_as_new_overflow(), btree_key_append_object_into_ovf(), btree_key_delete_remove_object(), btree_key_find_and_insert_delete_mvccid(), btree_key_find_and_lock_unique_of_non_unique(), btree_key_find_first_visible_row_from_all_ovf(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), btree_key_process_objects(), btree_key_remove_delete_mvccid(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), btree_load_check_fk(), btree_load_new_page(), btree_merge_node(), btree_merge_node_and_advance(), btree_overflow_remove_object(), btree_prepare_bts(), btree_proceed_leaf(), btree_range_scan(), btree_range_scan_descending_fix_prev_leaf(), btree_range_scan_find_fk_any_object(), btree_range_scan_resume(), btree_range_scan_select_visible_oids(), btree_range_scan_start(), btree_read_key_type(), btree_reflect_global_unique_statistics(), btree_repair_prev_link_by_btid(), btree_replace_first_oid_with_ovfl_oid(), btree_rv_read_keyval_info_nocopy(), btree_save_last_leafrec(), btree_scan_for_show_index_capacity(), btree_scan_for_show_index_header(), btree_search_key_and_apply_functions(), btree_split_node(), btree_split_node_and_advance(), btree_split_test(), btree_verify_subtree(), btree_verify_tree(), bts_reset_scan(), catalog_add_class_info(), catalog_add_representation(), catalog_check_class_consistency(), catalog_create(), catalog_drop_all(), catalog_drop_all_representation_and_class(), catalog_drop_disk_representation_from_page(), catalog_drop_old_representations(), catalog_drop_representation_class_from_page(), catalog_drop_representation_helper(), catalog_drop_representation_item(), catalog_fetch_btree_statistics(), catalog_find_optimal_page(), catalog_get_class_info(), catalog_get_last_representation_id(), catalog_get_record_from_page(), catalog_get_rep_dir(), catalog_get_representation(), catalog_get_representation_directory(), catalog_get_representation_item(), catalog_get_representation_record(), catalog_insert_representation_item(), catalog_put_record_into_page(), catalog_put_representation_item(), catalog_update_class_info(), disk_check(), disk_check_volume(), disk_dump_volume_system_info(), disk_format(), disk_get_boot_db_charset(), disk_get_boot_hfid(), disk_get_checkpoint(), disk_get_creation_time(), disk_get_link(), disk_get_total_numsectors(), disk_rv_reserve_sectors(), disk_rv_unreserve_sectors(), disk_set_creation(), disk_set_link(), disk_spacedb(), disk_stab_cursor_unfix(), disk_volume_boot(), ehash_check_merge_possible(), ehash_connect_bucket(), ehash_delete(), ehash_dump(), ehash_expand_directory(), ehash_extend_bucket(), ehash_find_bucket_vpid(), ehash_find_bucket_vpid_with_hash(), ehash_find_depth(), ehash_hash(), ehash_insert_bucket_after_extend_if_need(), ehash_insert_helper(), ehash_insert_to_bucket_after_create(), ehash_map(), ehash_merge(), ehash_rv_delete(), ehash_search(), ehash_shrink_directory(), ehash_split_bucket(), file_alloc(), file_check_vpid(), file_create(), file_destroy(), file_extdata_apply_funcs(), file_extdata_find_and_remove_item(), file_extdata_find_not_full(), file_perm_dealloc(), file_postpone_destroy(), file_rv_tracker_mark_heap_deleted_compensate_or_run_postpone(), file_rv_tracker_unregister_undo(), file_sector_map_dealloc(), file_sector_map_pages(), file_table_add_full_sector(), file_table_append_full_sector_page(), file_table_check(), file_table_move_partial_sectors_to_header(), file_temp_alloc(), file_tracker_interruptable_iterate(), file_tracker_item_spacedb(), file_tracker_map(), file_tracker_register_internal(), file_tracker_spacedb(), heap_attrinfo_check_unique_index(), heap_check_all_pages(), heap_chkreloc_next(), heap_classrepr_get(), heap_create_internal(), heap_estimate(), heap_flush(), heap_header_next_scan(), heap_ovf_find_vfid(), heap_prefetch(), heap_reuse(), heap_stats_update_internal(), orc_diskrep_from_record(), overflow_delete_internal(), overflow_get_capacity(), overflow_get_length(), overflow_get_nbytes(), overflow_update(), pgbuf_copy_to_area(), pgbuf_get_groupid_and_unfix(), pgbuf_ordered_fix_debug(), pgbuf_unfix_all(), scan_open_index_key_info_scan(), scan_open_index_node_info_scan(), scan_open_index_scan(), spage_header_start_scan(), spage_slots_start_scan(), vacuum_heap_page(), vacuum_heap_page_log_and_reset(), vacuum_heap_prepare_record(), vacuum_heap_record(), xbtree_add_index(), xbtree_delete_index(), xbtree_get_unique_pk(), xbtree_load_index(), xcatalog_check_rep_dir(), xdisk_get_fullname(), xdisk_get_purpose_and_space_info(), xdisk_get_purpose_and_sys_lastpage(), xdisk_get_remarks(), and xfile_apply_tde_to_class_files().
#define PGBUF_WATCHER_COPY_GROUP | ( | w_dst, | |
w_src | |||
) |
Definition at line 101 of file page_buffer.h.
Referenced by heap_delete_bigone(), heap_fix_forward_page(), heap_prepare_get_context(), and heap_update_set_prev_version().
#define PGBUF_WATCHER_MAGIC_NUMBER 0x12345678 |
Definition at line 84 of file page_buffer.h.
Referenced by pgbuf_fix_debug(), pgbuf_ordered_fix_debug(), pgbuf_ordered_unfix_debug(), pgbuf_remove_watcher(), pgbuf_replace_watcher_debug(), and pgbuf_unfix_debug().
#define PGBUF_WATCHER_RESET_RANK | ( | w, | |
rank | |||
) |
Definition at line 109 of file page_buffer.h.
Referenced by heap_delete_bigone(), and heap_prepare_get_context().
#define PGBUF_WATCHER_SET_GROUP | ( | w, | |
hfid | |||
) |
Definition at line 87 of file page_buffer.h.
#define VPID_EQ_FOR_OIDS | ( | oid_ptr1, | |
oid_ptr2 | |||
) |
Definition at line 49 of file page_buffer.h.
#define VPID_GET_FROM_OID | ( | vpid_ptr, | |
oid_ptr | |||
) | VPID_SET (vpid_ptr, (oid_ptr)->volid, (oid_ptr)->pageid); |
Definition at line 46 of file page_buffer.h.
Referenced by boot_dbparm_save_volume(), heap_classrepr_get(), heap_prepare_object_page(), heap_update_bigone(), heap_update_set_prev_version(), vacuum_heap_page(), and vacuum_heap_prepare_record().
using pgbuf_aligned_buffer = cubmem::stack_block<(size_t) IO_MAX_PAGE_SIZE> |
Definition at line 238 of file page_buffer.h.
typedef VPID PGBUF_ORDERED_GROUP |
Definition at line 217 of file page_buffer.h.
using pgbuf_resizable_buffer = cubmem::extensible_stack_block<(size_t) IO_MAX_PAGE_SIZE> |
Definition at line 239 of file page_buffer.h.
typedef struct pgbuf_watcher PGBUF_WATCHER |
Definition at line 219 of file page_buffer.h.
enum PAGE_FETCH_MODE |
Enumerator | |
---|---|
OLD_PAGE | |
NEW_PAGE | |
OLD_PAGE_IF_IN_BUFFER | |
OLD_PAGE_PREVENT_DEALLOC | |
OLD_PAGE_DEALLOCATED | |
OLD_PAGE_MAYBE_DEALLOCATED |
Definition at line 160 of file page_buffer.h.
Definition at line 197 of file page_buffer.h.
Enumerator | |
---|---|
PGBUF_UNCONDITIONAL_LATCH | |
PGBUF_CONDITIONAL_LATCH |
Definition at line 185 of file page_buffer.h.
enum PGBUF_LATCH_MODE |
Enumerator | |
---|---|
PGBUF_NO_LATCH | |
PGBUF_LATCH_READ | |
PGBUF_LATCH_WRITE | |
PGBUF_LATCH_FLUSH | |
PGBUF_LATCH_INVALID |
Definition at line 176 of file page_buffer.h.
enum PGBUF_ORDERED_RANK |
Enumerator | |
---|---|
PGBUF_ORDERED_HEAP_HDR | |
PGBUF_ORDERED_HEAP_NORMAL | |
PGBUF_ORDERED_HEAP_OVERFLOW | |
PGBUF_ORDERED_RANK_UNDEFINED |
Definition at line 208 of file page_buffer.h.
Enumerator | |
---|---|
PGBUF_PROMOTE_ONLY_READER | |
PGBUF_PROMOTE_SHARED_READER |
Definition at line 191 of file page_buffer.h.
void pgbuf_adjust_quotas | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 13052 of file page_buffer.c.
References pgbuf_page_quota::adjust_age, assert, pgbuf_buffer_pool::buf_invalid_list, pgbuf_lru_list::count_lru1, pgbuf_lru_list::count_lru2, pgbuf_lru_list::count_vict_cand, i, pgbuf_invalid_list::invalid_cnt, pgbuf_page_quota::is_adjusting, pgbuf_page_quota::last_adjust_time, pgbuf_page_monitor::lru_activity, pgbuf_page_monitor::lru_hits, MAX_PRIVATE_RATIO, MIN_PRIVATE_RATIO, pgbuf_buffer_pool::monitor, NULL, pgbuf_buffer_pool::num_buffers, pgbuf_buffer_pool::num_LRU_list, PERFMON_ACTIVATION_FLAG_PB_VICTIMIZATION, perfmon_is_perf_tracking_and_active(), pgbuf_page_monitor::pg_unfix_cnt, PGBUF_BCB_CHECK_MUTEX_LEAKS, PGBUF_GET_LRU_LIST, PGBUF_IS_PRIVATE_LRU_INDEX, pgbuf_lfcq_add_lru_with_victims(), pgbuf_lru_adjust_zones(), PGBUF_LRU_ARE_ZONES_ONE_TWO_OVER_THRESHOLD, PGBUF_LRU_LIST_IS_ONE_TWO_OVER_QUOTA, PGBUF_LRU_LIST_IS_OVER_QUOTA, PGBUF_LRU_ZONE_MIN_RATIO, PGBUF_MIN_SHARED_LIST_ADJUST_SIZE, PGBUF_PAGE_QUOTA_IS_ENABLED, PGBUF_PRIVATE_LRU_MAX_HARD_QUOTA, PGBUF_SHARED_LRU_COUNT, PGBUF_TOTAL_LRU_COUNT, PGBUF_TRAN_THRESHOLD_ACTIVITY, pgbuf_page_quota::private_pages_ratio, pthread_mutex_lock, pthread_mutex_unlock, pgbuf_lru_list::quota, pgbuf_buffer_pool::quota, pgbuf_buffer_pool::ratio_lru1, pgbuf_buffer_pool::ratio_lru2, thread_get_thread_entry_info(), pgbuf_lru_list::threshold_lru1, pgbuf_lru_list::threshold_lru2, tsc_elapsed_utime(), tsc_getticks(), and pgbuf_page_monitor::victim_rich.
Referenced by pgbuf_assign_private_lru(), pgbuf_get_page_flush_interval(), and pgbuf_release_private_lru().
int pgbuf_assign_private_lru | ( | THREAD_ENTRY * | thread_p, |
bool | is_vacuum, | ||
const int | id | ||
) |
Definition at line 13312 of file page_buffer.c.
References assert, i, pgbuf_page_monitor::lru_activity, pgbuf_buffer_pool::monitor, pgbuf_buffer_pool::num_buffers, pgbuf_adjust_quotas(), PGBUF_GET_LRU_LIST, PGBUF_LRU_LIST_COUNT, PGBUF_PAGE_QUOTA_IS_ENABLED, PGBUF_PRIVATE_LIST_FROM_LRU_INDEX, PGBUF_SHARED_LRU_COUNT, PGBUF_TOTAL_LRU_COUNT, PGBUF_TRAN_MAX_ACTIVITY, pgbuf_page_quota::private_lru_session_cnt, and pgbuf_buffer_pool::quota.
Referenced by session_state_create(), and vacuum_initialize().
void pgbuf_attach_watcher_debug | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | pgptr, | ||
PGBUF_LATCH_MODE | latch_mode, | ||
HFID * | hfid, | ||
PGBUF_WATCHER * | watcher, | ||
const char * | file, | ||
const int | line | ||
) |
Definition at line 12429 of file page_buffer.c.
References assert, pgbuf_watcher::curr_rank, HFID_IS_NULL, hfid::hpgid, NULL, vpid::pageid, pgbuf_add_watch_instance_internal(), pgbuf_get_holder(), pgbuf_get_vpid_ptr(), PGBUF_INIT_WATCHER, PGBUF_ORDERED_HEAP_HDR, PGBUF_ORDERED_HEAP_NORMAL, hfid::vfid, vpid::volid, vfid::volid, VPID_EQ, and VPID_INITIALIZER.
bool pgbuf_check_page_ptype | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | pgptr, | ||
PAGE_TYPE | ptype | ||
) |
Definition at line 10326 of file page_buffer.c.
References pgbuf_check_page_ptype_internal().
Referenced by btree_advance_to_next_slot_and_fix_page(), btree_build_nleafs(), btree_check_pages(), btree_check_tree(), btree_find_AR_sampling_leaf(), btree_find_boundary_leaf(), btree_find_free_overflow_oids_page(), btree_find_key(), btree_find_key_from_nleaf(), btree_find_min_or_max_key(), btree_find_next_index_record_holding_current_helper(), btree_fix_ovfl_oid_page(), btree_fix_ovfl_oid_pages_tree(), btree_get_asc_desc(), btree_get_new_page(), btree_get_next_page(), btree_get_node_header(), btree_get_num_visible_oids_from_all_ovf(), btree_get_overflow_header(), btree_get_root_header(), btree_get_stats(), btree_get_subtree_capacity(), btree_get_unique_statistics(), btree_index_capacity(), btree_key_find_first_visible_row_from_all_ovf(), btree_load_new_page(), btree_merge_node(), btree_merge_node_and_advance(), btree_node_number_of_keys(), btree_read_key_type(), btree_reflect_global_unique_statistics(), btree_repair_prev_link_by_btid(), btree_replace_first_oid_with_ovfl_oid(), btree_rv_read_keyval_info_nocopy(), btree_verify_subtree(), btree_verify_tree(), catalog_adjust_directory_count(), catalog_check_class_consistency(), catalog_create(), catalog_drop_disk_representation_from_page(), catalog_drop_representation_class_from_page(), catalog_drop_representation_helper(), catalog_fetch_btree_statistics(), catalog_file_map_find_optimal_page(), catalog_get_class_info(), catalog_get_new_page(), catalog_get_record_from_page(), catalog_get_rep_dir(), catalog_get_representation_record(), catalog_update_class_info(), disk_rv_reserve_sectors(), disk_rv_unreserve_sectors(), disk_verify_volume_header(), disk_volheader_check_magic(), ehash_create_helper(), ehash_fix_old_page(), ehash_insert_to_bucket_after_create(), heap_check_all_pages(), heap_compact_pages(), heap_delete_bigone(), heap_estimate(), heap_find_location_and_insert_rec_newhome(), heap_fix_forward_page(), heap_fix_header_page(), heap_flush(), heap_get_num_objects(), heap_ovf_find_vfid(), heap_reuse(), heap_rv_redo_reuse_page(), heap_rv_undoredo_pagehdr(), heap_scan_pb_lock_and_fetch_debug(), heap_stats_find_best_page(), heap_stats_sync_bestspace(), heap_stats_update_internal(), heap_vacuum_all_objects(), heap_vpid_next(), heap_vpid_prev(), orc_diskrep_from_record(), overflow_get_capacity(), overflow_get_length(), overflow_get_nbytes(), overflow_insert(), overflow_traverse(), overflow_update(), pgbuf_copy_to_area(), pgbuf_ordered_fix_debug(), qfile_reopen_list_as_append_mode(), qmgr_get_old_page(), scan_open_index_scan(), vacuum_heap_page(), xbtree_add_index(), xbtree_delete_index(), xbtree_get_unique_pk(), xfile_apply_tde_to_class_files(), and xheap_reclaim_addresses().
bool pgbuf_check_page_type_no_error | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | pgptr, | ||
PAGE_TYPE | ptype | ||
) |
Definition at line 10341 of file page_buffer.c.
References pgbuf_check_page_ptype_internal(), and STATIC_INLINE.
Definition at line 1287 of file page_buffer.c.
References vpid::pageid, and vpid::volid.
Referenced by pgbuf_initialize_aout_list().
void* pgbuf_copy_from_area | ( | THREAD_ENTRY * | thread_p, |
const VPID * | vpid, | ||
int | start_offset, | ||
int | length, | ||
void * | area, | ||
bool | do_fetch, | ||
TDE_ALGORITHM | tde_algo | ||
) |
Definition at line 4192 of file page_buffer.c.
References assert, pgbuf_buffer_pool::buf_hash_table, DB_PAGESIZE, DISK_VALID, ER_CSS_PTHREAD_MUTEX_TRYLOCK, er_errid(), fileio_get_volume_descriptor(), FREE, log_skip_logging(), NEW_PAGE, NULL, log_data_addr::offset, PAGE_AREA, vpid::pageid, perfmon_inc_stat(), PGBUF_BCB_UNLOCK, PGBUF_DEBUG_PAGE_VALIDATION_ALL, pgbuf_fix, pgbuf_get_check_page_validation_level(), PGBUF_HASH_VALUE, pgbuf_is_valid_page(), PGBUF_LATCH_WRITE, pgbuf_search_hash_chain(), pgbuf_set_dirty(), pgbuf_set_page_ptype(), pgbuf_set_tde_algorithm(), PGBUF_UNCONDITIONAL_LATCH, log_data_addr::pgptr, PSTAT_PB_NUM_IOWRITES, pthread_mutex_unlock, log_data_addr::vfid, and vpid::volid.
Referenced by sort_write_area().
void* pgbuf_copy_to_area | ( | THREAD_ENTRY * | thread_p, |
const VPID * | vpid, | ||
int | start_offset, | ||
int | length, | ||
void * | area, | ||
bool | do_fetch | ||
) |
Definition at line 4067 of file page_buffer.c.
References ARG_FILE_LINE, pgbuf_buffer_pool::buf_hash_table, CAST_BFPTR_TO_PGPTR, pgbuf_buffer_pool::check_for_interrupts, DB_PAGESIZE, DISK_VALID, ER_CSS_PTHREAD_MUTEX_TRYLOCK, er_errid(), ER_ERROR_SEVERITY, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_INTERRUPTED, er_log_debug, er_set(), fileio_get_volume_descriptor(), logtb_is_interrupted(), NULL, OLD_PAGE, PAGE_AREA, vpid::pageid, perfmon_inc_stat(), PGBUF_BCB_UNLOCK, pgbuf_check_page_ptype(), PGBUF_DEBUG_PAGE_VALIDATION_ALL, pgbuf_fix, pgbuf_get_check_page_validation_level(), PGBUF_HASH_VALUE, pgbuf_is_valid_page(), PGBUF_LATCH_READ, pgbuf_search_hash_chain(), PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, PSTAT_PB_NUM_IOREADS, PSTAT_SORT_NUM_DATA_PAGES, pthread_mutex_unlock, thread_get_sort_stats_active(), and vpid::volid.
Referenced by sort_read_area().
void pgbuf_daemons_get_stats | ( | UINT64 * | stats_out | ) |
Definition at line 16048 of file page_buffer.c.
References cubthread::daemon::get_stats(), cubthread::daemon::get_stats_value_count(), and NULL.
Referenced by perfmon_stat_dump_in_buffer_thread_daemon_stats().
void pgbuf_dealloc_page | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | page_dealloc | ||
) |
Definition at line 13976 of file page_buffer.c.
References ARG_FILE_LINE, assert, CAST_PGPTR_TO_BFPTR, er_log_debug, pgbuf_bcb::fcnt, FILEIO_PAGE_FLAG_ENCRYPTED_MASK, pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, log_append_undoredo_data2(), NULL, PAGE_UNKNOWN, fileio_page_reserved::pageid, pgbuf_dealloc_undo_data::pageid, fileio_page_reserved::pflag, pgbuf_dealloc_undo_data::pflag, PGBUF_BCB_DIRTY_FLAG, PGBUF_BCB_LOCK, PGBUF_BCB_MOVE_TO_LRU_BOTTOM_FLAG, pgbuf_bcb_update_flags(), pgbuf_get_tde_algorithm(), pgbuf_unlatch_bcb_upon_unfix(), pgbuf_unlatch_thrd_holder(), fileio_page::prv, fileio_page_reserved::ptype, pgbuf_dealloc_undo_data::ptype, RVPGBUF_DEALLOC, tde_get_algorithm_name(), fileio_page_reserved::volid, pgbuf_dealloc_undo_data::volid, pgbuf_bcb::vpid, and VPID_AS_ARGS.
Referenced by file_destroy(), file_perm_dealloc(), file_sector_map_dealloc(), and file_table_move_partial_sectors_to_header().
void pgbuf_finalize | ( | void | ) |
Definition at line 1528 of file page_buffer.c.
References pgbuf_aout_list::Aout_bottom, pgbuf_aout_list::aout_buf_ht, pgbuf_aout_list::Aout_free, pgbuf_aout_list::Aout_top, pgbuf_buffer_pool::BCB_table, pgbuf_buffer_pool::big_private_lrus_with_victims, pgbuf_buffer_pool::buf_AOUT_list, pgbuf_buffer_pool::buf_hash_table, pgbuf_buffer_pool::buf_invalid_list, pgbuf_buffer_pool::buf_lock_table, pgbuf_buffer_pool::buf_LRU_list, pgbuf_aout_list::bufarray, pgbuf_seq_flusher::flush_list, free_and_init, pgbuf_buffer_pool::free_holder_set, i, pgbuf_buffer_pool::iopage_table, pgbuf_page_monitor::lru_activity, pgbuf_page_monitor::lru_hits, pgbuf_page_quota::lru_victim_flush_priority_per_lru, pgbuf_aout_list::max_count, mht_destroy(), pgbuf_buffer_pool::monitor, pgbuf_holder_set::next_set, NULL, pgbuf_buffer_pool::num_buffers, pgbuf_aout_list::num_hashes, PGBUF_FIND_BCB_PTR, PGBUF_HASH_SIZE, PGBUF_TOTAL_LRU_COUNT, pgbuf_page_quota::private_lru_session_cnt, pgbuf_buffer_pool::private_lrus_with_victims, pthread_mutex_destroy, pgbuf_buffer_pool::quota, pgbuf_buffer_pool::seq_chkpt_flusher, pgbuf_buffer_pool::shared_lrus_with_victims, pgbuf_buffer_pool::show_status, pgbuf_buffer_pool::thrd_holder_info, pgbuf_buffer_pool::thrd_reserved_holder, and pgbuf_buffer_pool::victim_cand_list.
Referenced by logtb_undefine_trantable(), and pgbuf_initialize().
PAGE_PTR pgbuf_fix_debug | ( | THREAD_ENTRY * | thread_p, |
const VPID * | vpid, | ||
PAGE_FETCH_MODE | fetch_mode, | ||
PGBUF_LATCH_MODE | requestmode, | ||
PGBUF_LATCH_CONDITION | condition, | ||
const char * | caller_file, | ||
int | caller_line | ||
) |
Definition at line 1789 of file page_buffer.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, assert_release, pgbuf_iopage_buffer::bcb, pgbuf_buffer_pool::buf_hash_table, CAST_BFPTR_TO_PGPTR, pgbuf_buffer_pool::check_for_interrupts, DISK_VALID, pgbuf_fix_perf::end_tick, ER_ERROR_SEVERITY, ER_FATAL_ERROR_SEVERITY, ER_INTERRUPTED, ER_PB_BAD_PAGEID, er_set(), ER_WARNING_SEVERITY, fileio_get_volume_label(), pgbuf_page_monitor::fix_req_cnt, pgbuf_fix_perf::fix_wait_time, pgbuf_fix_perf::holder_wait_time, pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, pgbuf_fix_perf::is_perf_tracking, pgbuf_holder::last_watcher, LK_FORCE_ZERO_WAIT, LK_ZERO_WAIT, pgbuf_fix_perf::lock_wait_time, LOG_FIND_THREAD_TRAN_INDEX, log_is_in_crash_recovery_and_not_yet_completes_redo(), logtb_get_check_interrupt(), logtb_is_interrupted(), LSA_ISNULL(), pgbuf_watcher::magic, pgbuf_buffer_pool::monitor, NEW_PAGE, NO_ERROR, NULL, pgbuf_status::num_hit, pgbuf_status::num_page_request, OLD_PAGE, OLD_PAGE_DEALLOCATED, OLD_PAGE_IF_IN_BUFFER, OLD_PAGE_MAYBE_DEALLOCATED, OLD_PAGE_PREVENT_DEALLOC, pgbuf_bcb::oldest_unflush_lsa, PAGE_UNKNOWN, vpid::pageid, PEEK, pgbuf_fix_perf::perf_cond_type, PERF_CONDITIONAL_FIX, PERF_HOLDER_LATCH_READ, PERF_HOLDER_LATCH_WRITE, pgbuf_fix_perf::perf_latch_mode, pgbuf_fix_perf::perf_page_found, PERF_PAGE_MODE_OLD_IN_BUFFER, pgbuf_fix_perf::perf_page_type, PERF_UNCONDITIONAL_FIX_NO_WAIT, PERF_UNCONDITIONAL_FIX_WITH_WAIT, perfmon_inc_stat(), perfmon_is_perf_tracking(), pgbuf_add_fixed_at(), PGBUF_BCB_CHECK_MUTEX_LEAKS, PGBUF_BCB_INVALIDATE_DIRECT_VICTIM_FLAG, pgbuf_bcb_is_direct_victim(), pgbuf_bcb_is_dirty(), PGBUF_BCB_LOCK, pgbuf_bcb_register_avoid_deallocation(), pgbuf_bcb_register_fix(), PGBUF_BCB_TO_VACUUM_FLAG, PGBUF_BCB_UNLOCK, pgbuf_bcb_unregister_avoid_deallocation(), pgbuf_bcb_update_flags(), PGBUF_BCB_VICTIM_DIRECT_FLAG, pgbuf_check_bcb_page_vpid(), pgbuf_claim_bcb_for_fix(), PGBUF_CONDITIONAL_LATCH, PGBUF_DEBUG_PAGE_VALIDATION_FETCH, pgbuf_find_current_wait_msecs(), pgbuf_find_thrd_holder(), pgbuf_get_check_page_validation_level(), pgbuf_get_holder(), pgbuf_get_page_type_for_stat(), PGBUF_HASH_VALUE, pgbuf_insert_into_hash_chain(), pgbuf_is_lsa_temporary(), pgbuf_is_valid_page(), pgbuf_latch_bcb_upon_fix(), PGBUF_LATCH_READ, PGBUF_LATCH_WRITE, pgbuf_put_bcb_into_invalid_list(), pgbuf_search_hash_chain(), pgbuf_set_bcb_page_vpid(), PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix, pgbuf_unlock_page(), PGBUF_WATCHER_MAGIC_NUMBER, pgbuf_watcher::prev, fileio_page::prv, PSTAT_PB_NUM_FETCHES, pthread_mutex_unlock, fileio_page_reserved::ptype, pgbuf_buffer_pool::show_status, pgbuf_fix_perf::start_holder_tick, pgbuf_fix_perf::start_tick, tsc_elapsed_time_usec(), tsc_getticks(), pgbuf_fix_perf::tv_diff, VACUUM_IS_THREAD_VACUUM_WORKER, and vpid::volid.
Referenced by heap_scan_pb_lock_and_fetch_debug(), pgbuf_fix_if_not_deallocated_with_caller(), pgbuf_fix_with_retry(), and pgbuf_ordered_fix_debug().
int pgbuf_fix_if_not_deallocated_with_caller | ( | THREAD_ENTRY * | thead_p, |
const VPID * | vpid, | ||
PGBUF_LATCH_MODE | latch_mode, | ||
PGBUF_LATCH_CONDITION | latch_condition, | ||
PAGE_PTR * | page, | ||
const char * | caller_file, | ||
int | caller_line | ||
) |
Definition at line 14152 of file page_buffer.c.
References assert, ASSERT_ERROR_AND_SET, DISK_ERROR, DISK_INVALID, disk_is_page_sector_reserved(), DISK_VALID, er_clear(), ER_PB_BAD_PAGEID, log_is_in_crash_recovery_and_not_yet_completes_redo(), NO_ERROR, NULL, OLD_PAGE_MAYBE_DEALLOCATED, vpid::pageid, pgbuf_fix_debug(), pgbuf_is_hit_ratio_low(), STATIC_INLINE, vpid::volid, and VPID_ISNULL.
PAGE_PTR pgbuf_fix_with_retry | ( | THREAD_ENTRY * | thread_p, |
const VPID * | vpid, | ||
PAGE_FETCH_MODE | fetch_mode, | ||
PGBUF_LATCH_MODE | request_mode, | ||
int | retry | ||
) |
Definition at line 1723 of file page_buffer.c.
References ARG_FILE_LINE, er_errid(), ER_ERROR_SEVERITY, ER_INTERRUPTED, ER_LK_PAGE_TIMEOUT, ER_LK_UNILATERALLY_ABORTED, ER_PAGE_LATCH_ABORTED, ER_PAGE_LATCH_TIMEDOUT, er_set(), NO_ERROR, NULL, vpid::pageid, pgbuf_fix, pgbuf_fix_debug(), PGBUF_UNCONDITIONAL_LATCH, and vpid::volid.
void pgbuf_flush | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | pgptr, | ||
bool | free_page | ||
) |
Definition at line 2933 of file page_buffer.c.
References ASSERT_ERROR, FREE, NULL, pgbuf_flush_with_wal(), and pgbuf_unfix.
Referenced by disk_set_checkpoint(), disk_set_creation(), disk_set_link(), disk_stab_init(), and pgbuf_rv_flush_page().
int pgbuf_flush_all | ( | THREAD_ENTRY * | thread_p, |
VOLID | volid | ||
) |
Definition at line 3083 of file page_buffer.c.
References pgbuf_flush_all_helper().
Referenced by boot_create_all_volumes(), disk_format(), disk_unformat(), log_final(), log_recovery(), log_recovery_redo(), log_recovery_undo(), log_recreate(), log_rv_outside_noop_redo(), and logpb_rename_all_volumes_files().
int pgbuf_flush_all_unfixed | ( | THREAD_ENTRY * | thread_p, |
VOLID | volid | ||
) |
Definition at line 3099 of file page_buffer.c.
References pgbuf_flush_all_helper().
Referenced by log_commit(), logpb_backup_for_volume(), and logpb_copy_volume().
int pgbuf_flush_all_unfixed_and_set_lsa_as_null | ( | THREAD_ENTRY * | thread_p, |
VOLID | volid | ||
) |
Definition at line 3116 of file page_buffer.c.
References pgbuf_flush_all_helper().
Referenced by log_recreate(), logpb_copy_database(), and logpb_copy_volume().
int pgbuf_flush_checkpoint | ( | THREAD_ENTRY * | thread_p, |
const LOG_LSA * | flush_upto_lsa, | ||
const LOG_LSA * | prev_chkpt_redo_lsa, | ||
LOG_LSA * | smallest_lsa, | ||
int * | flushed_page_cnt | ||
) |
Definition at line 3552 of file page_buffer.c.
References ARG_FILE_LINE, assert, pgbuf_victim_candidate_list::bufptr, detailed_er_log, ER_ERROR_SEVERITY, ER_FAILED, ER_LOG_CHECKPOINT_SKIP_INVALID_PAGE, er_set(), er_stack_pop(), er_stack_push(), error(), fileio_get_volume_label(), pgbuf_seq_flusher::flush_cnt, pgbuf_seq_flusher::flush_idx, pgbuf_seq_flusher::flush_list, pgbuf_seq_flusher::flush_max_size, pgbuf_seq_flusher::flush_upto_lsa, pgbuf_seq_flusher::flushed_pages, logpb_flush_log_for_wal(), LSA_COPY(), LSA_GT(), LSA_ISNULL(), LSA_LT(), LSA_SET_NULL(), NO_ERROR, NULL, pgbuf_buffer_pool::num_buffers, log_lsa::offset, pgbuf_bcb::oldest_unflush_lsa, log_lsa::pageid, vpid::pageid, PEEK, pgbuf_bcb_is_dirty(), PGBUF_BCB_LOCK, PGBUF_BCB_UNLOCK, pgbuf_compare_victim_list(), PGBUF_FIND_BCB_PTR, pgbuf_flush_chkpt_seq_list(), prm_get_bool_value(), PRM_ID_LOG_CHKPT_DETAILED, pgbuf_buffer_pool::seq_chkpt_flusher, vpid::volid, pgbuf_bcb::vpid, and VPID_COPY.
Referenced by logpb_checkpoint(), logpb_fatal_error_internal(), and logpb_remove_archive_logs().
int pgbuf_flush_control_from_dirty_ratio | ( | void | ) |
Definition at line 13647 of file page_buffer.c.
References diff, pgbuf_page_monitor::dirties_cnt, if(), pgbuf_buffer_pool::monitor, and pgbuf_buffer_pool::num_buffers.
Referenced by fileio_flush_control_get_desired_rate().
void pgbuf_flush_if_requested | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | page | ||
) |
Definition at line 2996 of file page_buffer.c.
References assert, CAST_PGPTR_TO_BFPTR, pgbuf_bcb::latch_mode, NO_ERROR, NULL, PGBUF_BCB_CHECK_MUTEX_LEAKS, pgbuf_bcb_is_async_flush_request(), PGBUF_BCB_LOCK, pgbuf_bcb_safe_flush_force_unlock(), PGBUF_DEBUG_PAGE_VALIDATION_ALL, pgbuf_find_thrd_holder(), pgbuf_get_check_page_validation_level(), pgbuf_is_valid_page_ptr(), PGBUF_LATCH_WRITE, pgbuf_bcb::vpid, and VPID_ISNULL.
Referenced by vacuum_data_unload_first_and_last_page().
int pgbuf_flush_victim_candidates | ( | THREAD_ENTRY * | thread_p, |
float | flush_ratio, | ||
PERF_UTIME_TRACKER * | time_tracker, | ||
bool * | stop | ||
) |
Definition at line 3237 of file page_buffer.c.
References _er_log_debug(), ARG_FILE_LINE, assert, pgbuf_victim_candidate_list::bufptr, db_page_size(), ER_LOG_FLUSH_VICTIM_FINISHED, ER_LOG_FLUSH_VICTIM_STARTED, ER_NOTIFICATION_SEVERITY, er_set(), error(), pgbuf_page_monitor::fix_req_cnt, i, pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, pgbuf_bcb::latch_mode, log_is_log_flush_daemon_available(), log_wakeup_log_flush_daemon(), logpb_flush_log_for_wal(), logpb_force_flush_pages(), logpb_need_wal(), pgbuf_page_monitor::lru_victim_req_cnt, fileio_page_reserved::lsa, LSA_COPY(), LSA_INITIALIZER, LSA_ISNULL(), LSA_LE(), LSA_LT(), pgbuf_buffer_pool::monitor, NO_ERROR, NULL, pgbuf_buffer_pool::num_buffers, PERFMON_ACTIVATION_FLAG_PB_VICTIMIZATION, perfmon_add_stat(), perfmon_is_perf_tracking_and_active(), perfmon_time_stat(), PGBUF_BCB_CHECK_MUTEX_LEAKS, pgbuf_bcb_flush_with_wal(), pgbuf_bcb_is_dirty(), pgbuf_bcb_is_flushing(), PGBUF_BCB_LOCK, PGBUF_BCB_UNLOCK, pgbuf_compare_victim_list(), pgbuf_compute_lru_vict_target(), pgbuf_flush_page_and_neighbors_fb(), PGBUF_FLUSH_VICTIM_BOOST_MULT, pgbuf_get_victim_candidates_from_lru(), PGBUF_IS_BCB_IN_LRU_VICTIM_ZONE, pgbuf_is_page_flush_daemon_available(), PGBUF_NEIGHBOR_PAGES, PGBUF_NO_LATCH, prm_get_bool_value(), PRM_ID_LOG_PGBUF_VICTIM_FLUSH, PRM_ID_PB_SEQUENTIAL_VICTIM_FLUSH, fileio_page::prv, PSTAT_PB_FLUSH_COLLECT, PSTAT_PB_FLUSH_COLLECT_PER_PAGE, PSTAT_PB_FLUSH_FLUSH, PSTAT_PB_FLUSH_FLUSH_PER_PAGE, PSTAT_PB_NUM_FLUSHED, PSTAT_PB_NUM_SKIPPED_ALREADY_FLUSHED, PSTAT_PB_NUM_SKIPPED_FIXED_OR_HOT, PSTAT_PB_NUM_SKIPPED_FLUSH, PSTAT_PB_NUM_SKIPPED_NEED_WAL, tsc_elapsed_utime(), tsc_getticks(), pgbuf_buffer_pool::victim_cand_list, pgbuf_bcb::vpid, pgbuf_victim_candidate_list::vpid, and VPID_EQ.
Referenced by pgbuf_get_page_flush_interval(), and pgbuf_wakeup_page_flush_daemon().
PAGE_PTR pgbuf_flush_with_wal | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | pgptr | ||
) |
Definition at line 2956 of file page_buffer.c.
References assert, ASSERT_ERROR, CAST_PGPTR_TO_BFPTR, pgbuf_bcb::latch_mode, NO_ERROR, NULL, PGBUF_BCB_LOCK, pgbuf_bcb_safe_flush_force_unlock(), PGBUF_DEBUG_PAGE_VALIDATION_ALL, pgbuf_find_thrd_holder(), pgbuf_get_check_page_validation_level(), pgbuf_is_valid_page_ptr(), PGBUF_LATCH_READ, pgbuf_bcb::vpid, and VPID_ISNULL.
Referenced by heap_flush(), overflow_flush_internal(), and pgbuf_flush().
void pgbuf_force_to_check_for_interrupts | ( | void | ) |
Definition at line 4750 of file page_buffer.c.
References pgbuf_buffer_pool::check_for_interrupts.
Referenced by logtb_set_tran_index_interrupt().
int pgbuf_get_condition_for_ordered_fix | ( | const VPID * | vpid_new_page, |
const VPID * | vpid_fixed_page, | ||
const HFID * | hfid | ||
) |
Definition at line 12627 of file page_buffer.c.
References pgbuf_holder_info::group_id, hfid::hpgid, vpid::pageid, pgbuf_compare_hold_vpid_for_sort(), PGBUF_CONDITIONAL_LATCH, PGBUF_ORDERED_HEAP_HDR, PGBUF_ORDERED_HEAP_NORMAL, PGBUF_UNCONDITIONAL_LATCH, pgbuf_holder_info::rank, hfid::vfid, vpid::volid, vfid::volid, pgbuf_holder_info::vpid, VPID_COPY, and VPID_EQ.
Referenced by vacuum_heap_prepare_record().
int pgbuf_get_fix_count | ( | PAGE_PTR | pgptr | ) |
Definition at line 13837 of file page_buffer.c.
References assert, CAST_PGPTR_TO_BFPTR, pgbuf_bcb::fcnt, and NULL.
Referenced by vacuum_verify_vacuum_data_page_fix_count().
int pgbuf_get_hold_count | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 13855 of file page_buffer.c.
References pgbuf_holder_anchor::num_hold_cnt, pgbuf_buffer_pool::thrd_holder_info, and thread_get_entry_index().
Referenced by vacuum_verify_vacuum_data_page_fix_count().
PGBUF_LATCH_MODE pgbuf_get_latch_mode | ( | PAGE_PTR | pgptr | ) |
Definition at line 4633 of file page_buffer.c.
References CAST_PGPTR_TO_BFPTR, pgbuf_bcb::latch_mode, PGBUF_DEBUG_PAGE_VALIDATION_ALL, pgbuf_get_check_page_validation_level(), pgbuf_is_valid_page_ptr(), and PGBUF_LATCH_INVALID.
Referenced by btree_key_delete_remove_object(), btree_key_find_and_lock_unique_of_non_unique(), btree_key_insert_new_key(), btree_key_insert_new_object(), btree_key_remove_delete_mvccid(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), btree_leaf_record_replace_first_with_last(), btree_merge_node_and_advance(), btree_split_node(), btree_split_node_and_advance(), spage_update(), and spage_update_record_type().
Definition at line 4318 of file page_buffer.c.
References CAST_PGPTR_TO_IOPGPTR, fileio_page_reserved::lsa, NULL, PGBUF_DEBUG_PAGE_VALIDATION_ALL, pgbuf_get_check_page_validation_level(), pgbuf_is_valid_page_ptr(), and fileio_page::prv.
Referenced by btree_delete_key_from_leaf(), btree_get_next_key_info(), btree_insert_mvcc_delid_into_page(), btree_key_append_object_as_new_overflow(), btree_key_append_object_non_unique(), btree_key_append_object_to_overflow(), btree_key_append_object_unique(), btree_key_find_and_lock_unique_of_non_unique(), btree_key_insert_new_key(), btree_key_lock_and_append_object_unique(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), btree_key_relocate_last_into_ovf(), btree_key_remove_delete_mvccid_non_unique(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), btree_leaf_record_replace_first_with_last(), btree_merge_node_and_advance(), btree_modify_leaf_ovfl_vpid(), btree_modify_overflow_link(), btree_range_scan(), btree_range_scan_resume(), btree_record_remove_object(), btree_reflect_global_unique_statistics(), btree_replace_first_oid_with_ovfl_oid(), btree_split_node_and_advance(), disk_volume_expand(), file_alloc_sticky_first_page(), file_dealloc(), file_extdata_find_and_remove_item(), file_extdata_merge_pages(), file_header_update_mark_deleted(), file_log_extdata_set_next(), file_numerable_add_page(), file_perm_alloc(), file_perm_dealloc(), file_perm_expand(), file_rv_user_page_unmark_delete_logical(), file_table_add_full_sector(), file_table_move_partial_sectors_to_header(), file_tracker_item_mark_heap_deleted(), file_tracker_item_reuse_heap(), file_tracker_register_internal(), log_recovery_redo(), log_skip_logging(), pgbuf_page_has_changed(), and scan_next_heap_scan().
Definition at line 4657 of file page_buffer.c.
References assert, CAST_PGPTR_TO_BFPTR, vpid::pageid, pgbuf_check_bcb_page_vpid(), and pgbuf_bcb::vpid.
Referenced by heap_chkreloc_next(), heap_find_location_and_insert_rec_newhome(), heap_get_insert_location_with_lock(), heap_get_mvcc_header(), heap_rv_redo_reuse_page(), spage_check(), spage_check_mvcc_updatable(), spage_check_slot_owner(), spage_check_updatable(), spage_delete(), spage_dump(), spage_get_record(), spage_get_record_length(), spage_get_record_offset(), spage_get_space_for_record(), spage_insert_at(), spage_mark_deleted_slot_as_reusable(), spage_merge(), spage_overwrite(), spage_put_helper(), spage_split(), spage_take_out(), spage_take_slot_in_use(), and spage_update_record_type().
PAGE_TYPE pgbuf_get_page_ptype | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | pgptr | ||
) |
Definition at line 4675 of file page_buffer.c.
References assert, assert_release, CAST_PGPTR_TO_BFPTR, pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, PAGE_LAST, PAGE_UNKNOWN, pgbuf_check_bcb_page_vpid(), PGBUF_DEBUG_PAGE_VALIDATION_ALL, pgbuf_get_check_page_validation_level(), pgbuf_is_valid_page_ptr(), fileio_page::prv, and fileio_page_reserved::ptype.
Referenced by btree_build_nleafs(), file_alloc(), file_sector_map_dealloc(), file_sector_map_pages(), file_tracker_register_internal(), heap_is_page_header(), pgbuf_ordered_fix_debug(), pgbuf_rv_dealloc_undo(), qmgr_get_external_file_page(), spage_compact(), spage_header_start_scan(), spage_slots_start_scan(), and vacuum_heap_page().
PERF_PAGE_TYPE pgbuf_get_page_type_for_stat | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | pgptr | ||
) |
Definition at line 13868 of file page_buffer.c.
References btree_get_perf_btree_page_type(), CAST_PGPTR_TO_IOPGPTR, PAGE_BTREE, PERFMON_ACTIVATION_FLAG_DETAILED_BTREE_PAGE, perfmon_get_activation_flag(), fileio_page::prv, and fileio_page_reserved::ptype.
Referenced by pgbuf_fix_debug(), pgbuf_promote_read_latch_debug(), and pgbuf_unfix_debug().
TDE_ALGORITHM pgbuf_get_tde_algorithm | ( | PAGE_PTR | pgptr | ) |
Definition at line 4548 of file page_buffer.c.
References assert, CAST_PGPTR_TO_IOPGPTR, FILEIO_PAGE_FLAG_ENCRYPTED_AES, FILEIO_PAGE_FLAG_ENCRYPTED_ARIA, NULL, fileio_page_reserved::pflag, fileio_page::prv, TDE_ALGORITHM_AES, TDE_ALGORITHM_ARIA, and TDE_ALGORITHM_NONE.
Referenced by file_alloc(), log_append_compensate_internal(), log_append_postpone(), log_append_redo_crumbs(), log_append_run_postpone(), log_append_undo_crumbs(), log_append_undoredo_crumbs(), pgbuf_bcb_flush_with_wal(), pgbuf_claim_bcb_for_fix(), pgbuf_dealloc_page(), pgbuf_rv_dealloc_undo(), pgbuf_rv_dealloc_undo_compensate(), and pgbuf_set_tde_algorithm().
Definition at line 4707 of file page_buffer.c.
References CAST_PGPTR_TO_BFPTR, NULL_VOLID, PGBUF_DEBUG_PAGE_VALIDATION_ALL, pgbuf_get_check_page_validation_level(), pgbuf_is_valid_page_ptr(), vpid::volid, and pgbuf_bcb::vpid.
Referenced by disk_rv_reserve_sectors(), disk_rv_unreserve_sectors(), heap_chkreloc_next(), heap_find_location_and_insert_rec_newhome(), heap_get_insert_location_with_lock(), heap_get_mvcc_header(), and heap_rv_redo_reuse_page().
Definition at line 4731 of file page_buffer.c.
References assert, CAST_PGPTR_TO_BFPTR, fileio_get_volume_label(), PEEK, vpid::volid, pgbuf_bcb::vpid, and VPID_ISNULL.
Referenced by spage_check(), spage_check_mvcc_updatable(), spage_check_slot_owner(), spage_check_updatable(), spage_delete(), spage_dump(), spage_get_record(), spage_get_record_length(), spage_get_record_offset(), spage_get_space_for_record(), spage_insert_at(), spage_mark_deleted_slot_as_reusable(), spage_merge(), spage_overwrite(), spage_put_helper(), spage_split(), spage_take_out(), spage_take_slot_in_use(), and spage_update_record_type().
Definition at line 4579 of file page_buffer.c.
References CAST_PGPTR_TO_BFPTR, PGBUF_DEBUG_PAGE_VALIDATION_ALL, pgbuf_get_check_page_validation_level(), pgbuf_is_valid_page_ptr(), pgbuf_bcb::vpid, and VPID_SET_NULL.
Referenced by btree_dump_page(), btree_key_find_and_lock_unique_of_non_unique(), btree_locate_key(), btree_overflow_remove_object(), catalog_create(), catalog_file_map_find_optimal_page(), disk_rv_reserve_sectors(), disk_rv_unreserve_sectors(), file_extdata_find_and_remove_item(), file_numerable_find_nth(), file_rv_tracker_mark_heap_deleted_compensate_or_run_postpone(), file_table_collect_ftab_pages(), heap_remove_page_on_vacuum(), heap_vpid_next(), heap_vpid_prev(), log_rv_redo_record(), log_rv_undo_record(), scan_next_heap_scan(), spage_compact(), spage_verify_header(), vacuum_data_empty_page(), vacuum_data_load_and_recover(), vacuum_data_unload_first_and_last_page(), and vacuum_heap_prepare_record().
Definition at line 4609 of file page_buffer.c.
References CAST_PGPTR_TO_BFPTR, NULL, PGBUF_DEBUG_PAGE_VALIDATION_ALL, pgbuf_get_check_page_validation_level(), pgbuf_is_valid_page_ptr(), and pgbuf_bcb::vpid.
Referenced by btree_key_append_object_as_new_overflow(), btree_key_insert_new_key(), btree_key_remove_delete_mvccid_non_unique(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_object_and_keep_visible_first(), btree_merge_node(), btree_merge_root(), btree_range_scan(), btree_rv_log_delete_object(), btree_rv_log_insert_object(), btree_split_node_and_advance(), file_extdata_apply_funcs(), file_rv_user_page_unmark_delete_logical(), file_tracker_item_mark_heap_deleted(), vacuum_job_cursor::get_page_vpid(), heap_check_all_pages_by_heapchain(), heap_get_num_objects(), heap_get_record_location(), heap_next_internal(), heap_prepare_object_page(), heap_scanrange_to_following(), heap_stats_find_best_page(), heap_stats_update(), heap_update_set_prev_version(), overflow_update(), pgbuf_attach_watcher_debug(), prior_lsa_gen_postpone_record(), prior_lsa_gen_undoredo_record_from_crumbs(), spage_dump(), spage_get_saved_spaces(), spage_save_space(), spage_vacuum_slot(), vacuum_data_empty_page(), vacuum_heap_prepare_record(), and vacuum_rv_set_next_page_dropped_files().
Definition at line 13495 of file page_buffer.c.
References assert, CAST_PGPTR_TO_BFPTR, NULL, and TT_VACUUM_WORKER.
Referenced by vacuum_heap_page().
Definition at line 13468 of file page_buffer.c.
References assert, CAST_PGPTR_TO_BFPTR, NULL, PGBUF_BCB_LOCK, PGBUF_BCB_UNLOCK, and pgbuf_is_exist_blocked_reader_writer().
Referenced by btree_insert_list::check_release_latch(), file_header_sanity_check(), and heap_remove_page_on_vacuum().
bool pgbuf_has_perm_pages_fixed | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 10874 of file page_buffer.c.
References btree_get_perf_btree_page_type(), pgbuf_holder::bufptr, heap_is_page_header(), pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, NULL, pgbuf_holder_anchor::num_hold_cnt, fileio_page::page, PAGE_BTREE, PAGE_FTAB, PAGE_HEAP, PAGE_QRESULT, PAGE_VOLHEADER, PERF_PAGE_BTREE_ROOT, fileio_page::prv, fileio_page_reserved::ptype, pgbuf_holder_anchor::thrd_hold_list, pgbuf_buffer_pool::thrd_holder_info, pgbuf_holder::thrd_link, and thread_get_entry_index().
Referenced by logpb_flush_pages().
Definition at line 13527 of file page_buffer.c.
References assert, CAST_PGPTR_TO_BFPTR, NULL, and pgbuf_bcb_should_avoid_deallocation().
Referenced by heap_remove_page_on_vacuum(), and vacuum_heap_page().
unsigned int pgbuf_hash_vpid | ( | const void * | key_vpid, |
unsigned int | htsize | ||
) |
Definition at line 1273 of file page_buffer.c.
References vpid::pageid, and vpid::volid.
Referenced by pgbuf_initialize_aout_list().
int pgbuf_initialize | ( | void | ) |
Definition at line 1311 of file page_buffer.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, pgbuf_buffer_pool::big_private_lrus_with_victims, pgbuf_buffer_pool::check_for_interrupts, pgbuf_page_monitor::dirties_cnt, ER_ERROR_SEVERITY, ER_FAILED, er_log_debug, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), MAX_NTRANS, pgbuf_buffer_pool::monitor, NO_ERROR, NULL, pgbuf_buffer_pool::num_buffers, pgbuf_finalize(), pgbuf_flags_mask_sanity_check(), pgbuf_initialize_aout_list(), pgbuf_initialize_bcb_table(), pgbuf_initialize_hash_table(), pgbuf_initialize_invalid_list(), pgbuf_initialize_lock_table(), pgbuf_initialize_lru_list(), pgbuf_initialize_page_monitor(), pgbuf_initialize_page_quota(), pgbuf_initialize_page_quota_parameters(), pgbuf_initialize_seq_flusher(), pgbuf_initialize_thrd_holder(), PGBUF_LRU_ZONE_MAX_RATIO, PGBUF_LRU_ZONE_MIN_RATIO, PGBUF_MINIMUM_BUFFERS, PGBUF_PAGE_QUOTA_IS_ENABLED, PGBUF_PRIVATE_LRU_COUNT, PGBUF_SHARED_LRU_COUNT, pgbuf_status_old::print_out_time, pgbuf_buffer_pool::private_lrus_with_victims, prm_get_bool_value(), prm_get_float_value(), prm_get_integer_value(), PRM_ID_PB_LRU_BUFFER_RATIO, PRM_ID_PB_LRU_HOT_RATIO, PRM_ID_PB_MONITOR_LOCKS, PRM_ID_PB_NBUFFERS, pthread_mutex_init, pgbuf_buffer_pool::ratio_lru1, pgbuf_buffer_pool::ratio_lru2, pgbuf_buffer_pool::seq_chkpt_flusher, pgbuf_buffer_pool::shared_lrus_with_victims, pgbuf_buffer_pool::show_status, pgbuf_buffer_pool::show_status_old, thread_num_total_threads(), and pgbuf_buffer_pool::victim_cand_list.
Referenced by logtb_define_trantable_log_latch().
int pgbuf_invalidate_all_debug | ( | THREAD_ENTRY * | thread_p, |
VOLID | volid, | ||
const char * | caller_file, | ||
int | caller_line | ||
) |
Definition at line 2852 of file page_buffer.c.
References ER_FAILED, pgbuf_bcb::fcnt, pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, NO_ERROR, NULL_VOLID, pgbuf_buffer_pool::num_buffers, pgbuf_bcb_avoid_victim(), pgbuf_bcb_is_dirty(), PGBUF_BCB_LOCK, pgbuf_bcb_safe_flush_force_lock(), PGBUF_BCB_UNLOCK, PGBUF_FIND_BCB_PTR, pgbuf_invalidate_bcb(), vpid::volid, pgbuf_bcb::vpid, VPID_EQ, and VPID_ISNULL.
int pgbuf_invalidate_debug | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | pgptr, | ||
const char * | caller_file, | ||
int | caller_line | ||
) |
Definition at line 2748 of file page_buffer.c.
References assert, ASSERT_ERROR, CAST_PGPTR_TO_BFPTR, ER_FAILED, pgbuf_bcb::fcnt, pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, NO_ERROR, NULL, pgbuf_bcb_avoid_victim(), PGBUF_BCB_LOCK, pgbuf_bcb_safe_flush_force_lock(), PGBUF_BCB_UNLOCK, PGBUF_DEBUG_PAGE_VALIDATION_ALL, pgbuf_get_check_page_validation_level(), pgbuf_invalidate_bcb(), pgbuf_is_valid_page_ptr(), pgbuf_unlatch_bcb_upon_unfix(), pgbuf_unlatch_thrd_holder(), pgbuf_bcb::vpid, VPID_EQ, and VPID_ISNULL.
bool pgbuf_is_io_stressful | ( | void | ) |
Definition at line 15409 of file page_buffer.c.
References STATIC_INLINE.
Referenced by btree_merge_node_and_advance().
bool pgbuf_is_log_check_for_interrupts | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 4762 of file page_buffer.c.
References ARG_FILE_LINE, pgbuf_buffer_pool::check_for_interrupts, ER_ERROR_SEVERITY, ER_INTERRUPTED, er_set(), and logtb_is_interrupted().
Referenced by fileio_backup_volume(), fileio_create_backup_volume(), fileio_initialize_pages(), and fileio_write_backup_node().
Definition at line 4885 of file page_buffer.c.
References CAST_PGPTR_TO_BFPTR, pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, fileio_page_reserved::lsa, pgbuf_is_temp_lsa(), pgbuf_is_temporary_volume(), fileio_page::prv, STATIC_INLINE, vpid::volid, and pgbuf_bcb::vpid.
Referenced by log_can_skip_redo_logging(), log_can_skip_undo_logging(), log_skip_logging(), and pgbuf_fix_debug().
bool pgbuf_is_page_fixed_by_thread | ( | THREAD_ENTRY * | thread_p, |
const VPID * | vpid_p | ||
) |
Definition at line 12715 of file page_buffer.c.
References assert, pgbuf_holder::bufptr, pgbuf_holder::next_holder, NULL, pgbuf_holder_anchor::thrd_hold_list, pgbuf_buffer_pool::thrd_holder_info, thread_get_entry_index(), pgbuf_bcb::vpid, and VPID_EQ.
Referenced by heap_add_chain_links(), heap_alloc_new_page(), locator_multi_insert_force(), logtb_delete_global_unique_stats(), and logtb_get_global_unique_stats_entry().
DISK_ISVALID pgbuf_is_valid_page | ( | THREAD_ENTRY * | thread_p, |
const VPID * | vpid, | ||
bool | no_error, | ||
DISK_ISVALID(*)(const VPID *vpid, void *args) | fun, | ||
void * | args | ||
) |
Definition at line 10233 of file page_buffer.c.
References ARG_FILE_LINE, assert, DISK_ERROR, DISK_INVALID, disk_is_page_sector_reserved_with_debug_crash(), DISK_VALID, ER_FATAL_ERROR_SEVERITY, ER_PB_BAD_PAGEID, er_set(), fileio_get_volume_label(), NULL, vpid::pageid, PEEK, vpid::volid, and VPID_ISNULL.
Referenced by btree_check_valid_record(), heap_rv_postpone_append_pages_to_heap(), pgbuf_copy_from_area(), pgbuf_copy_to_area(), pgbuf_fix_debug(), and pgbuf_ordered_fix_debug().
void pgbuf_log_new_page | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | page_new, | ||
int | data_size, | ||
PAGE_TYPE | ptype_new | ||
) |
Definition at line 13897 of file page_buffer.c.
References assert, DONT_FREE, log_append_undoredo_data2(), NULL, PAGE_UNKNOWN, pgbuf_set_dirty(), and RVPGBUF_NEW_PAGE.
Referenced by file_create(), file_numerable_add_page(), file_perm_dealloc(), and file_table_append_full_sector_page().
void pgbuf_log_redo_new_page | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | page_new, | ||
int | data_size, | ||
PAGE_TYPE | ptype_new | ||
) |
Definition at line 13909 of file page_buffer.c.
References assert, DONT_FREE, log_append_redo_data2(), NULL, PAGE_UNKNOWN, pgbuf_set_dirty(), and RVPGBUF_NEW_PAGE.
Referenced by locator_multi_insert_force().
void pgbuf_notify_vacuum_follows | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | page | ||
) |
Definition at line 14987 of file page_buffer.c.
References CAST_PGPTR_TO_BFPTR, PGBUF_BCB_TO_VACUUM_FLAG, pgbuf_bcb_update_flags(), and STATIC_INLINE.
Referenced by btree_split_node_and_advance(), log_append_undo_crumbs(), log_append_undoredo_crumbs(), and vacuum_find_dropped_file().
int pgbuf_ordered_fix_debug | ( | THREAD_ENTRY * | thread_p, |
const VPID * | req_vpid, | ||
PAGE_FETCH_MODE | fetch_mode, | ||
const PGBUF_LATCH_MODE | requestmode, | ||
PGBUF_WATCHER * | req_watcher, | ||
const char * | caller_file, | ||
int | caller_line | ||
) |
Definition at line 11430 of file page_buffer.c.
References _er_log_debug(), ARG_FILE_LINE, assert, assert_release, pgbuf_buffer_pool::buf_hash_table, pgbuf_holder::bufptr, CAST_BFPTR_TO_PGPTR, CAST_PGPTR_TO_BFPTR, pgbuf_watcher::curr_rank, diff, DISK_VALID, er_errid(), er_errid_if_has_error(), ER_ERROR_SEVERITY, ER_FAILED, ER_FAILED_ASSERTION, ER_FATAL_ERROR_SEVERITY, ER_INTERRUPTED, ER_LK_PAGE_TIMEOUT, er_log_debug, ER_PB_BAD_PAGEID, ER_PB_ORDERED_INCONSISTENCY, ER_PB_ORDERED_REFIX_FAILED, er_set(), pgbuf_holder::first_watcher, pgbuf_holder::fix_count, pgbuf_holder::fixed_at, pgbuf_watcher::group_id, pgbuf_holder_info::group_id, i, pgbuf_watcher::initial_rank, pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, pgbuf_holder::last_watcher, pgbuf_watcher::latch_mode, pgbuf_holder_info::latch_mode, LK_FORCE_ZERO_WAIT, LK_ZERO_WAIT, pgbuf_watcher::magic, pgbuf_watcher::next, NO_ERROR, NULL, OLD_PAGE, OLD_PAGE_PREVENT_DEALLOC, PAGE_HEAP, pgbuf_watcher::page_was_unfixed, vpid::pageid, pgbuf_add_watch_instance_internal(), pgbuf_bcb_register_avoid_deallocation(), pgbuf_bcb_should_avoid_deallocation(), PGBUF_BCB_UNLOCK, pgbuf_bcb_unregister_avoid_deallocation(), pgbuf_check_page_ptype(), PGBUF_CLEAR_WATCHER, pgbuf_compare_hold_vpid_for_sort(), PGBUF_CONDITIONAL_LATCH, pgbuf_find_current_wait_msecs(), pgbuf_fix_debug(), pgbuf_get_groupid_and_unfix(), pgbuf_get_page_ptype(), PGBUF_HASH_VALUE, PGBUF_IS_ORDERED_PAGETYPE, pgbuf_is_valid_page(), PGBUF_LATCH_READ, PGBUF_LATCH_WRITE, PGBUF_MAX_PAGE_FIXED_BY_TRAN, PGBUF_MAX_PAGE_WATCHERS, PGBUF_ORDERED_HEAP_HDR, PGBUF_ORDERED_RANK_UNDEFINED, pgbuf_ordered_unfix_and_init, pgbuf_search_hash_chain(), PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix, pgbuf_unfix_and_init, pgbuf_watcher_init_debug(), PGBUF_WATCHER_MAGIC_NUMBER, pgbuf_watcher::pgptr, pgbuf_holder_info::prevent_dealloc, fileio_page::prv, pthread_mutex_unlock, fileio_page_reserved::ptype, pgbuf_holder_info::ptype, pgbuf_holder_info::rank, pgbuf_holder_anchor::thrd_hold_list, pgbuf_buffer_pool::thrd_holder_info, pgbuf_holder::thrd_link, thread_get_entry_index(), vpid::volid, pgbuf_holder_info::vpid, pgbuf_bcb::vpid, VPID_AS_ARGS, VPID_COPY, VPID_EQ, VPID_ISNULL, VPID_SET_NULL, pgbuf_holder_info::watch_count, pgbuf_holder::watch_count, and pgbuf_holder_info::watcher.
Referenced by heap_scan_pb_lock_and_fetch_debug().
void pgbuf_ordered_set_dirty_and_free | ( | THREAD_ENTRY * | thread_p, |
PGBUF_WATCHER * | pg_watcher | ||
) |
Definition at line 12603 of file page_buffer.c.
References DONT_FREE, pgbuf_ordered_unfix, pgbuf_set_dirty(), and pgbuf_watcher::pgptr.
Referenced by heap_get_num_objects(), heap_stats_find_best_page(), heap_vpid_remove(), and xheap_reclaim_addresses().
void pgbuf_ordered_unfix_debug | ( | THREAD_ENTRY * | thread_p, |
PGBUF_WATCHER * | watcher_object, | ||
const char * | caller_file, | ||
int | caller_line | ||
) |
Definition at line 12284 of file page_buffer.c.
References assert, assert_release, pgbuf_holder::fix_count, pgbuf_holder::last_watcher, pgbuf_watcher::magic, NULL, pgbuf_get_holder(), pgbuf_remove_watcher(), pgbuf_unfix, pgbuf_unfix_debug(), pgbuf_watcher_init_debug(), PGBUF_WATCHER_MAGIC_NUMBER, pgbuf_watcher::pgptr, pgbuf_watcher::prev, STATIC_INLINE, and pgbuf_holder::watch_count.
Definition at line 4342 of file page_buffer.c.
References LSA_COPY(), LSA_EQ(), and pgbuf_get_lsa().
Referenced by scan_next_heap_scan().
void pgbuf_peek_stats | ( | UINT64 * | fixed_cnt, |
UINT64 * | dirty_cnt, | ||
UINT64 * | lru1_cnt, | ||
UINT64 * | lru2_cnt, | ||
UINT64 * | lru3_cnt, | ||
UINT64 * | vict_candidates, | ||
UINT64 * | avoid_dealloc_cnt, | ||
UINT64 * | avoid_victim_cnt, | ||
UINT64 * | private_quota, | ||
UINT64 * | private_cnt, | ||
UINT64 * | alloc_bcb_waiter_high, | ||
UINT64 * | alloc_bcb_waiter_med, | ||
UINT64 * | alloc_bcb_waiter_low, | ||
UINT64 * | lfcq_big_prv_num, | ||
UINT64 * | lfcq_prv_num, | ||
UINT64 * | lfcq_shr_num | ||
) |
Definition at line 13542 of file page_buffer.c.
References pgbuf_buffer_pool::big_private_lrus_with_victims, pgbuf_buffer_pool::buf_LRU_list, pgbuf_lru_list::count_vict_cand, pgbuf_bcb::fcnt, pgbuf_bcb::flags, i, NULL, pgbuf_buffer_pool::num_buffers, PGBUF_BCB_DIRTY_FLAG, PGBUF_BCB_FLUSHING_TO_DISK_FLAG, pgbuf_bcb_should_avoid_deallocation(), PGBUF_FIND_BCB_PTR, PGBUF_GET_ZONE, PGBUF_IS_PRIVATE_LRU_INDEX, PGBUF_LRU_1_ZONE, PGBUF_LRU_2_ZONE, PGBUF_LRU_3_ZONE, PGBUF_LRU_INDEX_MASK, PGBUF_LRU_ZONE_MASK, PGBUF_TOTAL_LRU_COUNT, pgbuf_buffer_pool::private_lrus_with_victims, pgbuf_page_quota::private_pages_ratio, pgbuf_buffer_pool::quota, pgbuf_buffer_pool::shared_lrus_with_victims, and lockfree::circular_queue< T >::size().
Referenced by perfmon_server_calc_stats().
int pgbuf_promote_read_latch_debug | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR * | pgptr_p, | ||
PGBUF_PROMOTE_CONDITION | condition, | ||
const char * | caller_file, | ||
int | caller_line | ||
) |
Definition at line 2198 of file page_buffer.c.
References ARG_FILE_LINE, assert, assert_release, pgbuf_holder::bufptr, CAST_PGPTR_TO_BFPTR, ER_FAILED, ER_NOTIFICATION_SEVERITY, ER_PAGE_LATCH_PROMOTE_FAIL, er_set(), pgbuf_bcb::fcnt, pgbuf_holder::fix_count, pgbuf_holder_stat::hold_has_read_latch, pgbuf_holder_stat::hold_has_write_latch, pgbuf_bcb::latch_mode, NO_ERROR, NULL, vpid::pageid, PERF_HOLDER_LATCH_READ, PERF_HOLDER_LATCH_WRITE, PERF_PAGE_UNKNOWN, PERF_PROMOTE_ONLY_READER, PERF_PROMOTE_SHARED_READER, pgbuf_holder::perf_stat, perfmon_is_perf_tracking(), pgbuf_add_fixed_at(), pgbuf_allocate_thrd_holder_entry(), PGBUF_BCB_LOCK, PGBUF_BCB_UNLOCK, pgbuf_block_bcb(), PGBUF_DEBUG_PAGE_VALIDATION_FREE, pgbuf_find_thrd_holder(), pgbuf_get_check_page_validation_level(), pgbuf_get_page_type_for_stat(), pgbuf_is_valid_page_ptr(), PGBUF_LATCH_READ, PGBUF_LATCH_WRITE, PGBUF_PROMOTE_ONLY_READER, PGBUF_PROMOTE_SHARED_READER, pgbuf_remove_thrd_holder(), rv, tsc_elapsed_time_usec(), tsc_getticks(), vpid::volid, pgbuf_bcb::vpid, and VPID_ISNULL.
int pgbuf_release_private_lru | ( | THREAD_ENTRY * | thread_p, |
const int | private_idx | ||
) |
Definition at line 13406 of file page_buffer.c.
References pgbuf_page_monitor::lru_activity, pgbuf_buffer_pool::monitor, NO_ERROR, pgbuf_buffer_pool::num_buffers, pgbuf_adjust_quotas(), PGBUF_LRU_INDEX_FROM_PRIVATE, PGBUF_PAGE_QUOTA_IS_ENABLED, PGBUF_PRIVATE_LRU_COUNT, pgbuf_page_quota::private_lru_session_cnt, and pgbuf_buffer_pool::quota.
Referenced by session_state_uninit().
void pgbuf_replace_watcher_debug | ( | THREAD_ENTRY * | thread_p, |
PGBUF_WATCHER * | old_watcher, | ||
PGBUF_WATCHER * | new_watcher, | ||
const char * | caller_file, | ||
const int | caller_line | ||
) |
Definition at line 12554 of file page_buffer.c.
References assert, assert_release, pgbuf_watcher::curr_rank, pgbuf_watcher::group_id, pgbuf_watcher::initial_rank, pgbuf_watcher::latch_mode, pgbuf_watcher::magic, NULL, pgbuf_add_watch_instance_internal(), pgbuf_get_holder(), PGBUF_IS_CLEAN_WATCHER, pgbuf_remove_watcher(), pgbuf_watcher_init_debug(), PGBUF_WATCHER_MAGIC_NUMBER, pgbuf_watcher::pgptr, and VPID_COPY.
void pgbuf_reset_temp_lsa | ( | PAGE_PTR | pgptr | ) |
Definition at line 4457 of file page_buffer.c.
References CAST_PGPTR_TO_BFPTR, IO_PAGESIZE, pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, and pgbuf_init_temp_page_lsa().
Referenced by logpb_check_and_reset_temp_lsa().
int pgbuf_rv_dealloc_redo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 14040 of file page_buffer.c.
References DONT_FREE, NO_ERROR, PAGE_UNKNOWN, pgbuf_set_dirty(), pgbuf_set_page_ptype(), pgbuf_set_tde_algorithm(), log_rcv::pgptr, and TDE_ALGORITHM_NONE.
int pgbuf_rv_dealloc_undo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 14059 of file page_buffer.c.
References ARG_FILE_LINE, assert, assert_release, CAST_PGPTR_TO_IOPGPTR, log_rcv::data, ER_FAILED, er_log_debug, FILEIO_PAGE_FLAG_ENCRYPTED_MASK, log_rcv::length, log_append_compensate_with_undo_nxlsa(), LOG_FIND_CURRENT_TDES(), NO_ERROR, NULL, OLD_PAGE_DEALLOCATED, PAGE_LAST, PAGE_UNKNOWN, pgbuf_dealloc_undo_data::pageid, vpid::pageid, fileio_page_reserved::pflag, pgbuf_dealloc_undo_data::pflag, pgbuf_fix, pgbuf_get_page_ptype(), pgbuf_get_tde_algorithm(), PGBUF_LATCH_WRITE, pgbuf_set_dirty_and_free, pgbuf_set_page_ptype(), PGBUF_UNCONDITIONAL_LATCH, fileio_page::prv, pgbuf_dealloc_undo_data::ptype, log_rcv::reference_lsa, RVPGBUF_COMPENSATE_DEALLOC, tde_get_algorithm_name(), pgbuf_dealloc_undo_data::volid, vpid::volid, and VPID_AS_ARGS.
int pgbuf_rv_dealloc_undo_compensate | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 14110 of file page_buffer.c.
References ARG_FILE_LINE, assert, CAST_PGPTR_TO_IOPGPTR, log_rcv::data, er_log_debug, FILEIO_PAGE_FLAG_ENCRYPTED_MASK, log_rcv::length, NO_ERROR, NULL, PAGE_LAST, PAGE_UNKNOWN, fileio_page_reserved::pflag, pgbuf_dealloc_undo_data::pflag, pgbuf_get_tde_algorithm(), pgbuf_set_page_ptype(), log_rcv::pgptr, fileio_page::prv, pgbuf_dealloc_undo_data::ptype, tde_get_algorithm_name(), and VPID_AS_ARGS.
int pgbuf_rv_flush_page | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 13690 of file page_buffer.c.
References assert, log_rcv::data, DONT_FREE, er_clear(), log_rcv::length, log_append_empty_record(), LOG_DATA_ADDR_INITIALIZER, LOG_DUMMY_GENERIC, NO_ERROR, NULL, OLD_PAGE_MAYBE_DEALLOCATED, pgbuf_fix, pgbuf_flush(), PGBUF_LATCH_WRITE, pgbuf_set_dirty(), PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix, log_rcv::pgptr, VPID_COPY, and VPID_INITIALIZER.
void pgbuf_rv_flush_page_dump | ( | FILE * | fp, |
int | length, | ||
void * | data | ||
) |
Definition at line 13727 of file page_buffer.c.
References assert, vpid::pageid, vpid::volid, VPID_COPY, and VPID_INITIALIZER.
int pgbuf_rv_new_page_redo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 13927 of file page_buffer.c.
References assert, log_rcv::data, DB_PAGESIZE, DONT_FREE, if(), log_rcv::length, NO_ERROR, NULL, log_rcv::offset, PAGE_UNKNOWN, pgbuf_set_dirty(), pgbuf_set_page_ptype(), and log_rcv::pgptr.
int pgbuf_rv_new_page_undo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 13961 of file page_buffer.c.
References DONT_FREE, NO_ERROR, PAGE_UNKNOWN, pgbuf_set_dirty(), pgbuf_set_page_ptype(), and log_rcv::pgptr.
int pgbuf_rv_set_tde_algorithm | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 4528 of file page_buffer.c.
References assert, log_rcv::data, log_rcv::length, NO_ERROR, NULL, pgbuf_set_tde_algorithm(), and log_rcv::pgptr.
void pgbuf_set_dirty | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | pgptr, | ||
bool | free_page | ||
) |
Definition at line 4280 of file page_buffer.c.
References assert, CAST_PGPTR_TO_BFPTR, disk_volheader_check_magic(), FREE, vpid::pageid, PGBUF_DEBUG_PAGE_VALIDATION_ALL, pgbuf_get_check_page_validation_level(), pgbuf_is_valid_page_ptr(), pgbuf_set_dirty_buffer_ptr(), pgbuf_unfix, pgbuf_bcb::vpid, and VPID_ISNULL.
Referenced by btree_construct_leafs(), btree_fix_ovfl_oid_page(), btree_fix_root_for_insert(), btree_initialize_new_page(), btree_insert_mvcc_delid_into_page(), btree_key_append_object_as_new_overflow(), btree_key_append_object_non_unique(), btree_key_append_object_to_overflow(), btree_key_append_object_unique(), btree_key_insert_new_key(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), btree_key_relocate_last_into_ovf(), btree_key_remove_delete_mvccid_non_unique(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_insert_mvccid(), btree_leaf_record_replace_first_with_last(), btree_log_page(), btree_merge_node(), btree_merge_root(), btree_modify_leaf_ovfl_vpid(), btree_modify_overflow_link(), btree_overflow_record_replace_object(), btree_record_remove_object(), btree_reflect_global_unique_statistics(), btree_replace_first_oid_with_ovfl_oid(), btree_rv_nodehdr_redo_insert(), btree_rv_nodehdr_undo_insert(), btree_rv_nodehdr_undoredo_update(), btree_rv_noderec_redo_insert(), btree_rv_noderec_undo_insert(), btree_rv_noderec_undoredo_update(), btree_rv_nop(), btree_rv_ovfid_undoredo_update(), btree_rv_pagerec_delete(), btree_rv_pagerec_insert(), btree_rv_record_modify_internal(), btree_rv_roothdr_undo_update(), btree_rv_undo_mark_dealloc_page(), btree_rv_undoredo_copy_page(), btree_set_vpid_previous_vpid(), btree_split_node(), btree_split_node_and_advance(), btree_split_root(), btree_start_overflow_page(), catalog_add_class_info(), catalog_drop_all_representation_and_class(), catalog_drop_disk_representation_from_page(), catalog_drop_old_representations(), catalog_drop_representation_class_from_page(), catalog_drop_representation_item(), catalog_initialize_new_page(), catalog_insert_representation_item(), catalog_put_record_into_page(), catalog_put_representation_item(), catalog_rv_delete_redo(), catalog_rv_insert_redo(), catalog_rv_insert_undo(), catalog_rv_new_page_redo(), catalog_rv_update(), catalog_update_class_info(), disk_rv_redo_init_map(), disk_rv_reserve_sectors(), disk_rv_undoredo_link(), disk_rv_undoredo_set_boot_hfid(), disk_rv_undoredo_set_creation_time(), disk_rv_unreserve_sectors(), disk_rv_volhead_extend_redo(), disk_rv_volhead_extend_undo(), disk_set_boot_hfid(), disk_set_checkpoint(), disk_set_creation(), disk_set_link(), disk_stab_init(), disk_stab_unit_reserve(), disk_stab_unit_unreserve(), ehash_adjust_local_depth(), ehash_connect_bucket(), ehash_create_helper(), ehash_delete(), ehash_expand_directory(), ehash_initialize_bucket_new_page(), ehash_initialize_dir_new_page(), ehash_insert_to_bucket(), ehash_merge_permanent(), ehash_rv_connect_bucket_redo(), ehash_rv_delete(), ehash_rv_delete_redo(), ehash_rv_increment(), ehash_rv_init_dir_new_page_redo(), ehash_rv_insert_redo(), ehash_shrink_directory(), ehash_split_bucket(), file_alloc_sticky_first_page(), file_create(), file_dealloc(), file_descriptor_update(), file_extdata_merge_pages(), file_extdata_update_item(), file_header_update_mark_deleted(), file_init_page_type_internal(), file_log_extdata_add(), file_log_extdata_remove(), file_log_extdata_set_next(), file_log_fhead_alloc(), file_log_fhead_dealloc(), file_numerable_add_page(), file_perm_dealloc(), file_perm_expand(), file_rv_extdata_add(), file_rv_extdata_merge(), file_rv_extdata_remove(), file_rv_extdata_set_next(), file_rv_fhead_alloc(), file_rv_fhead_convert_ftab_to_user_page(), file_rv_fhead_convert_user_to_ftab_page(), file_rv_fhead_dealloc(), file_rv_fhead_set_last_user_page_ftab(), file_rv_fhead_sticky_page(), file_rv_header_update_mark_deleted(), file_rv_partsect_update(), file_rv_perm_expand_redo(), file_rv_perm_expand_undo(), file_rv_set_tde_algorithm(), file_rv_tracker_mark_heap_deleted_compensate_or_run_postpone(), file_rv_tracker_reuse_heap(), file_rv_user_page_mark_delete(), file_rv_user_page_unmark_delete_logical(), file_rv_user_page_unmark_delete_physical(), file_temp_alloc(), file_temp_reset_user_pages(), file_temp_set_type(), file_tracker_init_page(), file_tracker_item_mark_heap_deleted(), file_tracker_item_reuse_heap(), file_tracker_register_internal(), heap_add_chain_links(), heap_compact_pages(), heap_create_internal(), heap_delete_bigone(), heap_delete_physical(), heap_delete_relocation(), heap_insert_logical(), heap_insert_newhome(), heap_ovf_find_vfid(), heap_remove_page_on_vacuum(), heap_reuse(), heap_rv_mvcc_redo_delete_home(), heap_rv_mvcc_redo_delete_newhome(), heap_rv_mvcc_redo_delete_overflow(), heap_rv_mvcc_redo_insert(), heap_rv_mvcc_redo_redistribute(), heap_rv_mvcc_undo_delete(), heap_rv_mvcc_undo_delete_overflow(), heap_rv_nop(), heap_rv_redo_delete(), heap_rv_redo_insert(), heap_rv_redo_mark_reusable_slot(), heap_rv_redo_newpage(), heap_rv_redo_reuse_page(), heap_rv_redo_reuse_page_reuse_oid(), heap_rv_undo_insert(), heap_rv_undo_ovf_update(), heap_rv_undoredo_pagehdr(), heap_rv_update_chain_after_mvcc_op(), heap_stats_update_internal(), heap_update_and_log_header(), heap_update_bigone(), heap_update_physical(), heap_update_relocation(), heap_update_set_prev_version(), heap_vpid_alloc(), heap_vpid_init_new(), log_rv_copy_char(), log_rv_record_modify_internal(), logpb_check_and_reset_temp_lsa(), overflow_rv_link(), overflow_rv_newpage_link_undo(), pgbuf_copy_from_area(), pgbuf_log_new_page(), pgbuf_log_redo_new_page(), pgbuf_ordered_set_dirty_and_free(), pgbuf_rv_dealloc_redo(), pgbuf_rv_flush_page(), pgbuf_rv_new_page_redo(), pgbuf_rv_new_page_undo(), pgbuf_set_tde_algorithm(), qfile_set_dirty_page_and_skip_logging(), qmgr_init_external_file_page(), qmgr_set_dirty_page(), spage_delete(), spage_delete_for_recovery(), spage_initialize(), spage_insert_data(), spage_insert_for_recovery(), spage_merge(), spage_overwrite(), spage_put_helper(), spage_reclaim(), spage_split(), spage_take_out(), spage_update(), spage_update_record_type(), vacuum_heap_page(), vacuum_heap_page_log_and_reset(), vacuum_heap_record(), vacuum_heap_record_insid_and_prev_version(), vacuum_rv_check_at_undo(), vacuum_rv_redo_add_dropped_file(), vacuum_rv_redo_append_data(), vacuum_rv_redo_cleanup_dropped_files(), vacuum_rv_redo_data_finished(), vacuum_rv_redo_initialize_data_page(), vacuum_rv_redo_remove_ovf_insid(), vacuum_rv_redo_start_job(), vacuum_rv_redo_vacuum_complete(), vacuum_rv_redo_vacuum_heap_page(), vacuum_rv_redo_vacuum_heap_record(), vacuum_rv_replace_dropped_file(), vacuum_rv_set_next_page_dropped_files(), vacuum_rv_undo_add_dropped_file(), vacuum_rv_undoredo_data_set_link(), vacuum_set_dirty_data_page_dont_free(), xbtree_add_index(), and xheap_reclaim_addresses().
Definition at line 4364 of file page_buffer.c.
References ARG_FILE_LINE, assert, CAST_PGPTR_TO_BFPTR, log_global::chkpt_redo_lsa, ER_ERROR_SEVERITY, ER_LOG_CHECKPOINT_SKIP_INVALID_PAGE, er_set(), er_stack_pop(), er_stack_push(), fileio_get_volume_label(), fileio_set_page_lsa(), IO_PAGESIZE, pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, log_Gl, logtb_is_current_active(), fileio_page_reserved::lsa, LSA_COPY(), LSA_ISNULL(), LSA_LT(), NULL, log_lsa::offset, pgbuf_bcb::oldest_unflush_lsa, log_lsa::pageid, vpid::pageid, PEEK, PGBUF_DEBUG_PAGE_VALIDATION_ALL, pgbuf_get_check_page_validation_level(), pgbuf_init_temp_page_lsa(), PGBUF_IS_AUXILIARY_VOLUME, pgbuf_is_temp_lsa(), pgbuf_is_temporary_volume(), pgbuf_is_valid_page_ptr(), pgbuf_set_dirty_buffer_ptr(), fileio_page::prv, pthread_mutex_lock, pthread_mutex_unlock, rc, vpid::volid, and pgbuf_bcb::vpid.
Referenced by btree_reflect_global_unique_statistics(), log_append_compensate_internal(), log_append_redo_crumbs(), log_append_run_postpone(), log_append_undo_crumbs(), log_append_undoredo_crumbs(), log_rv_redo_record(), log_skip_logging(), log_skip_logging_set_lsa(), and pgbuf_unfix_debug().
void pgbuf_set_lsa_as_temporary | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | pgptr | ||
) |
Definition at line 4790 of file page_buffer.c.
References assert, CAST_PGPTR_TO_BFPTR, IO_PAGESIZE, pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, pgbuf_init_temp_page_lsa(), pgbuf_set_dirty_buffer_ptr(), STATIC_INLINE, pgbuf_bcb::vpid, and VPID_ISNULL.
Referenced by disk_format(), and disk_stab_init().
void pgbuf_set_page_ptype | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | pgptr, | ||
PAGE_TYPE | ptype | ||
) |
Definition at line 4847 of file page_buffer.c.
References assert, assert_release, CAST_PGPTR_TO_BFPTR, pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, NULL, pgbuf_check_bcb_page_vpid(), PGBUF_DEBUG_PAGE_VALIDATION_ALL, pgbuf_get_check_page_validation_level(), pgbuf_is_valid_page_ptr(), pgbuf_set_bcb_page_vpid(), fileio_page::prv, fileio_page_reserved::ptype, pgbuf_bcb::vpid, and VPID_ISNULL.
Referenced by btree_initialize_new_page(), btree_rv_newpage_redo_init(), btree_rv_undoredo_copy_page(), catalog_initialize_new_page(), catalog_rv_new_page_redo(), disk_format(), disk_rv_redo_format(), disk_rv_redo_init_map(), disk_stab_init(), ehash_initialize_bucket_new_page(), ehash_initialize_dir_new_page(), ehash_rv_init_bucket_redo(), ehash_rv_init_dir_new_page_redo(), ehash_rv_init_dir_redo(), file_create(), file_init_page_type_internal(), file_numerable_add_page(), file_perm_dealloc(), file_table_append_full_sector_page(), file_temp_alloc(), file_tracker_init_page(), heap_create_internal(), heap_reinitialize_page(), heap_rv_redo_newpage(), heap_rv_redo_reuse_page_reuse_oid(), heap_vpid_init_new(), overflow_rv_page_update_redo(), pgbuf_copy_from_area(), pgbuf_rv_dealloc_redo(), pgbuf_rv_dealloc_undo(), pgbuf_rv_dealloc_undo_compensate(), pgbuf_rv_new_page_redo(), pgbuf_rv_new_page_undo(), qmgr_init_external_file_page(), vacuum_add_dropped_file(), vacuum_create_file_for_dropped_files(), and vacuum_data_initialize_new_page().
void pgbuf_set_tde_algorithm | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | pgptr, | ||
TDE_ALGORITHM | tde_algo, | ||
bool | skip_logging | ||
) |
Definition at line 4473 of file page_buffer.c.
References ARG_FILE_LINE, assert, CAST_PGPTR_TO_IOPGPTR, DONT_FREE, er_log_debug, FILEIO_PAGE_FLAG_ENCRYPTED_AES, FILEIO_PAGE_FLAG_ENCRYPTED_ARIA, FILEIO_PAGE_FLAG_ENCRYPTED_MASK, tde_cipher::is_loaded, log_append_undoredo_data2(), NULL, fileio_page_reserved::pageid, fileio_page_reserved::pflag, pgbuf_get_tde_algorithm(), pgbuf_set_dirty(), fileio_page::prv, RVPGBUF_SET_TDE_ALGORITHM, TDE_ALGORITHM_AES, TDE_ALGORITHM_ARIA, TDE_ALGORITHM_NONE, tde_Cipher, tde_get_algorithm_name(), and fileio_page_reserved::volid.
Referenced by file_alloc(), file_file_map_set_tde_algorithm(), pgbuf_copy_from_area(), pgbuf_rv_dealloc_redo(), and pgbuf_rv_set_tde_algorithm().
int pgbuf_start_scan | ( | THREAD_ENTRY * | thread_p, |
int | type, | ||
DB_VALUE ** | arg_values, | ||
int | arg_cnt, | ||
void ** | ptr | ||
) |
Definition at line 16200 of file page_buffer.c.
References assert, pgbuf_status_snapshot::clean_pages, db_make_bigint(), db_make_double(), db_make_int(), DB_TYPE_NUMERIC, db_value_domain_init(), pgbuf_status_snapshot::dirty_pages, er_errid(), error(), pgbuf_status_snapshot::free_pages, i, MAX_NTRANS, NO_ERROR, NULL, pgbuf_buffer_pool::num_buffers, pgbuf_status_snapshot::num_data_pages, pgbuf_status::num_flusher_waiting_threads, pgbuf_status::num_hit, pgbuf_status_old::num_hit, pgbuf_status_snapshot::num_index_pages, pgbuf_status::num_page_request, pgbuf_status_old::num_page_request, pgbuf_status::num_pages_created, pgbuf_status_old::num_pages_created, pgbuf_status::num_pages_read, pgbuf_status_old::num_pages_read, pgbuf_status::num_pages_written, pgbuf_status_old::num_pages_written, pgbuf_status_snapshot::num_system_pages, pgbuf_status_snapshot::num_temp_pages, numeric_db_value_coerce_to_num(), PGBUF_IOPAGE_BUFFER_SIZE, pgbuf_scan_bcb_table(), pgbuf_status_old::print_out_time, pthread_mutex_lock, pthread_mutex_unlock, pgbuf_buffer_pool::show_status, pgbuf_buffer_pool::show_status_old, pgbuf_buffer_pool::show_status_snapshot, showstmt_alloc_array_context(), showstmt_alloc_tuple_in_context(), showstmt_free_array_context(), and pgbuf_status_snapshot::victim_candidate_pages.
Referenced by showstmt_scan_init().
void pgbuf_unfix_all | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 2656 of file page_buffer.c.
References ARG_FILE_LINE, assert, pgbuf_holder::bufptr, CAST_BFPTR_TO_PGPTR, CAST_PGPTR_TO_BFPTR, DB_PAGESIZE, er_log_debug, pgbuf_bcb::fcnt, pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, pgbuf_bcb::latch_mode, fileio_page_reserved::lsa, LSA_AS_ARGS, NULL, pgbuf_holder_anchor::num_hold_cnt, fileio_page::page, vpid::pageid, pgbuf_bcb_get_pool_index(), pgbuf_bcb_get_zone(), pgbuf_bcb_is_async_flush_request(), pgbuf_bcb_is_dirty(), pgbuf_bcb_is_flushing(), pgbuf_consistent_str(), pgbuf_latch_mode_str(), pgbuf_unfix_and_init, pgbuf_zone_str(), fileio_page::prv, pgbuf_holder_anchor::thrd_hold_list, pgbuf_buffer_pool::thrd_holder_info, pgbuf_holder::thrd_link, thread_get_entry_index(), vpid::volid, pgbuf_bcb::vpid, and VPID_ISNULL.
Referenced by lock_unlock_all(), net_server_request(), vacuum_finalize(), and vacuum_process_log_block().
void pgbuf_unfix_debug | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | pgptr, | ||
const char * | caller_file, | ||
int | caller_line | ||
) |
Definition at line 2444 of file page_buffer.c.
References ARG_FILE_LINE, assert, CAST_PGPTR_TO_BFPTR, pgbuf_holder_stat::dirtied_by_holder, pgbuf_holder_stat::dirty_before_hold, er_log_debug, pgbuf_bcb::fcnt, fileio_get_volume_label(), pgbuf_holder_stat::hold_has_read_latch, pgbuf_holder_stat::hold_has_write_latch, INIT_HOLDER_STAT, pgbuf_iopage_buffer::iopage, pgbuf_bcb::iopage_buffer, pgbuf_holder::last_watcher, log_get_restart_lsa(), log_is_logged_since_restart(), fileio_page_reserved::lsa, LSA_COPY(), pgbuf_watcher::magic, NULL, pgbuf_bcb::oldest_unflush_lsa, vpid::pageid, PEEK, PERF_HOLDER_LATCH_MIXED, PERF_HOLDER_LATCH_READ, PERF_HOLDER_LATCH_WRITE, PERF_PAGE_UNKNOWN, perfmon_is_perf_tracking(), PGBUF_BCB_CHECK_MUTEX_LEAKS, pgbuf_bcb_is_dirty(), PGBUF_BCB_LOCK, pgbuf_bcb_safe_flush_force_unlock(), PGBUF_BCB_UNLOCK, PGBUF_CONTENT_BAD, PGBUF_DEBUG_PAGE_VALIDATION_ALL, PGBUF_DEBUG_PAGE_VALIDATION_FREE, PGBUF_FIND_BUFFER_GUARD, pgbuf_get_check_page_validation_level(), pgbuf_get_holder(), pgbuf_get_page_type_for_stat(), pgbuf_invalidate_bcb(), PGBUF_IS_AUXILIARY_VOLUME, pgbuf_is_temp_lsa(), pgbuf_is_valid_page_ptr(), pgbuf_set_lsa(), pgbuf_unlatch_bcb_upon_unfix(), pgbuf_unlatch_thrd_holder(), PGBUF_WATCHER_MAGIC_NUMBER, pgbuf_watcher::prev, fileio_page::prv, vpid::volid, pgbuf_bcb::vpid, and VPID_ISNULL.
Referenced by pgbuf_ordered_unfix_debug().
void pgbuf_watcher_init_debug | ( | PGBUF_WATCHER * | watcher, |
const char * | caller_file, | ||
const int | caller_line, | ||
bool | add | ||
) |
Definition at line 12674 of file page_buffer.c.
References pgbuf_watcher::init_at, p, snprintf_dots_truncate, and strlen.
Referenced by pgbuf_ordered_fix_debug(), pgbuf_ordered_unfix_debug(), and pgbuf_replace_watcher_debug().
HFID* pgbuf_ordered_null_hfid |
Definition at line 805 of file page_buffer.c.
const log_lsa PGBUF_TEMP_LSA = { NULL_LOG_PAGEID - 1, NULL_LOG_OFFSET - 1 } |
Definition at line 244 of file page_buffer.h.
Referenced by disk_format(), pgbuf_init_temp_page_lsa(), and pgbuf_is_temp_lsa().
Definition at line 74 of file page_buffer.c.
Referenced by vacuum_job_cursor::get_page_vpid().