CUBRID Engine
latest
|
#include "system.h"
#include "vacuum.h"
#include "base_flag.hpp"
#include "boot_sr.h"
#include "btree.h"
#include "dbtype.h"
#include "heap_file.h"
#include "lockfree_circular_queue.hpp"
#include "log_append.hpp"
#include "log_compress.h"
#include "log_lsa.hpp"
#include "log_impl.h"
#include "mvcc.h"
#include "mvcc_table.hpp"
#include "object_representation.h"
#include "object_representation_sr.h"
#include "overflow_file.h"
#include "page_buffer.h"
#include "perf_monitor.h"
#include "resource_shared_pool.hpp"
#include "thread_entry_task.hpp"
#include "thread_looper.hpp"
#include "thread_manager.hpp"
#include "util_func.h"
#include <atomic>
#include <condition_variable>
#include <mutex>
#include <stack>
#include <cstring>
Go to the source code of this file.
Classes | |
struct | vacuum_data_entry |
struct | vacuum_data_page |
class | vacuum_job_cursor |
class | vacuum_shutdown_sequence |
struct | vacuum_data |
struct | vacuum_data_load |
struct | vacuum_heap_helper |
struct | vacuum_dropped_file |
struct | vacuum_dropped_files_page |
struct | vacuum_track_dropped_files |
struct | vacuum_dropped_files_rcv_data |
class | vacuum_master_context_manager |
class | vacuum_master_task |
class | vacuum_worker_context_manager |
class | vacuum_worker_task |
Typedefs | |
typedef struct vacuum_data_entry | VACUUM_DATA_ENTRY |
typedef struct vacuum_data_page | VACUUM_DATA_PAGE |
typedef struct vacuum_data | VACUUM_DATA |
typedef struct vacuum_data_load | VACUUM_DATA_LOAD |
typedef struct vacuum_heap_helper | VACUUM_HEAP_HELPER |
typedef struct vacuum_dropped_file | VACUUM_DROPPED_FILE |
typedef struct vacuum_dropped_files_page | VACUUM_DROPPED_FILES_PAGE |
typedef struct vacuum_track_dropped_files | VACUUM_TRACK_DROPPED_FILES |
typedef struct vacuum_dropped_files_rcv_data | VACUUM_DROPPED_FILES_RCV_DATA |
Variables | |
static VACUUM_DATA | vacuum_Data |
VACUUM_DATA_LOAD | vacuum_Data_load = { VPID_INITIALIZER, VPID_INITIALIZER } |
VACUUM_WORKER | vacuum_Master |
lockfree::circular_queue< vacuum_data_entry > * | vacuum_Block_data_buffer = NULL |
lockfree::circular_queue< VACUUM_LOG_BLOCKID > * | vacuum_Finished_job_queue = NULL |
VACUUM_WORKER | vacuum_Workers [VACUUM_MAX_WORKER_COUNT] |
static bool | vacuum_Dropped_files_loaded = false |
static VFID | vacuum_Dropped_files_vfid |
static VPID | vacuum_Dropped_files_vpid |
static INT32 | vacuum_Dropped_files_count = 0 |
VACUUM_TRACK_DROPPED_FILES * | vacuum_Track_dropped_files |
INT32 | vacuum_Dropped_files_version = 0 |
pthread_mutex_t | vacuum_Dropped_files_mutex |
VFID | vacuum_Last_dropped_vfid |
bool | vacuum_Is_booted = false |
static cubthread::daemon * | vacuum_Master_daemon = NULL |
static vacuum_master_context_manager * | vacuum_Master_context_manager = NULL |
static cubthread::entry_workpool * | vacuum_Worker_threads = NULL |
static vacuum_worker_context_manager * | vacuum_Worker_context_manager = NULL |
#define MAX_PAGE_MAX_DATA_ENTRIES (IO_MAX_PAGE_SIZE / sizeof (VACUUM_DATA_ENTRY)) |
#define MAX_SLOTS_IN_PAGE (IO_MAX_PAGE_SIZE / sizeof (SPAGE_SLOT)) |
Definition at line 66 of file vacuum.c.
Referenced by vacuum_log_vacuum_heap_page().
#define TEMP_BUFFER_SIZE VACUUM_FINISHED_JOB_QUEUE_CAPACITY |
Referenced by print_not_vacuumed_to_log(), and vacuum_data_mark_finished().
#define TEMP_BUFFER_SIZE 1024 |
#define VACUUM_BLOCK_CLEAR_INTERRUPTED | ( | blockid | ) | ((blockid) &= ~VACUUM_BLOCK_FLAG_INTERRUPTED) |
Definition at line 176 of file vacuum.c.
Referenced by vacuum_data_entry::set_vacuumed().
#define VACUUM_BLOCK_DATA_BUFFER_CAPACITY 1024 |
Definition at line 460 of file vacuum.c.
Referenced by vacuum_initialize().
#define VACUUM_BLOCK_IS_INTERRUPTED | ( | blockid | ) | (((blockid) & VACUUM_BLOCK_FLAG_INTERRUPTED) != 0) |
Definition at line 172 of file vacuum.c.
Referenced by vacuum_data_entry::was_interrupted().
#define VACUUM_BLOCK_SET_INTERRUPTED | ( | blockid | ) | ((blockid) |= VACUUM_BLOCK_FLAG_INTERRUPTED) |
Definition at line 174 of file vacuum.c.
Referenced by vacuum_data_entry::set_interrupted().
#define VACUUM_BLOCK_STATUS | ( | blockid | ) | ((blockid) & VACUUM_BLOCK_STATUS_MASK) |
#define VACUUM_BLOCK_STATUS_IN_PROGRESS_VACUUM 0x4000000000000000 |
#define VACUUM_BLOCK_STATUS_IS_AVAILABLE | ( | blockid | ) | (VACUUM_BLOCK_STATUS (blockid) == VACUUM_BLOCK_STATUS_AVAILABLE) |
Definition at line 161 of file vacuum.c.
Referenced by vacuum_data_entry::is_available().
#define VACUUM_BLOCK_STATUS_IS_IN_PROGRESS | ( | blockid | ) | (VACUUM_BLOCK_STATUS (blockid) == VACUUM_BLOCK_STATUS_IN_PROGRESS_VACUUM) |
Definition at line 159 of file vacuum.c.
Referenced by vacuum_data_entry::is_job_in_progress().
#define VACUUM_BLOCK_STATUS_IS_VACUUMED | ( | blockid | ) | (VACUUM_BLOCK_STATUS (blockid) == VACUUM_BLOCK_STATUS_VACUUMED) |
Definition at line 157 of file vacuum.c.
Referenced by vacuum_data_entry::is_vacuumed(), vacuum_data_mark_finished(), vacuum_rv_redo_data_finished(), and vacuum_rv_redo_data_finished_dump().
#define VACUUM_BLOCK_STATUS_SET_AVAILABLE | ( | blockid | ) | ((blockid) = ((blockid) & ~VACUUM_BLOCK_STATUS_MASK) | VACUUM_BLOCK_STATUS_AVAILABLE) |
Definition at line 169 of file vacuum.c.
Referenced by vacuum_data_entry::set_interrupted().
#define VACUUM_BLOCK_STATUS_SET_IN_PROGRESS | ( | blockid | ) | ((blockid) = ((blockid) & ~VACUUM_BLOCK_STATUS_MASK) | VACUUM_BLOCK_STATUS_IN_PROGRESS_VACUUM) |
Definition at line 167 of file vacuum.c.
Referenced by vacuum_data_entry::set_job_in_progress().
#define VACUUM_BLOCK_STATUS_SET_VACUUMED | ( | blockid | ) | ((blockid) = ((blockid) & ~VACUUM_BLOCK_STATUS_MASK) | VACUUM_BLOCK_STATUS_VACUUMED) |
Definition at line 165 of file vacuum.c.
Referenced by vacuum_data_entry::set_vacuumed().
#define VACUUM_BLOCKID_GET_FLAGS | ( | blockid | ) | ((blockid) & VACUUM_DATA_ENTRY_FLAG_MASK) |
Definition at line 145 of file vacuum.c.
Referenced by vacuum_data_mark_finished().
#define VACUUM_BLOCKID_WITHOUT_FLAGS | ( | blockid | ) | ((blockid) & VACUUM_DATA_ENTRY_BLOCKID_MASK) |
Definition at line 141 of file vacuum.c.
Referenced by vacuum_data_entry::get_blockid(), vacuum_data::set_last_blockid(), vacuum_compare_blockids(), vacuum_data_mark_finished(), vacuum_rv_redo_data_finished(), and vacuum_rv_redo_data_finished_dump().
#define VACUUM_CLEANUP_DROPPED_FILES_MAX_REDO_CRUMBS 3 |
Referenced by vacuum_log_cleanup_dropped_files().
#define VACUUM_DATA_PAGE_HEADER_SIZE (offsetof (VACUUM_DATA_PAGE, data)) |
Definition at line 203 of file vacuum.c.
Referenced by vacuum_initialize().
#define VACUUM_DEFAULT_HEAP_OBJECT_BUFFER_SIZE 4000 |
Definition at line 552 of file vacuum.c.
Referenced by vacuum_worker_allocate_resources().
#define VACUUM_DROPPED_FILES_MAX_PAGE_CAPACITY |
Definition at line 597 of file vacuum.c.
Referenced by vacuum_cleanup_dropped_files().
#define VACUUM_DROPPED_FILES_PAGE_CAPACITY |
Definition at line 593 of file vacuum.c.
Referenced by vacuum_add_dropped_file().
#define VACUUM_DROPPED_FILES_PAGE_HEADER_SIZE (offsetof (VACUUM_DROPPED_FILES_PAGE, dropped_files)) |
#define VACUUM_FINISHED_JOB_QUEUE_CAPACITY 2048 |
Definition at line 476 of file vacuum.c.
Referenced by vacuum_initialize().
#define VACUUM_FIRST_LOG_PAGEID_IN_BLOCK | ( | blockid | ) | ((blockid) * vacuum_Data.log_block_npages) |
Definition at line 72 of file vacuum.c.
Referenced by vacuum_log_prefetch_vacuum_block(), vacuum_process_log_block(), vacuum_recover_lost_block_data(), and vacuum_update_keep_from_log_pageid().
#define vacuum_fix_data_page | ( | thread_p, | |
vpidp | |||
) |
Definition at line 214 of file vacuum.c.
Referenced by vacuum_job_cursor::search(), vacuum_data_empty_page(), vacuum_data_load_and_recover(), vacuum_data_load_first_and_last_page(), vacuum_data_mark_finished(), vacuum_reset_data_after_copydb(), and vacuum_verify_vacuum_data_debug().
#define vacuum_fix_dropped_entries_page | ( | thread_p, | |
vpidp, | |||
latch | |||
) |
Definition at line 606 of file vacuum.c.
Referenced by vacuum_add_dropped_file(), vacuum_cleanup_dropped_files(), vacuum_find_dropped_file(), and vacuum_load_dropped_files_from_disk().
#define vacuum_job_cursor_print_args | ( | cursor | ) | (long long int) (cursor).get_blockid (), VPID_AS_ARGS (&(cursor).get_page_vpid ()), (int) (cursor).get_index () |
Definition at line 326 of file vacuum.c.
Referenced by vacuum_job_cursor::increment_blockid(), vacuum_job_cursor::load(), vacuum_job_cursor::unload(), vacuum_data_unload_first_and_last_page(), and xvacuum().
#define vacuum_job_cursor_print_format "vacuum_job_cursor(%lld, %d|%d|%d)" |
Definition at line 325 of file vacuum.c.
Referenced by vacuum_job_cursor::increment_blockid(), vacuum_job_cursor::load(), vacuum_job_cursor::unload(), vacuum_data_unload_first_and_last_page(), and xvacuum().
#define VACUUM_LAST_LOG_PAGEID_IN_BLOCK | ( | blockid | ) | (VACUUM_FIRST_LOG_PAGEID_IN_BLOCK (blockid + 1) - 1) |
Definition at line 75 of file vacuum.c.
Referenced by vacuum_recover_lost_block_data().
#define VACUUM_LOG_DATA_ENTRY_AS_ARGS | ( | data | ) |
Definition at line 657 of file vacuum.c.
Referenced by vacuum_data_unload_first_and_last_page(), and vacuum_process_log_block().
#define VACUUM_LOG_DATA_ENTRY_MSG | ( | name | ) | "name = {blockid = %lld, flags = %lld, start_lsa = %lld|%d, oldest_visible_mvccid=%llu, newest_mvccid=%llu }" |
Definition at line 655 of file vacuum.c.
Referenced by vacuum_data_unload_first_and_last_page(), and vacuum_process_log_block().
#define VACUUM_LOG_VACUUM_HEAP_ALL_VACUUMED 0x4000 |
Definition at line 547 of file vacuum.c.
Referenced by vacuum_log_vacuum_heap_page(), and vacuum_rv_redo_vacuum_heap_page().
#define VACUUM_LOG_VACUUM_HEAP_MASK 0xC000 |
Definition at line 549 of file vacuum.c.
Referenced by vacuum_rv_redo_vacuum_heap_page(), vacuum_rv_redo_vacuum_heap_record(), and vacuum_rv_undo_vacuum_heap_record().
#define VACUUM_LOG_VACUUM_HEAP_REUSABLE 0x8000 |
Definition at line 545 of file vacuum.c.
Referenced by vacuum_log_redoundo_vacuum_record(), vacuum_log_vacuum_heap_page(), vacuum_rv_redo_vacuum_heap_page(), and vacuum_rv_redo_vacuum_heap_record().
#define VACUUM_PERF_HEAP_START | ( | thread_p, | |
helper | |||
) | PERF_UTIME_TRACKER_START (thread_p, &(helper)->time_track); |
Definition at line 531 of file vacuum.c.
Referenced by vacuum_heap_page().
#define VACUUM_PERF_HEAP_TRACK_EXECUTE | ( | thread_p, | |
helper | |||
) |
Definition at line 536 of file vacuum.c.
Referenced by vacuum_heap_page(), vacuum_heap_page_log_and_reset(), and vacuum_heap_record().
#define VACUUM_PERF_HEAP_TRACK_LOGGING | ( | thread_p, | |
helper | |||
) |
Definition at line 539 of file vacuum.c.
Referenced by vacuum_heap_page(), vacuum_heap_page_log_and_reset(), and vacuum_heap_record().
#define VACUUM_PERF_HEAP_TRACK_PREPARE | ( | thread_p, | |
helper | |||
) |
Definition at line 533 of file vacuum.c.
Referenced by vacuum_heap_page(), and vacuum_heap_prepare_record().
#define VACUUM_PREFETCH_LOG_BLOCK_BUFFER_PAGES ((size_t) (1 + vacuum_Data.log_block_npages)) |
Definition at line 470 of file vacuum.c.
Referenced by vacuum_log_prefetch_vacuum_block(), and vacuum_worker_allocate_resources().
#define vacuum_set_dirty_data_page | ( | thread_p, | |
data_page, | |||
free | |||
) |
Definition at line 239 of file vacuum.c.
Referenced by vacuum_consume_buffer_log_blocks(), vacuum_data_empty_page(), vacuum_data_load_and_recover(), vacuum_data_mark_finished(), vacuum_init_data_page_with_last_blockid(), and xvacuum().
#define vacuum_set_dirty_dropped_entries_page | ( | thread_p, | |
dropped_page, | |||
free | |||
) |
Definition at line 616 of file vacuum.c.
Referenced by vacuum_add_dropped_file(), vacuum_cleanup_dropped_files(), vacuum_create_file_for_dropped_files(), and vacuum_dropped_files_set_next_page().
#define VACUUM_TRACK_DROPPED_FILES_SIZE (DB_PAGESIZE + sizeof (VACUUM_TRACK_DROPPED_FILES *)) |
Definition at line 637 of file vacuum.c.
Referenced by vacuum_add_dropped_file(), and vacuum_load_dropped_files_from_disk().
#define vacuum_unfix_data_page | ( | thread_p, | |
data_page | |||
) |
Definition at line 227 of file vacuum.c.
Referenced by vacuum_job_cursor::search(), vacuum_job_cursor::unload(), vacuum_create_file_for_vacuum_data(), vacuum_data_empty_page(), vacuum_data_load_and_recover(), vacuum_data_mark_finished(), and vacuum_verify_vacuum_data_debug().
#define vacuum_unfix_dropped_entries_page | ( | thread_p, | |
dropped_page | |||
) |
Definition at line 610 of file vacuum.c.
Referenced by vacuum_add_dropped_file(), vacuum_cleanup_dropped_files(), vacuum_find_dropped_file(), and vacuum_load_dropped_files_from_disk().
#define vacuum_unfix_first_and_last_data_page | ( | thread_p | ) |
Definition at line 265 of file vacuum.c.
Referenced by vacuum_data_load_first_and_last_page(), vacuum_data_unload_first_and_last_page(), and vacuum_reset_data_after_copydb().
#define VACUUM_VERIFY_VACUUM_DATA | ( | thread_p | ) | vacuum_verify_vacuum_data_debug (thread_p) |
Definition at line 746 of file vacuum.c.
Referenced by vacuum_consume_buffer_log_blocks(), and vacuum_data_mark_finished().
#define VACUUM_WORKER_INDEX_TO_TRANID | ( | index | ) | (-index + LOG_LAST_VACUUM_WORKER_TRANID) |
#define VACUUM_WORKER_TRANID_TO_INDEX | ( | trid | ) | (-trid + LOG_LAST_VACUUM_WORKER_TRANID) |
typedef struct vacuum_data VACUUM_DATA |
typedef struct vacuum_data_entry VACUUM_DATA_ENTRY |
typedef struct vacuum_data_load VACUUM_DATA_LOAD |
typedef struct vacuum_data_page VACUUM_DATA_PAGE |
typedef struct vacuum_dropped_file VACUUM_DROPPED_FILE |
typedef struct vacuum_dropped_files_page VACUUM_DROPPED_FILES_PAGE |
typedef struct vacuum_dropped_files_rcv_data VACUUM_DROPPED_FILES_RCV_DATA |
typedef struct vacuum_heap_helper VACUUM_HEAP_HELPER |
typedef struct vacuum_track_dropped_files VACUUM_TRACK_DROPPED_FILES |
|
static |
Definition at line 7277 of file vacuum.c.
References mvcc_satisfies_vacuum(), vacuum_data::oldest_unvacuumed_mvccid, VACUUM_RECORD_CANNOT_VACUUM, VACUUM_RECORD_DELETE_INSID_PREV_VER, and VACUUM_RECORD_REMOVE.
Referenced by vacuum_check_not_vacuumed_rec_header().
|
static |
Definition at line 7181 of file vacuum.c.
References ARG_FILE_LINE, BTREE_LEAF_NODE, BTREE_NON_LEAF_NODE, BTREE_OVERFLOW_NODE, er_log_debug, MVCC_GET_DELID, MVCC_GET_INSID, MVCC_IS_FLAG_SET, MVCC_IS_HEADER_DELID_VALID, NULL, vacuum_data::oldest_unvacuumed_mvccid, OR_MVCC_FLAG_VALID_INSID, p, db_identifier::pageid, db_identifier::slotid, TEMP_BUFFER_SIZE, and db_identifier::volid.
Referenced by vacuum_check_not_vacuumed_rec_header().
|
static |
Definition at line 5749 of file vacuum.c.
References ARG_FILE_LINE, assert, assert_release, DB_PAGESIZE, vacuum_track_dropped_files::dropped_data_page, vacuum_dropped_files_page::dropped_files, ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), file_alloc(), file_init_page_type(), FREE, log_append_redo_data2(), log_append_undoredo_data(), LOG_DATA_ADDR_INITIALIZER, LOG_FIND_CURRENT_TDES(), LOG_ISRESTARTED, MVCC_ID_FOLLOW_OR_EQUAL, vacuum_dropped_file::mvccid, MVCCID_NULL, vacuum_dropped_files_page::n_dropped_files, vacuum_dropped_files_page::next_page, vacuum_track_dropped_files::next_tracked_page, NO_ERROR, NULL, log_data_addr::offset, PAGE_DROPPED_FILES, PGBUF_LATCH_WRITE, PGBUF_PAGE_STATE_ARGS, pgbuf_set_page_ptype(), log_data_addr::pgptr, RVPGBUF_NEW_PAGE, RVVAC_DROPPED_FILE_ADD, RVVAC_DROPPED_FILE_REPLACE, util_bsearch(), vacuum_compare_dropped_files(), vacuum_Dropped_files_count, vacuum_Dropped_files_loaded, VACUUM_DROPPED_FILES_PAGE_CAPACITY, vacuum_dropped_files_set_next_page(), vacuum_er_log, VACUUM_ER_LOG_DROPPED_FILES, vacuum_er_log_error, VACUUM_ER_LOG_RECOVERY, vacuum_fix_dropped_entries_page, vacuum_load_dropped_files_from_disk(), vacuum_set_dirty_dropped_entries_page, vacuum_Track_dropped_files, VACUUM_TRACK_DROPPED_FILES_SIZE, vacuum_unfix_dropped_entries_page, log_data_addr::vfid, vacuum_dropped_file::vfid, VFID_AS_ARGS, VFID_COPY, VFID_ISNULL, VPID_COPY, VPID_INITIALIZER, VPID_ISNULL, and VPID_SET_NULL.
Referenced by vacuum_rv_notify_dropped_file().
int vacuum_boot | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 1261 of file vacuum.c.
References assert, ASSERT_ERROR, cubthread::manager::create_daemon(), cubthread::manager::create_worker_pool(), cubthread::get_manager(), flag< T >::is_flag_set(), cubthread::is_logging_configured(), cubthread::LOG_WORKER_POOL_VACUUM, NO_ERROR, NULL, prm_get_bool_value(), prm_get_integer_value(), PRM_ID_DISABLE_VACUUM, PRM_ID_ER_LOG_VACUUM, PRM_ID_VACUUM_MASTER_WAKEUP_INTERVAL, PRM_ID_VACUUM_WORKER_COUNT, thread_get_thread_entry_info(), vacuum_data_load_and_recover(), VACUUM_ER_LOG_WORKER, vacuum_Is_booted, and vacuum_load_dropped_files_from_disk().
Referenced by boot_restart_server().
DISK_ISVALID vacuum_check_not_vacuumed_rec_header | ( | THREAD_ENTRY * | thread_p, |
OID * | oid, | ||
OID * | class_oid, | ||
MVCC_REC_HEADER * | rec_header, | ||
int | btree_node_type | ||
) |
Definition at line 7314 of file vacuum.c.
References assert, ASSERT_ERROR, DISK_ERROR, DISK_INVALID, DISK_VALID, heap_get_class_oid(), is_not_vacuumed_and_lost(), NULL, OID_ISNULL, print_not_vacuumed_to_log(), and S_SUCCESS.
Referenced by btree_select_visible_object_for_range_scan(), heap_chkreloc_next(), and vacuum_check_not_vacuumed_recdes().
DISK_ISVALID vacuum_check_not_vacuumed_recdes | ( | THREAD_ENTRY * | thread_p, |
OID * | oid, | ||
OID * | class_oid, | ||
RECDES * | recdes, | ||
int | btree_node_type | ||
) |
Definition at line 7255 of file vacuum.c.
References DISK_ERROR, NO_ERROR, or_mvcc_get_header(), and vacuum_check_not_vacuumed_rec_header().
Referenced by heap_chkreloc_next().
|
static |
Definition at line 7834 of file vacuum.c.
References assert, ASSERT_ERROR, ER_INTERRUPTED, and vacuum_is_thread_vacuum_worker().
Referenced by vacuum_heap(), vacuum_heap_page(), vacuum_heap_prepare_record(), vacuum_process_log_block(), and vacuum_process_log_record().
|
static |
Definition at line 6853 of file vacuum.c.
References assert, vacuum_worker::heap_objects, vacuum_worker::n_heap_objects, vacuum_compare_heap_object(), vacuum_heap_object::vfid, and VFID_EQ.
Referenced by vacuum_process_log_record().
|
static |
Definition at line 6336 of file vacuum.c.
References assert, assert_release, DB_PAGESIZE, vacuum_track_dropped_files::dropped_data_page, vacuum_dropped_files_page::dropped_files, ER_FAILED, FREE, i, LOG_ISRESTARTED, MVCC_ID_PRECEDES, vacuum_dropped_file::mvccid, vacuum_dropped_files_page::n_dropped_files, vacuum_dropped_files_page::next_page, vacuum_track_dropped_files::next_tracked_page, NO_ERROR, NULL, vacuum_data::oldest_unvacuumed_mvccid, PGBUF_LATCH_WRITE, PGBUF_PAGE_STATE_ARGS, vacuum_Dropped_files_count, VACUUM_DROPPED_FILES_MAX_PAGE_CAPACITY, vacuum_dropped_files_set_next_page(), vacuum_er_log, VACUUM_ER_LOG_DROPPED_FILES, VACUUM_ER_LOG_RECOVERY, vacuum_fix_dropped_entries_page, vacuum_log_cleanup_dropped_files(), vacuum_set_dirty_dropped_entries_page, vacuum_unfix_dropped_entries_page, VFID_ISNULL, VPID_COPY, VPID_EQ, VPID_INITIALIZER, and VPID_ISNULL.
Referenced by xvacuum().
|
static |
Definition at line 6810 of file vacuum.c.
References ARG_FILE_LINE, COPY_OID, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), vacuum_worker::heap_objects, vacuum_worker::heap_objects_capacity, vacuum_worker::n_heap_objects, NO_ERROR, NULL, vacuum_heap_object::oid, vacuum_er_log_error, VACUUM_ER_LOG_WORKER, vacuum_heap_object::vfid, and VFID_COPY.
Referenced by vacuum_process_log_block().
Definition at line 4078 of file vacuum.c.
References VACUUM_BLOCKID_WITHOUT_FLAGS.
Referenced by vacuum_data_mark_finished().
Definition at line 5723 of file vacuum.c.
References assert, vfid::fileid, NULL, and vfid::volid.
Referenced by vacuum_add_dropped_file(), and vacuum_find_dropped_file().
Definition at line 6760 of file vacuum.c.
References diff, vfid::fileid, vacuum_heap_object::oid, db_identifier::pageid, db_identifier::slotid, vacuum_heap_object::vfid, vfid::volid, and db_identifier::volid.
Referenced by vacuum_cleanup_collected_by_vfid(), and vacuum_heap().
int vacuum_consume_buffer_log_blocks | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 5006 of file vacuum.c.
References assert, assert_release, vacuum_data_entry::blockid, CAST_BUFLEN, lockfree::circular_queue< T >::consume(), vacuum_data_page::data, log_header::does_block_need_vacuum, DONT_FREE, ER_FAILED, file_alloc(), file_init_page_type(), FREE, vacuum_data_entry::get_blockid(), mvcctable::get_global_oldest_visible(), vacuum_data::get_last_blockid(), log_global::hdr, vacuum_data_page::index_free, vacuum_data_page::index_unvacuumed, vacuum_data_entry::is_available(), lockfree::circular_queue< T >::is_empty(), vacuum_data::last_page, log_append_redo_data2(), log_append_undoredo_data2(), log_Gl, log_sysop_abort(), log_sysop_commit(), log_sysop_start(), LSA_COPY(), LSA_SET_NULL(), log_global::mvcc_table, MVCCID_NULL, vacuum_data_entry::newest_mvccid, vacuum_data_page::next_page, NO_ERROR, NULL, log_lsa::offset, vacuum_data_entry::oldest_visible_mvccid, vacuum_data::page_data_max_count, PAGE_VACUUM_DATA, log_lsa::pageid, log_global::prior_info, log_prior_lsa_info::prior_lsa, log_prior_lsa_info::prior_lsa_mutex, prm_get_bool_value(), PRM_ID_DISABLE_VACUUM, RVVAC_DATA_APPEND_BLOCKS, RVVAC_DATA_SET_LINK, vacuum_data::set_last_blockid(), vacuum_data_entry::set_vacuumed(), vacuum_data_entry::start_lsa, vacuum_data_empty_update_last_blockid(), vacuum_data::vacuum_data_file, vacuum_er_log, vacuum_er_log_error, VACUUM_ER_LOG_VACUUM_DATA, vacuum_get_log_blockid(), vacuum_init_data_page_with_last_blockid(), vacuum_is_empty(), log_header::vacuum_last_blockid, vacuum_set_dirty_data_page, vacuum_update_keep_from_log_pageid(), VACUUM_VERIFY_VACUUM_DATA, vacuum_verify_vacuum_data_page_fix_count(), VPID_COPY, and VPID_INITIALIZER.
Referenced by vacuum_data::update(), vacuum_finalize(), and vacuum_recover_lost_block_data().
|
static |
Definition at line 7705 of file vacuum.c.
References NULL, thread_get_thread_entry_info(), TT_VACUUM_MASTER, and vacuum_Master.
Referenced by vacuum_recover_lost_block_data(), and xvacuum().
|
static |
Definition at line 7728 of file vacuum.c.
References assert_release, NO_ERROR, NULL, thread_get_thread_entry_info(), TT_VACUUM_WORKER, and vacuum_worker_allocate_resources().
|
static |
Definition at line 3771 of file vacuum.c.
References log_page::area, LOGAREA_SIZE, log_lsa::offset, and vacuum_read_advance_when_doesnt_fit().
Referenced by vacuum_process_log_record().
int vacuum_create_file_for_dropped_files | ( | THREAD_ENTRY * | thread_p, |
VFID * | dropped_files_vfid | ||
) |
Definition at line 4456 of file vacuum.c.
References assert, ASSERT_ERROR, ER_FAILED, file_alloc_sticky_first_page(), file_create_with_npages(), FILE_DROPPED_FILES, file_init_page_type(), FREE, vacuum_dropped_files_page::n_dropped_files, vacuum_dropped_files_page::next_page, NO_ERROR, NULL, PAGE_DROPPED_FILES, pgbuf_set_page_ptype(), vacuum_set_dirty_dropped_entries_page, and VPID_SET_NULL.
Referenced by boot_create_all_volumes().
int vacuum_create_file_for_vacuum_data | ( | THREAD_ENTRY * | thread_p, |
VFID * | vacuum_data_vfid | ||
) |
Definition at line 4357 of file vacuum.c.
References ASSERT_ERROR, assert_release, ER_FAILED, file_alloc(), file_create_with_npages(), file_descriptor_update(), file_init_page_type(), FILE_VACUUM_DATA, NO_ERROR, NULL, PAGE_VACUUM_DATA, file_descriptors::vacuum_data, vacuum_init_data_page_with_last_blockid(), vacuum_unfix_data_page, and file_vacuum_data_des::vpid_first.
Referenced by boot_create_all_volumes().
|
static |
Definition at line 4742 of file vacuum.c.
References assert, assert_release, DONT_FREE, file_dealloc(), file_descriptor_update(), FILE_VACUUM_DATA, vacuum_data::first_page, vacuum_data::get_last_blockid(), vacuum_data::last_page, log_append_undoredo_data2(), log_sysop_abort(), log_sysop_commit(), log_sysop_start(), vacuum_data_page::next_page, NO_ERROR, NULL, vpid::pageid, pgbuf_get_vpid(), pgbuf_get_vpid_ptr(), RVVAC_DATA_SET_LINK, file_descriptors::vacuum_data, vacuum_data::vacuum_data_file, vacuum_er_log, vacuum_er_log_error, VACUUM_ER_LOG_VACUUM_DATA, vacuum_fix_data_page, vacuum_init_data_page_with_last_blockid(), vacuum_set_dirty_data_page, vacuum_unfix_data_page, vpid::volid, VPID_AS_ARGS, VPID_COPY, file_vacuum_data_des::vpid_first, vacuum_data_load::vpid_first, VPID_INITIALIZER, and VPID_ISNULL.
Referenced by vacuum_data_mark_finished().
|
static |
Definition at line 7681 of file vacuum.c.
References assert, vacuum_data::first_page, vacuum_data::get_last_blockid(), vacuum_data::last_page, NULL, PGBUF_PAGE_STATE_ARGS, vacuum_er_log, VACUUM_ER_LOG_VACUUM_DATA, vacuum_init_data_page_with_last_blockid(), and vacuum_is_empty().
Referenced by vacuum_consume_buffer_log_blocks(), vacuum_finalize(), and vacuum_sa_reflect_last_blockid().
|
static |
Definition at line 4410 of file vacuum.c.
References DB_PAGESIZE, vacuum_data_page::index_free, vacuum_data_page::index_unvacuumed, vacuum_data_page::next_page, PAGE_VACUUM_DATA, PGBUF_PAGE_STATE_ARGS, PGBUF_PAGE_STATE_MSG, pgbuf_set_page_ptype(), vacuum_er_log, VACUUM_ER_LOG_VACUUM_DATA, and VPID_SET_NULL.
Referenced by vacuum_init_data_page_with_last_blockid(), and vacuum_rv_redo_initialize_data_page().
int vacuum_data_load_and_recover | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 4095 of file vacuum.c.
References log_global::append, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, vacuum_data_entry::blockid, vacuum_data_page::data, DONT_FREE, file_descriptor_get(), vacuum_data::first_page, vacuum_data::get_last_blockid(), log_global::hdr, i, vacuum_data_page::index_free, vacuum_data_page::index_unvacuumed, vacuum_data_entry::is_job_in_progress(), vacuum_data::is_loaded, vacuum_data::last_page, log_Gl, logpb_last_complete_blockid(), LSA_AS_ARGS, LSA_ISNULL(), LSA_SET_NULL(), log_header::mvcc_op_log_lsa, log_global::mvcc_table, MVCCID_NULL, vacuum_data_page::next_page, NO_ERROR, NULL, vacuum_data::oldest_unvacuumed_mvccid, vacuum_data::page_data_max_count, pgbuf_get_vpid(), log_append_info::prev_lsa, vacuum_data::recovery_lsa, vacuum_data_entry::set_interrupted(), vacuum_data::set_last_blockid(), vacuum_data::set_oldest_unvacuumed_on_boot(), mvcctable::update_global_oldest_visible(), file_descriptors::vacuum_data, vacuum_data::vacuum_data_file, vacuum_data_unload_first_and_last_page(), vacuum_er_log, VACUUM_ER_LOG_RECOVERY, VACUUM_ER_LOG_VACUUM_DATA, vacuum_fix_data_page, vacuum_is_empty(), log_header::vacuum_last_blockid, VACUUM_NULL_LOG_BLOCKID, vacuum_recover_lost_block_data(), vacuum_set_dirty_data_page, vacuum_unfix_data_page, vacuum_update_keep_from_log_pageid(), vacuum_verify_vacuum_data_page_fix_count(), VFID_ISNULL, VPID_COPY, file_vacuum_data_des::vpid_first, vacuum_data_load::vpid_first, VPID_ISNULL, and vacuum_data_load::vpid_last.
Referenced by vacuum_boot().
|
static |
Definition at line 2910 of file vacuum.c.
References assert, assert_release, vacuum_data::first_page, vacuum_data::is_loaded, vacuum_data::last_page, NULL, vacuum_fix_data_page, vacuum_unfix_first_and_last_data_page, VPID_EQ, vacuum_data_load::vpid_first, and vacuum_data_load::vpid_last.
Referenced by vacuum_data_unload_first_and_last_page(), vacuum_sa_reflect_last_blockid(), and xvacuum().
|
static |
Definition at line 4533 of file vacuum.c.
References assert, assert_release, vacuum_data_entry::blockid, lockfree::circular_queue< T >::consume(), vacuum_data_page::data, DONT_FREE, vacuum_data::first_page, vacuum_data_entry::get_blockid(), vacuum_data_page::index_free, vacuum_data_page::index_unvacuumed, vacuum_data_entry::is_job_in_progress(), vacuum_data_entry::is_vacuumed(), log_append_redo_data2(), vacuum_data_page::next_page, NULL, RVVAC_DATA_FINISHED_BLOCKS, vacuum_data_entry::set_interrupted(), vacuum_data_entry::set_vacuumed(), TEMP_BUFFER_SIZE, VACUUM_BLOCK_STATUS_IS_VACUUMED, VACUUM_BLOCKID_GET_FLAGS, VACUUM_BLOCKID_WITHOUT_FLAGS, vacuum_compare_blockids(), vacuum_data_empty_page(), vacuum_er_log, vacuum_er_log_error, VACUUM_ER_LOG_JOBS, VACUUM_ER_LOG_VACUUM_DATA, vacuum_er_log_warning, vacuum_fix_data_page, vacuum_set_dirty_data_page, vacuum_unfix_data_page, vacuum_update_keep_from_log_pageid(), VACUUM_VERIFY_VACUUM_DATA, vacuum_verify_vacuum_data_page_fix_count(), VPID_COPY, VPID_INITIALIZER, and VPID_ISNULL.
Referenced by vacuum_data::update(), and vacuum_finalize().
|
static |
Definition at line 2941 of file vacuum.c.
References log_global::append, assert, BO_IS_SERVER_RESTARTED, vacuum_master_task::check_shutdown(), vacuum_shutdown_sequence::check_shutdown_request(), vacuum_master_task::execute(), vacuum_data::first_page, vacuum_data_entry::get_blockid(), cubthread::get_manager(), vacuum_data_entry::is_available(), vacuum_master_task::is_cursor_entry_available(), vacuum_master_task::is_cursor_entry_ready_to_vacuum(), lockfree::circular_queue< T >::is_half_full(), vacuum_data_entry::is_job_in_progress(), vacuum_data::is_loaded, vacuum_master_task::is_task_queue_full(), vacuum_data_entry::is_vacuumed(), vacuum_data::last_page, log_Gl, log_global::mvcc_table, log_lsa::pageid, pgbuf_flush_if_requested(), pgbuf_get_vpid(), log_append_info::prev_lsa, prm_get_bool_value(), PRM_ID_DISABLE_VACUUM, PSTAT_VAC_MASTER, cubthread::manager::push_task(), vacuum_master_task::should_force_data_update(), vacuum_master_task::should_interrupt_iteration(), vacuum_data::shutdown_sequence, vacuum_master_task::start_job_on_cursor_entry(), mvcctable::update_global_oldest_visible(), vacuum_data_load_first_and_last_page(), vacuum_er_log, VACUUM_ER_LOG_JOBS, VACUUM_ER_LOG_MASTER, vacuum_job_cursor_print_args, vacuum_job_cursor_print_format, VACUUM_LOG_DATA_ENTRY_AS_ARGS, VACUUM_LOG_DATA_ENTRY_MSG, vacuum_unfix_first_and_last_data_page, vacuum_verify_vacuum_data_page_fix_count(), vacuum_data_load::vpid_first, and vacuum_data_load::vpid_last.
Referenced by vacuum_data_load_and_recover(), vacuum_finalize(), and vacuum_sa_reflect_last_blockid().
|
static |
Definition at line 6707 of file vacuum.c.
References DONT_FREE, log_append_undoredo_data(), vacuum_dropped_files_page::next_page, NULL, log_data_addr::offset, log_data_addr::pgptr, RVVAC_DROPPED_FILE_NEXT_PAGE, vacuum_set_dirty_dropped_entries_page, and log_data_addr::vfid.
Referenced by vacuum_add_dropped_file(), and vacuum_cleanup_dropped_files().
|
static |
Definition at line 7113 of file vacuum.c.
References ARG_FILE_LINE, assert, ER_FAILED, error(), log_page::hdr, LOG_CS_SAFE_READER, LOG_PAGESIZE, log_hdrpage::logical_pageid, logpb_fatal_error(), logpb_fetch_page(), NO_ERROR, NULL, log_lsa::offset, log_lsa::pageid, perfmon_inc_stat(), vacuum_worker::prefetch_first_pageid, vacuum_worker::prefetch_last_pageid, vacuum_worker::prefetch_log_buffer, PSTAT_VAC_NUM_PREFETCH_HITS_LOG_PAGES, PSTAT_VAC_NUM_PREFETCH_REQUESTS_LOG_PAGES, vacuum_er_log, VACUUM_ER_LOG_LOGGING, VACUUM_ER_LOG_WARNING, vacuum_get_vacuum_worker(), and vacuum_is_thread_vacuum().
Referenced by vacuum_process_log_block(), and vacuum_read_log_aligned().
void vacuum_finalize | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 1385 of file vacuum.c.
References ARG_FILE_LINE, assert, ER_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), i, lockfree::circular_queue< T >::is_empty(), vacuum_data::is_loaded, NO_ERROR, NULL, pgbuf_unfix_all(), prm_get_bool_value(), PRM_ID_DISABLE_VACUUM, pthread_mutex_destroy, vacuum_Block_data_buffer, vacuum_consume_buffer_log_blocks(), vacuum_data_empty_update_last_blockid(), vacuum_data_mark_finished(), vacuum_data_unload_first_and_last_page(), vacuum_Dropped_files_mutex, vacuum_finalize_worker(), vacuum_Finished_job_queue, vacuum_is_work_in_progress(), and VACUUM_MAX_WORKER_COUNT.
Referenced by vacuum_master_context_manager::on_daemon_retire(), vacuum_initialize(), and xvacuum().
|
static |
Definition at line 3601 of file vacuum.c.
References free_and_init, vacuum_worker::heap_objects, log_zip_free(), vacuum_worker::log_zip_p, NULL, vacuum_worker::prefetch_log_buffer, and vacuum_worker::undo_data_buffer.
Referenced by vacuum_finalize(), and vacuum_worker_allocate_resources().
|
static |
Definition at line 6507 of file vacuum.c.
References assert, ASSERT_ERROR_AND_SET, assert_release, ER_INTERRUPTED, error(), MVCC_ID_PRECEDES, vacuum_dropped_file::mvccid, NO_ERROR, NULL, PGBUF_LATCH_READ, pgbuf_notify_vacuum_follows(), PGBUF_PAGE_VPID_AS_ARGS, vacuum_compare_dropped_files(), vacuum_Dropped_files_count, vacuum_er_log, VACUUM_ER_LOG_DROPPED_FILES, VACUUM_ER_LOG_NONE, vacuum_fix_dropped_entries_page, VACUUM_IS_THREAD_VACUUM_MASTER, VACUUM_IS_THREAD_VACUUM_WORKER, vacuum_unfix_dropped_entries_page, vacuum_dropped_file::vfid, VFID_AS_ARGS, VPID_COPY, and VPID_ISNULL.
Referenced by vacuum_is_file_dropped().
|
static |
Definition at line 3636 of file vacuum.c.
References assert, assert_release, vacuum_data_entry::blockid, er_errid(), ER_INTERRUPTED, vacuum_data_entry::get_blockid(), lockfree::circular_queue< T >::is_half_full(), vacuum_shutdown_sequence::is_shutdown_requested(), lockfree::circular_queue< T >::produce(), vacuum_data_entry::set_interrupted(), vacuum_data_entry::set_vacuumed(), vacuum_data::shutdown_sequence, vacuum_er_log, VACUUM_ER_LOG_ERROR, vacuum_er_log_error, VACUUM_ER_LOG_JOBS, VACUUM_ER_LOG_VACUUM_DATA, VACUUM_ER_LOG_WARNING, vacuum_er_log_warning, VACUUM_ER_LOG_WORKER, and cubthread::daemon::wakeup().
Referenced by vacuum_process_log_block().
|
static |
Definition at line 7347 of file vacuum.c.
References assert, file_get_sticky_first_page(), and VFID_ISNULL.
Referenced by vacuum_initialize().
VACUUM_LOG_BLOCKID vacuum_get_log_blockid | ( | LOG_PAGEID | pageid | ) |
Definition at line 5612 of file vacuum.c.
References vacuum_data::log_block_npages, NULL_PAGEID, and VACUUM_NULL_LOG_BLOCKID.
Referenced by logpb_last_complete_blockid(), prior_lsa_next_record_internal(), prior_update_header_mvcc_info(), vacuum_data::set_last_blockid(), vacuum_consume_buffer_log_blocks(), vacuum_data_entry::vacuum_data_entry(), vacuum_process_log_block(), vacuum_recover_lost_block_data(), and vacuum_verify_vacuum_data_debug().
|
static |
Definition at line 1463 of file vacuum.c.
References er_clear(), vacuum_worker::heap_objects, HFID_INITIALIZER, HFID_SET_NULL, vacuum_worker::n_heap_objects, NO_ERROR, vacuum_heap_object::oid, db_identifier::pageid, vacuum_worker::state, vacuum_check_shutdown_interruption(), vacuum_compare_heap_object(), vacuum_er_log_error, VACUUM_ER_LOG_HEAP, vacuum_heap_page(), VACUUM_WORKER_STATE_EXECUTE, vacuum_heap_object::vfid, VFID_COPY, VFID_EQ, VFID_INITIALIZER, and db_identifier::volid.
Referenced by vacuum_process_log_block().
|
static |
Definition at line 2460 of file vacuum.c.
References assert, assert_release, er_clear(), ER_FAILED, ER_HEAP_UNKNOWN_OBJECT, file_descriptor_get(), file_get_type(), FILE_HEAP, FILE_HEAP_REUSE_SLOTS, file_type_to_string(), file_descriptors::heap, heap_get_class_info(), heap_get_class_oid_from_page(), file_heap_des::hfid, vacuum_heap_helper::hfid, HFID_AS_ARGS, HFID_IS_NULL, vacuum_heap_helper::home_page, NO_ERROR, NULL, OID_AS_ARGS, OID_INITIALIZER, OID_ISNULL, PGBUF_PAGE_VPID_AS_ARGS, vacuum_heap_helper::reusable, VACUUM_ER_LOG_DROPPED_FILES, vacuum_er_log_error, VACUUM_ER_LOG_HEAP, vacuum_er_log_warning, and VFID_ISNULL.
Referenced by vacuum_heap_page().
int vacuum_heap_page | ( | THREAD_ENTRY * | thread_p, |
VACUUM_HEAP_OBJECT * | heap_objects, | ||
int | n_heap_objects, | ||
MVCCID | threshold_mvccid, | ||
HFID * | hfid, | ||
bool * | reusable, | ||
bool | was_interrupted | ||
) |
Definition at line 1546 of file vacuum.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, vacuum_heap_helper::can_vacuum, vacuum_heap_helper::crt_slotid, DISK_INVALID, DONT_FREE, vfid::fileid, vacuum_heap_helper::forward_page, HEAP_ISVALID_OID, heap_page_get_vacuum_status(), heap_page_set_vacuum_status_none(), HEAP_PAGE_VACUUM_NONE, HEAP_PAGE_VACUUM_ONCE, heap_remove_page_on_vacuum(), vacuum_heap_helper::hfid, HFID_AS_ARGS, HFID_IS_NULL, vacuum_heap_helper::home_page, vacuum_heap_helper::home_vpid, i, vacuum_heap_helper::initial_home_free_space, vacuum_heap_helper::mvcc_header, mvcc_satisfies_vacuum(), MVCCID_IS_NORMAL, vacuum_heap_helper::n_bulk_vacuumed, vacuum_heap_helper::n_vacuumed, NO_ERROR, NULL, vacuum_heap_object::oid, OLD_PAGE, vacuum_heap_helper::overflow_vfid, PAGE_FTAB, PAGE_HEAP, vpid::pageid, db_identifier::pageid, pgbuf_check_page_ptype(), pgbuf_fix, pgbuf_fix_if_not_deallocated, pgbuf_get_page_ptype(), pgbuf_has_any_non_vacuum_waiters(), pgbuf_has_prevent_dealloc(), PGBUF_LATCH_WRITE, PGBUF_PAGE_STATE_ARGS, pgbuf_set_dirty(), PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, REC_BIGONE, REC_HOME, REC_RELOCATION, vacuum_heap_helper::record_type, vacuum_heap_helper::results, vacuum_heap_helper::reusable, db_identifier::slotid, vacuum_heap_helper::slots, spage_get_free_space_without_saving(), spage_number_of_records(), vacuum_check_shutdown_interruption(), vacuum_er_log, vacuum_er_log_error, VACUUM_ER_LOG_HEAP, vacuum_er_log_warning, VACUUM_ER_LOG_WORKER, vacuum_heap_get_hfid_and_file_type(), vacuum_heap_page_log_and_reset(), vacuum_heap_prepare_record(), vacuum_heap_record(), vacuum_heap_record_insid_and_prev_version(), VACUUM_IS_THREAD_VACUUM_MASTER, VACUUM_IS_THREAD_VACUUM_WORKER, vacuum_log_vacuum_heap_page(), VACUUM_PERF_HEAP_START, VACUUM_PERF_HEAP_TRACK_EXECUTE, VACUUM_PERF_HEAP_TRACK_LOGGING, VACUUM_PERF_HEAP_TRACK_PREPARE, VACUUM_RECORD_DELETE_INSID_PREV_VER, VACUUM_RECORD_REMOVE, vacuum_heap_object::vfid, VFID_SET_NULL, vpid::volid, vfid::volid, db_identifier::volid, VPID_AS_ARGS, and VPID_GET_FROM_OID.
Referenced by heap_vacuum_all_objects(), and vacuum_heap().
|
static |
Definition at line 2549 of file vacuum.c.
References assert, DONT_FREE, heap_stats_update(), vacuum_heap_helper::hfid, HFID_IS_NULL, vacuum_heap_helper::home_page, vacuum_heap_helper::initial_home_free_space, vacuum_heap_helper::n_bulk_vacuumed, NULL, pgbuf_set_dirty(), pgbuf_unfix_and_init, vacuum_heap_helper::results, vacuum_heap_helper::reusable, vacuum_heap_helper::slots, spage_compact(), spage_need_compact(), vacuum_log_vacuum_heap_page(), VACUUM_PERF_HEAP_TRACK_EXECUTE, and VACUUM_PERF_HEAP_TRACK_LOGGING.
Referenced by vacuum_heap_page(), vacuum_heap_prepare_record(), and vacuum_heap_record().
|
static |
Definition at line 1890 of file vacuum.c.
References recdes::area_size, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, COPY, COPY_OID, vacuum_heap_helper::crt_slotid, recdes::data, ER_FAILED, vacuum_heap_helper::forward_link, vacuum_heap_helper::forward_oid, vacuum_heap_helper::forward_page, vacuum_heap_helper::forward_recdes, heap_get_mvcc_rec_header_from_overflow(), heap_ovf_find_vfid(), vacuum_heap_helper::hfid, HFID_IS_NULL, vacuum_heap_helper::home_page, vacuum_heap_helper::home_vpid, MAX_ALIGNMENT, vacuum_heap_helper::mvcc_header, NO_ERROR, NULL, OLD_PAGE, or_mvcc_get_header(), vacuum_heap_helper::overflow_vfid, PGBUF_CONDITIONAL_LATCH, pgbuf_fix, pgbuf_get_condition_for_ordered_fix(), pgbuf_get_vpid(), pgbuf_get_vpid_ptr(), PGBUF_LATCH_WRITE, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, PTR_ALIGN, REC_BIGONE, vacuum_heap_helper::rec_buf, REC_HOME, REC_MARKDELETED, REC_RELOCATION, vacuum_heap_helper::record, spage_slot::record_type, vacuum_heap_helper::record_type, S_SUCCESS, db_identifier::slotid, spage_get_record(), spage_get_slot(), vacuum_check_shutdown_interruption(), vacuum_er_log_error, VACUUM_ER_LOG_HEAP, vacuum_heap_page_log_and_reset(), VACUUM_PERF_HEAP_TRACK_PREPARE, VFID_ISNULL, VPID_AS_ARGS, VPID_EQ, VPID_GET_FROM_OID, VPID_INITIALIZER, and VPID_ISNULL.
Referenced by vacuum_heap_page().
|
static |
Definition at line 2326 of file vacuum.c.
References assert, assert_release, vacuum_heap_helper::can_vacuum, vacuum_heap_helper::crt_slotid, DONT_FREE, ER_FAILED, vacuum_heap_helper::forward_oid, vacuum_heap_helper::forward_page, vacuum_heap_helper::forward_recdes, FREE, heap_ovf_delete(), vacuum_heap_helper::hfid, HFID_IS_NULL, vacuum_heap_helper::home_page, log_sysop_abort(), log_sysop_commit(), log_sysop_start(), vacuum_heap_helper::mvcc_header, MVCC_IS_HEADER_DELID_VALID, vacuum_heap_helper::n_bulk_vacuumed, vacuum_heap_helper::n_vacuumed, NO_ERROR, NULL, OID_ISNULL, vacuum_heap_helper::overflow_vfid, perfmon_inc_stat(), pgbuf_set_dirty(), pgbuf_unfix_and_init, PSTAT_HEAP_BIG_VACUUMS, PSTAT_HEAP_HOME_VACUUMS, PSTAT_HEAP_REL_VACUUMS, PSTAT_HEAP_REMOVE_VACUUMS, REC_BIGONE, REC_HOME, REC_RELOCATION, vacuum_heap_helper::record, vacuum_heap_helper::record_type, vacuum_heap_helper::results, vacuum_heap_helper::reusable, db_identifier::slotid, vacuum_heap_helper::slots, spage_vacuum_slot(), vacuum_heap_page_log_and_reset(), vacuum_log_redoundo_vacuum_record(), VACUUM_PERF_HEAP_TRACK_EXECUTE, VACUUM_PERF_HEAP_TRACK_LOGGING, VACUUM_RECORD_REMOVE, and VFID_ISNULL.
Referenced by vacuum_heap_page().
|
static |
Definition at line 2160 of file vacuum.c.
References assert, ASSERT_ERROR, assert_release, vacuum_heap_helper::can_vacuum, CAST_BUFLEN, vacuum_heap_helper::crt_slotid, recdes::data, ER_FAILED, vacuum_heap_helper::forward_oid, vacuum_heap_helper::forward_page, FREE, heap_set_mvcc_rec_header_on_overflow(), vacuum_heap_helper::home_page, vacuum_heap_helper::home_vpid, recdes::length, LSA_SET_NULL(), MVCC_GET_CHN, MVCC_GET_DELID, MVCC_GET_FLAG, MVCC_GET_INSID, MVCC_GET_REPID, vacuum_heap_helper::mvcc_header, mvcc_header_size_lookup, MVCC_IS_HEADER_INSID_NOT_ALL_VISIBLE, MVCC_SET_INSID, MVCCID_ALL_VISIBLE, vacuum_heap_helper::n_bulk_vacuumed, vacuum_heap_helper::n_vacuumed, NO_ERROR, NULL, OID_ISNULL, OR_GET_MVCC_REPID_AND_FLAG, OR_MVCC_FLAG_MASK, OR_MVCC_FLAG_SHIFT_BITS, OR_MVCC_FLAG_VALID_DELID, OR_MVCC_FLAG_VALID_INSID, OR_MVCC_FLAG_VALID_PREV_VERSION, OR_MVCC_INSERT_ID_OFFSET, OR_MVCCID_SIZE, OR_PUT_INT, vpid::pageid, perfmon_inc_stat(), pgbuf_set_dirty(), mvcc_rec_header::prev_version_lsa, PSTAT_HEAP_BIG_VACUUMS, PSTAT_HEAP_HOME_VACUUMS, PSTAT_HEAP_INSID_VACUUMS, PSTAT_HEAP_REL_VACUUMS, REC_BIGONE, REC_HOME, REC_NEWHOME, REC_RELOCATION, vacuum_heap_helper::record, vacuum_heap_helper::record_type, vacuum_heap_helper::results, vacuum_heap_helper::reusable, db_identifier::slotid, vacuum_heap_helper::slots, SP_SUCCESS, spage_update(), recdes::type, vacuum_er_log_error, VACUUM_ER_LOG_HEAP, vacuum_log_remove_ovf_insid(), vacuum_log_vacuum_heap_page(), VACUUM_RECORD_DELETE_INSID_PREV_VER, and vpid::volid.
Referenced by vacuum_heap_page().
|
static |
Definition at line 7887 of file vacuum.c.
References vacuum_data_entry::blockid, vacuum_data_page::data, DONT_FREE, log_append_redo_data2(), NULL, RVVAC_DATA_INIT_NEW_PAGE, vacuum_data_initialize_new_page(), and vacuum_set_dirty_data_page.
Referenced by vacuum_consume_buffer_log_blocks(), vacuum_create_file_for_vacuum_data(), vacuum_data_empty_page(), vacuum_data_empty_update_last_blockid(), and vacuum_reset_data_after_copydb().
void vacuum_init_thread_context | ( | cubthread::entry & | context, |
thread_type | type, | ||
VACUUM_WORKER * | worker | ||
) |
Definition at line 754 of file vacuum.c.
References assert, cubthread::entry::check_interrupt, cubthread::entry::claim_system_worker(), cubthread::entry::get_system_tdes(), NULL, cubthread::entry::type, and cubthread::entry::vacuum_worker.
Referenced by vacuum_worker_context_manager::on_create(), and vacuum_master_context_manager::on_daemon_create().
int vacuum_initialize | ( | THREAD_ENTRY * | thread_p, |
int | vacuum_log_block_npages, | ||
VFID * | vacuum_data_vfid, | ||
VFID * | dropped_files_vfid, | ||
bool | is_restore | ||
) |
Definition at line 1160 of file vacuum.c.
References vacuum_worker::allocated_resources, assert, DB_PAGESIZE, vacuum_worker::drop_files_version, ER_FAILED, error(), vacuum_worker::heap_objects, vacuum_worker::heap_objects_capacity, i, vacuum_data::is_restoredb_session, vacuum_data::log_block_npages, vacuum_worker::log_zip_p, NO_ERROR, NULL, NULL_PAGEID, vacuum_data::page_data_max_count, pgbuf_assign_private_lru(), vacuum_worker::prefetch_first_pageid, vacuum_worker::prefetch_last_pageid, vacuum_worker::prefetch_log_buffer, vacuum_worker::private_lru_index, prm_get_bool_value(), PRM_ID_DISABLE_VACUUM, pthread_mutex_init, vacuum_worker::state, vacuum_worker::undo_data_buffer, vacuum_worker::undo_data_buffer_capacity, VACUUM_BLOCK_DATA_BUFFER_CAPACITY, vacuum_data::vacuum_data_file, VACUUM_DATA_PAGE_HEADER_SIZE, vacuum_Dropped_files_count, vacuum_Dropped_files_loaded, vacuum_Dropped_files_mutex, vacuum_Dropped_files_version, vacuum_finalize(), VACUUM_FINISHED_JOB_QUEUE_CAPACITY, vacuum_get_first_page_dropped_files(), VACUUM_MAX_WORKER_COUNT, VACUUM_WORKER_STATE_EXECUTE, VACUUM_WORKER_STATE_INACTIVE, VFID_COPY, VFID_SET_NULL, and VPID_ISNULL.
Referenced by boot_restart_server(), and xboot_emergency_patch().
|
static |
Definition at line 7629 of file vacuum.c.
References assert, vacuum_data::first_page, vacuum_data_page::index_free, vacuum_data_page::index_unvacuumed, and vacuum_data::last_page.
Referenced by vacuum_consume_buffer_log_blocks(), vacuum_data_empty_update_last_blockid(), vacuum_data_load_and_recover(), and vacuum_update_keep_from_log_pageid().
int vacuum_is_file_dropped | ( | THREAD_ENTRY * | thread_p, |
bool * | is_file_dropped, | ||
VFID * | vfid, | ||
MVCCID | mvccid | ||
) |
Definition at line 6485 of file vacuum.c.
References NO_ERROR, prm_get_bool_value(), PRM_ID_DISABLE_VACUUM, and vacuum_find_dropped_file().
Referenced by file_create(), file_tracker_item_reuse_heap(), and vacuum_process_log_record().
Definition at line 7361 of file vacuum.c.
References vacuum_data::oldest_unvacuumed_mvccid.
Referenced by btree_prepare_bts(), heap_page_update_chain_after_mvcc_op(), mvcc_satisfies_delete(), mvcc_satisfies_dirty(), mvcc_satisfies_snapshot(), and xheap_reclaim_addresses().
bool vacuum_is_safe_to_remove_archives | ( | void | ) |
Definition at line 5650 of file vacuum.c.
References vacuum_data::is_archive_removal_safe.
Referenced by logpb_remove_archive_logs(), and logpb_remove_archive_logs_exceed_limit().
|
static |
Definition at line 4506 of file vacuum.c.
References i, VACUUM_MAX_WORKER_COUNT, and VACUUM_WORKER_STATE_INACTIVE.
Referenced by vacuum_finalize().
int vacuum_load_dropped_files_from_disk | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 4261 of file vacuum.c.
References ARG_FILE_LINE, assert, assert_release, DB_PAGESIZE, vacuum_track_dropped_files::dropped_data_page, ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), free_and_init, vacuum_dropped_files_page::n_dropped_files, vacuum_dropped_files_page::next_page, vacuum_track_dropped_files::next_tracked_page, NO_ERROR, NULL, PGBUF_LATCH_READ, vacuum_Dropped_files_count, vacuum_Dropped_files_loaded, vacuum_fix_dropped_entries_page, VACUUM_TRACK_DROPPED_FILES_SIZE, vacuum_unfix_dropped_entries_page, VFID_ISNULL, VPID_COPY, and VPID_ISNULL.
Referenced by vacuum_add_dropped_file(), and vacuum_boot().
void vacuum_log_add_dropped_file | ( | THREAD_ENTRY * | thread_p, |
const VFID * | vfid, | ||
const OID * | class_oid, | ||
bool | pospone_or_undo | ||
) |
Definition at line 6024 of file vacuum.c.
References vacuum_dropped_files_rcv_data::class_oid, COPY_OID, vfid::fileid, log_append_postpone(), log_append_undo_data(), NULL, log_data_addr::offset, OID_SET_NULL, log_data_addr::pgptr, RVVAC_NOTIFY_DROPPED_FILE, vacuum_er_log, VACUUM_ER_LOG_DROPPED_FILES, VACUUM_LOG_ADD_DROPPED_FILE_POSTPONE, log_data_addr::vfid, vacuum_dropped_files_rcv_data::vfid, VFID_COPY, and vfid::volid.
Referenced by heap_create_internal(), xbtree_add_index(), xbtree_delete_index(), xbtree_load_index(), xheap_destroy(), and xheap_destroy_newly_created().
|
static |
Definition at line 6617 of file vacuum.c.
References assert, log_crumb::data, log_crumb::length, log_append_redo_crumbs(), log_data_addr::offset, log_data_addr::pgptr, RVVAC_DROPPED_FILE_CLEANUP, VACUUM_CLEANUP_DROPPED_FILES_MAX_REDO_CRUMBS, vacuum_Dropped_files_vfid, and log_data_addr::vfid.
Referenced by vacuum_cleanup_dropped_files().
|
static |
Definition at line 7063 of file vacuum.c.
References assert, ER_FAILED, error(), vacuum_data_entry::get_blockid(), LOG_CS_SAFE_READER, LOG_PAGESIZE, logpb_fetch_page(), NO_ERROR, NULL, log_lsa::offset, log_lsa::pageid, vacuum_worker::prefetch_first_pageid, vacuum_worker::prefetch_last_pageid, vacuum_worker::prefetch_log_buffer, vacuum_er_log, VACUUM_ER_LOG_ERROR, vacuum_er_log_error, VACUUM_ER_LOG_MASTER, VACUUM_FIRST_LOG_PAGEID_IN_BLOCK, vacuum_get_vacuum_worker(), and VACUUM_PREFETCH_LOG_BLOCK_BUFFER_PAGES.
Referenced by vacuum_process_log_block().
|
static |
Definition at line 7384 of file vacuum.c.
References assert, log_crumb::data, recdes::data, log_crumb::length, recdes::length, log_append_undoredo_crumbs(), NULL, log_data_addr::offset, log_data_addr::pgptr, RVVAC_HEAP_RECORD_VACUUM, recdes::type, VACUUM_LOG_VACUUM_HEAP_REUSABLE, and log_data_addr::vfid.
Referenced by vacuum_heap_record().
|
static |
Definition at line 2818 of file vacuum.c.
References log_append_redo_data2(), NULL, and RVVAC_REMOVE_OVF_INSID.
Referenced by vacuum_heap_record_insid_and_prev_version().
|
static |
Definition at line 2613 of file vacuum.c.
References assert, i, log_append_redo_data(), MAX_ALIGNMENT, MAX_SLOTS_IN_PAGE, NULL, log_data_addr::offset, OR_OID_SIZE, log_data_addr::pgptr, PTR_ALIGN, RVVAC_HEAP_PAGE_VACUUM, VACUUM_LOG_VACUUM_HEAP_ALL_VACUUMED, VACUUM_LOG_VACUUM_HEAP_REUSABLE, VACUUM_RECORD_DELETE_INSID_PREV_VER, VACUUM_RECORD_REMOVE, and log_data_addr::vfid.
Referenced by vacuum_heap_page(), vacuum_heap_page_log_and_reset(), and vacuum_heap_record_insid_and_prev_version().
LOG_PAGEID vacuum_min_log_pageid_to_keep | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 5625 of file vacuum.c.
References vacuum_data::keep_from_log_pageid, NULL_PAGEID, prm_get_bool_value(), and PRM_ID_DISABLE_VACUUM.
Referenced by logpb_backup(), logpb_remove_archive_logs(), logpb_remove_archive_logs_exceed_limit(), and xvacuum_dump().
|
static |
Definition at line 6233 of file vacuum.c.
References assert, LOG_ISRESTARTED, pthread_mutex_lock, pthread_mutex_unlock, thread_sleep(), vacuum_Dropped_files_mutex, vacuum_Dropped_files_version, vacuum_er_log, VACUUM_ER_LOG_DROPPED_FILES, VFID_AS_ARGS, VFID_COPY, VFID_ISNULL, and VFID_SET_NULL.
Referenced by vacuum_rv_notify_dropped_file().
void vacuum_notify_server_crashed | ( | LOG_LSA * | recovery_lsa | ) |
Definition at line 7468 of file vacuum.c.
References LSA_COPY(), and vacuum_data::recovery_lsa.
Referenced by log_recovery().
void vacuum_notify_server_shutdown | ( | void | ) |
Definition at line 7480 of file vacuum.c.
References vacuum_shutdown_sequence::request_shutdown(), and vacuum_data::shutdown_sequence.
Referenced by vacuum_stop_workers().
|
static |
Definition at line 3174 of file vacuum.c.
References ARG_FILE_LINE, assert, ASSERT_NO_ERROR, assert_release, BTID_AS_ARGS, btree_rv_read_keybuf_nocopy(), btree_rv_read_keybuf_two_objects(), btree_vacuum_insert_mvccid(), btree_vacuum_object(), btree_object_info::class_oid, COPY_OID, db_private_free_and_init, btree_mvcc_info::delete_mvccid, er_clear(), ER_ERROR_SEVERITY, ER_INTERRUPTED, er_set(), es_delete_file(), vfid::fileid, vacuum_data_entry::get_blockid(), mvcctable::get_global_oldest_visible(), log_page::hdr, heap_rv_remove_flags_from_offset(), btree_mvcc_info::insert_mvccid, IO_MAX_PAGE_SIZE, vacuum_data::log_block_npages, LOG_FIND_CURRENT_TDES(), log_Gl, LOG_IS_MVCC_BTREE_OPERATION, LOG_IS_MVCC_HEAP_OPERATION, log_hdrpage::logical_pageid, logpb_fatal_error(), logtb_get_check_interrupt(), logtb_is_interrupted(), LSA_AS_ARGS, LSA_COPY(), LSA_ISNULL(), LSA_SET_NULL(), MAX_ALIGNMENT, MVCC_ID_FOLLOW_OR_EQUAL, MVCC_ID_PRECEDES, log_global::mvcc_table, MVCCID_ALL_VISIBLE, MVCCID_IS_VALID, vacuum_worker::n_heap_objects, vacuum_data_entry::newest_mvccid, NO_ERROR, NULL, NULL_OFFSET, NULL_PAGEID, log_lsa::offset, log_hdrpage::offset, log_data::offset, btree_object_info::oid, OID_AS_ARGS, OID_ISNULL, vacuum_data_entry::oldest_visible_mvccid, or_unpack_string(), log_lsa::pageid, log_data::pageid, db_identifier::pageid, perfmon_add_stat(), pgbuf_unfix_all(), log_vacuum_info::prev_mvcc_op_log_lsa, prm_get_bool_value(), PRM_ID_DISABLE_VACUUM, PSTAT_VAC_JOB, PSTAT_VAC_NUM_VACUUMED_LOG_PAGES, PSTAT_VAC_WORKER_EXECUTE, PSTAT_VAC_WORKER_PROCESS_LOG, PTR_ALIGN, log_data::rcvindex, RVBT_MVCC_DELETE_OBJECT, RVBT_MVCC_INSERT_OBJECT, RVBT_MVCC_INSERT_OBJECT_UNQ, RVBT_MVCC_NOTIFY_VACUUM, RVES_NOTIFY_VACUUM, db_identifier::slotid, vacuum_data_entry::start_lsa, vacuum_worker::state, btid_int::sys_btid, vacuum_check_shutdown_interruption(), vacuum_collect_heap_objects(), vacuum_er_log, VACUUM_ER_LOG_BTREE, VACUUM_ER_LOG_DROPPED_FILES, vacuum_er_log_error, VACUUM_ER_LOG_HEAP, VACUUM_ER_LOG_JOBS, VACUUM_ER_LOG_WORKER, vacuum_fetch_log_page(), vacuum_finished_block_vacuum(), VACUUM_FIRST_LOG_PAGEID_IN_BLOCK, vacuum_get_log_blockid(), vacuum_get_vacuum_worker(), vacuum_heap(), VACUUM_LOG_DATA_ENTRY_AS_ARGS, VACUUM_LOG_DATA_ENTRY_MSG, vacuum_log_prefetch_vacuum_block(), vacuum_process_log_record(), VACUUM_WORKER_STATE_EXECUTE, VACUUM_WORKER_STATE_INACTIVE, VACUUM_WORKER_STATE_PROCESS_LOG, log_vacuum_info::vfid, VFID_AS_ARGS, VFID_SET_NULL, log_data::volid, vfid::volid, db_identifier::volid, and vacuum_data_entry::was_interrupted().
Referenced by vacuum_worker_task::execute().
|
static |
Definition at line 3818 of file vacuum.c.
References log_page::area, ARG_FILE_LINE, assert, log_rec_undoredo::data, log_rec_undo::data, log_zip::data_length, vacuum_worker::drop_files_version, ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, er_set(), GET_ZIP_LEN, i, log_rec_undo::length, log_zip::log_data, LOG_GET_LOG_RECORD_HEADER, LOG_IS_MVCC_BTREE_OPERATION, LOG_MVCC_DIFF_UNDOREDO_DATA, LOG_MVCC_UNDO_DATA, LOG_MVCC_UNDOREDO_DATA, LOG_SMALLER_LOGREC_TYPE, LOG_SYSOP_END, LOG_SYSOP_END_LOGICAL_MVCC_UNDO, log_unzip(), vacuum_worker::log_zip_p, LOGAREA_SIZE, logpb_fatal_error(), LSA_COPY(), LSA_SET_NULL(), log_rec_sysop_end::mvcc_undo, log_rec_mvcc_undoredo::mvccid, log_rec_mvcc_undo::mvccid, NO_ERROR, NULL, log_lsa::offset, log_vacuum_info::prev_mvcc_op_log_lsa, log_data::rcvindex, RVES_NOTIFY_VACUUM, log_rec_header::type, log_rec_sysop_end::type, log_rec_undoredo::ulength, log_rec_mvcc_undo::undo, vacuum_worker::undo_data_buffer, vacuum_worker::undo_data_buffer_capacity, log_rec_mvcc_undoredo::undoredo, vacuum_check_shutdown_interruption(), vacuum_cleanup_collected_by_vfid(), vacuum_copy_data_from_log(), vacuum_Dropped_files_version, vacuum_er_log, VACUUM_ER_LOG_DROPPED_FILES, vacuum_er_log_error, VACUUM_ER_LOG_LOGGING, VACUUM_ER_LOG_WORKER, log_rec_mvcc_undoredo::vacuum_info, log_rec_mvcc_undo::vacuum_info, vacuum_is_file_dropped(), VACUUM_MAX_WORKER_COUNT, vacuum_read_advance_when_doesnt_fit(), vacuum_read_log_add_aligned(), VACUUM_WORKER_STATE_INACTIVE, log_vacuum_info::vfid, VFID_COPY, VFID_ISNULL, VFID_SET_NULL, and ZIP_CHECK.
Referenced by vacuum_process_log_block(), and vacuum_recover_lost_block_data().
void vacuum_produce_log_block_data | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 2867 of file vacuum.c.
References assert, log_header::does_block_need_vacuum, log_global::hdr, vacuum_data::log_block_npages, log_Gl, LSA_AS_ARGS, MVCCID_NULL, log_header::newest_block_mvccid, NULL, perfmon_add_stat(), prm_get_bool_value(), PRM_ID_DISABLE_VACUUM, lockfree::circular_queue< T >::produce(), PSTAT_VAC_NUM_TO_VACUUM_LOG_PAGES, vacuum_er_log, VACUUM_ER_LOG_ERROR, vacuum_er_log_error, VACUUM_ER_LOG_LOGGING, and VACUUM_ER_LOG_VACUUM_DATA.
Referenced by prior_lsa_next_record_internal().
|
static |
Definition at line 3750 of file vacuum.c.
References LOGAREA_SIZE, log_lsa::offset, and vacuum_read_log_aligned().
Referenced by vacuum_copy_data_from_log(), and vacuum_process_log_record().
|
static |
Definition at line 3735 of file vacuum.c.
References log_lsa::offset, and vacuum_read_log_aligned().
Referenced by vacuum_process_log_record().
|
static |
Definition at line 3709 of file vacuum.c.
References ARG_FILE_LINE, DB_ALIGN, DOUBLE_ALIGNMENT, LOGAREA_SIZE, logpb_fatal_error(), NO_ERROR, log_lsa::offset, log_lsa::pageid, and vacuum_fetch_log_page().
Referenced by vacuum_read_advance_when_doesnt_fit(), and vacuum_read_log_add_aligned().
|
static |
Definition at line 5375 of file vacuum.c.
References log_page::area, ARG_FILE_LINE, assert, ASSERT_ERROR, log_rec_header::back_lsa, vacuum_data_entry::blockid, log_rec_redo::data, log_header::does_block_need_vacuum, ER_FAILED, mvcctable::get_global_oldest_visible(), vacuum_data::get_last_blockid(), log_page::hdr, log_global::hdr, IO_MAX_PAGE_SIZE, LOG_CS_SAFE_READER, LOG_GET_LOG_RECORD_HEADER, log_Gl, LOG_MVCC_DIFF_UNDOREDO_DATA, LOG_MVCC_UNDO_DATA, LOG_MVCC_UNDOREDO_DATA, LOG_READ_ADD_ALIGN, LOG_READ_ADVANCE_WHEN_DOESNT_FIT, LOG_REDO_DATA, LOG_SYSOP_END, LOG_SYSOP_END_LOGICAL_MVCC_UNDO, log_hdrpage::logical_pageid, logpb_fatal_error(), logpb_fetch_page(), logpb_vacuum_reset_log_header_cache(), LSA_AS_ARGS, LSA_COPY(), LSA_INITIALIZER, LSA_ISNULL(), MAX_ALIGNMENT, MVCC_ID_PRECEDES, log_header::mvcc_op_log_lsa, log_global::mvcc_table, MVCCID_NULL, log_header::newest_block_mvccid, vacuum_data_entry::newest_mvccid, NO_ERROR, NULL, NULL_OFFSET, NULL_PAGEID, log_lsa::offset, log_hdrpage::offset, vacuum_data_entry::oldest_visible_mvccid, log_header::oldest_visible_mvccid, log_lsa::pageid, log_vacuum_info::prev_mvcc_op_log_lsa, log_global::prior_info, log_prior_lsa_info::prior_lsa, lockfree::circular_queue< T >::produce(), PTR_ALIGN, log_data::rcvindex, vacuum_data::recovery_lsa, RVVAC_COMPLETE, vacuum_data_entry::start_lsa, log_rec_header::type, log_rec_sysop_end::type, vacuum_consume_buffer_log_blocks(), vacuum_convert_thread_to_master(), vacuum_er_log, VACUUM_ER_LOG_RECOVERY, VACUUM_ER_LOG_VACUUM_DATA, VACUUM_FIRST_LOG_PAGEID_IN_BLOCK, vacuum_get_log_blockid(), VACUUM_LAST_LOG_PAGEID_IN_BLOCK, vacuum_process_log_record(), and vacuum_restore_thread().
Referenced by vacuum_data_load_and_recover().
int vacuum_reset_data_after_copydb | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 7849 of file vacuum.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, file_descriptor_get(), vacuum_data::first_page, vacuum_data_page::index_free, vacuum_data::last_page, vacuum_data_page::next_page, NO_ERROR, NULL, PGBUF_PAGE_STATE_ARGS, file_descriptors::vacuum_data, vacuum_data::vacuum_data_file, vacuum_er_log, VACUUM_ER_LOG_VACUUM_DATA, vacuum_fix_data_page, vacuum_init_data_page_with_last_blockid(), VACUUM_NULL_LOG_BLOCKID, vacuum_unfix_first_and_last_data_page, VFID_ISNULL, file_vacuum_data_des::vpid_first, and VPID_ISNULL.
Referenced by boot_after_copydb().
|
static |
Definition at line 7754 of file vacuum.c.
References LOG_SYSTEM_TRAN_INDEX, NULL, and thread_get_thread_entry_info().
Referenced by vacuum_recover_lost_block_data(), and xvacuum().
int vacuum_rv_check_at_undo | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | pgptr, | ||
INT16 | slotid, | ||
INT16 | rec_type | ||
) |
Definition at line 7525 of file vacuum.c.
References recdes::area_size, assert, assert_release, COPY, recdes::data, DB_PAGESIZE, DONT_FREE, ER_FAILED, mvcctable::get_global_oldest_visible(), heap_get_mvcc_rec_header_from_overflow(), heap_set_mvcc_rec_header_on_overflow(), IO_MAX_PAGE_SIZE, log_Gl, log_is_in_crash_recovery(), LSA_SET_NULL(), MAX_ALIGNMENT, MVCC_CLEAR_FLAG_BITS, MVCC_IS_FLAG_SET, mvcc_satisfies_vacuum(), MVCC_SET_INSID, log_global::mvcc_table, MVCCID_ALL_VISIBLE, NO_ERROR, OR_MVCC_FLAG_VALID_INSID, OR_MVCC_FLAG_VALID_PREV_VERSION, or_mvcc_get_header(), or_mvcc_set_header(), pgbuf_set_dirty(), mvcc_rec_header::prev_version_lsa, PTR_ALIGN, REC_BIGONE, RECDES_INITIALIZER, S_SUCCESS, SP_SUCCESS, spage_get_record(), spage_update(), recdes::type, VACUUM_RECORD_CANNOT_VACUUM, VACUUM_RECORD_DELETE_INSID_PREV_VER, and VACUUM_RECORD_REMOVE.
Referenced by heap_rv_undo_delete(), heap_rv_undo_ovf_update(), and heap_rv_undo_update().
int vacuum_rv_es_nop | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 7774 of file vacuum.c.
References assert, INT_ALIGNMENT, log_append_undo_data(), NO_ERROR, NULL, log_data_addr::offset, or_pack_string(), or_packed_string_length(), log_data_addr::pgptr, PTR_ALIGN, RVES_NOTIFY_VACUUM, and log_data_addr::vfid.
int vacuum_rv_notify_dropped_file | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 6289 of file vacuum.c.
References vacuum_dropped_files_rcv_data::class_oid, log_rcv::data, error(), log_global::hdr, heap_delete_hfid_from_cache(), log_Gl, log_header::mvcc_next_id, NO_ERROR, OID_ISNULL, vacuum_add_dropped_file(), vacuum_notify_all_workers_dropped_file(), and vacuum_dropped_files_rcv_data::vfid.
int vacuum_rv_redo_add_dropped_file | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 6065 of file vacuum.c.
References assert, assert_release, log_rcv::data, DONT_FREE, vacuum_dropped_files_page::dropped_files, ER_FAILED, log_global::hdr, if(), log_rcv::length, log_Gl, MVCC_ID_PRECEDES, log_header::mvcc_next_id, vacuum_dropped_file::mvccid, MVCCID_FORWARD, MVCCID_IS_VALID, vacuum_dropped_files_page::n_dropped_files, NO_ERROR, NULL, log_rcv::offset, PGBUF_PAGE_STATE_ARGS, pgbuf_set_dirty(), log_rcv::pgptr, vacuum_er_log, VACUUM_ER_LOG_DROPPED_FILES, vacuum_er_log_error, VACUUM_ER_LOG_RECOVERY, vacuum_dropped_file::vfid, VFID_AS_ARGS, VFID_COPY, and VFID_ISNULL.
int vacuum_rv_redo_append_data | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 5321 of file vacuum.c.
References assert, vacuum_data_page::data, log_rcv::data, DONT_FREE, vacuum_data_page::index_free, log_rcv::length, NO_ERROR, NULL, log_rcv::offset, pgbuf_set_dirty(), and log_rcv::pgptr.
void vacuum_rv_redo_append_data_dump | ( | FILE * | fp, |
int | length, | ||
void * | data | ||
) |
Definition at line 5346 of file vacuum.c.
References assert, vacuum_data_entry::blockid, vacuum_data_entry::newest_mvccid, NULL, log_lsa::offset, vacuum_data_entry::oldest_visible_mvccid, log_lsa::pageid, and vacuum_data_entry::start_lsa.
int vacuum_rv_redo_cleanup_dropped_files | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 6652 of file vacuum.c.
References assert, log_rcv::data, DONT_FREE, vacuum_dropped_files_page::dropped_files, vfid::fileid, i, log_rcv::length, vacuum_dropped_file::mvccid, vacuum_dropped_files_page::n_dropped_files, NO_ERROR, pgbuf_set_dirty(), log_rcv::pgptr, vacuum_er_log, VACUUM_ER_LOG_DROPPED_FILES, VACUUM_ER_LOG_RECOVERY, vacuum_dropped_file::vfid, and vfid::volid.
int vacuum_rv_redo_data_finished | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 4896 of file vacuum.c.
References assert, vacuum_data_entry::blockid, vacuum_data_page::data, log_rcv::data, DONT_FREE, vacuum_data_entry::get_blockid(), vacuum_data_page::index_free, vacuum_data_page::index_unvacuumed, vacuum_data_entry::is_vacuumed(), log_rcv::length, vacuum_data_page::next_page, NO_ERROR, NULL, pgbuf_set_dirty(), log_rcv::pgptr, vacuum_data_entry::set_interrupted(), vacuum_data_entry::set_vacuumed(), VACUUM_BLOCK_STATUS_IS_VACUUMED, VACUUM_BLOCKID_WITHOUT_FLAGS, and VPID_ISNULL.
void vacuum_rv_redo_data_finished_dump | ( | FILE * | fp, |
int | length, | ||
void * | data | ||
) |
Definition at line 4965 of file vacuum.c.
References assert, vacuum_data_entry::blockid, NULL, VACUUM_BLOCK_STATUS_IS_VACUUMED, and VACUUM_BLOCKID_WITHOUT_FLAGS.
int vacuum_rv_redo_initialize_data_page | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 4432 of file vacuum.c.
References assert, vacuum_data_entry::blockid, vacuum_data_page::data, log_rcv::data, DONT_FREE, log_rcv::length, NO_ERROR, NULL, pgbuf_set_dirty(), log_rcv::pgptr, vacuum_data_initialize_new_page(), and VACUUM_NULL_LOG_BLOCKID.
int vacuum_rv_redo_remove_ovf_insid | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 2831 of file vacuum.c.
References DONT_FREE, error(), heap_get_mvcc_rec_header_from_overflow(), heap_set_mvcc_rec_header_on_overflow(), LSA_SET_NULL(), MVCC_SET_INSID, MVCCID_ALL_VISIBLE, NO_ERROR, NULL, pgbuf_set_dirty(), log_rcv::pgptr, and mvcc_rec_header::prev_version_lsa.
int vacuum_rv_redo_start_job | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 5663 of file vacuum.c.
References assert, vacuum_data_page::data, DONT_FREE, NO_ERROR, NULL, log_rcv::offset, vacuum_data::page_data_max_count, pgbuf_set_dirty(), log_rcv::pgptr, and vacuum_data_entry::set_job_in_progress().
int vacuum_rv_redo_vacuum_complete | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 3144 of file vacuum.c.
References assert, log_rcv::data, DONT_FREE, log_global::hdr, log_rcv::length, log_Gl, logpb_vacuum_reset_log_header_cache(), MVCCID_NULL, NO_ERROR, NULL, vacuum_data::oldest_unvacuumed_mvccid, pgbuf_set_dirty(), and log_rcv::pgptr.
int vacuum_rv_redo_vacuum_heap_page | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 2682 of file vacuum.c.
References recdes::area_size, assert, assert_release, log_rcv::data, recdes::data, DONT_FREE, ER_FAILED, heap_page_set_vacuum_status_none(), i, IO_MAX_PAGE_SIZE, log_rcv::length, recdes::length, MAX_ALIGNMENT, MVCC_CLEAR_FLAG_BITS, MVCC_GET_FLAG, mvcc_header_size_lookup, NO_ERROR, NULL, log_rcv::offset, OR_MVCC_FLAG_VALID_INSID, OR_MVCC_FLAG_VALID_PREV_VERSION, or_mvcc_get_header(), or_mvcc_set_header(), PEEK, PGBUF_PAGE_STATE_ARGS, PGBUF_PAGE_VPID_AS_ARGS, pgbuf_set_dirty(), log_rcv::pgptr, PTR_ALIGN, REC_HOME, REC_NEWHOME, S_SUCCESS, SP_SUCCESS, spage_compact(), spage_get_record(), spage_need_compact(), spage_update(), spage_vacuum_slot(), recdes::type, vacuum_er_log, vacuum_er_log_error, VACUUM_ER_LOG_HEAP, VACUUM_ER_LOG_RECOVERY, VACUUM_LOG_VACUUM_HEAP_ALL_VACUUMED, VACUUM_LOG_VACUUM_HEAP_MASK, and VACUUM_LOG_VACUUM_HEAP_REUSABLE.
int vacuum_rv_redo_vacuum_heap_record | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 7437 of file vacuum.c.
References DONT_FREE, NO_ERROR, log_rcv::offset, pgbuf_set_dirty(), log_rcv::pgptr, spage_compact(), spage_need_compact(), spage_vacuum_slot(), VACUUM_LOG_VACUUM_HEAP_MASK, and VACUUM_LOG_VACUUM_HEAP_REUSABLE.
int vacuum_rv_replace_dropped_file | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 6167 of file vacuum.c.
References assert, assert_release, log_rcv::data, DONT_FREE, vacuum_dropped_files_page::dropped_files, ER_FAILED, log_global::hdr, log_rcv::length, log_Gl, MVCC_ID_PRECEDES, log_header::mvcc_next_id, vacuum_dropped_file::mvccid, MVCCID_FORWARD, vacuum_dropped_files_page::n_dropped_files, NO_ERROR, NULL, log_rcv::offset, PGBUF_PAGE_STATE_ARGS, pgbuf_set_dirty(), log_rcv::pgptr, vacuum_er_log, VACUUM_ER_LOG_DROPPED_FILES, vacuum_er_log_error, VACUUM_ER_LOG_RECOVERY, vacuum_dropped_file::vfid, VFID_AS_ARGS, and VFID_EQ.
int vacuum_rv_set_next_page_dropped_files | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 6732 of file vacuum.c.
References assert, log_rcv::data, DONT_FREE, log_rcv::length, vacuum_dropped_files_page::next_page, NO_ERROR, vpid::pageid, pgbuf_get_vpid_ptr(), pgbuf_set_dirty(), log_rcv::pgptr, vacuum_er_log, VACUUM_ER_LOG_RECOVERY, vpid::volid, and VPID_COPY.
int vacuum_rv_undo_add_dropped_file | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 6133 of file vacuum.c.
References assert_release, DONT_FREE, vacuum_dropped_files_page::dropped_files, ER_FAILED, if(), vacuum_dropped_files_page::n_dropped_files, NO_ERROR, NULL, log_rcv::offset, pgbuf_set_dirty(), and log_rcv::pgptr.
int vacuum_rv_undo_vacuum_heap_record | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 7422 of file vacuum.c.
References heap_rv_redo_insert(), log_rcv::offset, and VACUUM_LOG_VACUUM_HEAP_MASK.
int vacuum_rv_undoredo_data_set_link | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 5271 of file vacuum.c.
References assert, log_rcv::data, DONT_FREE, log_rcv::length, vacuum_data_page::next_page, NO_ERROR, NULL, pgbuf_set_dirty(), log_rcv::pgptr, VPID_COPY, and VPID_SET_NULL.
void vacuum_rv_undoredo_data_set_link_dump | ( | FILE * | fp, |
int | length, | ||
void * | data | ||
) |
void vacuum_sa_reflect_last_blockid | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 7647 of file vacuum.c.
References log_global::append, log_global::hdr, vacuum_data::is_restoredb_session, log_Gl, logpb_last_complete_blockid(), log_lsa::pageid, log_append_info::prev_lsa, vacuum_data::set_last_blockid(), vacuum_data_empty_update_last_blockid(), vacuum_data_load_first_and_last_page(), vacuum_data_unload_first_and_last_page(), vacuum_er_log, VACUUM_ER_LOG_VACUUM_DATA, log_header::vacuum_last_blockid, VACUUM_NULL_LOG_BLOCKID, vacuum_data_load::vpid_first, and VPID_ISNULL.
Referenced by xboot_shutdown_server().
|
inlinestatic |
Definition at line 258 of file vacuum.c.
References assert, DONT_FREE, NULL, and pgbuf_set_dirty().
Referenced by vacuum_job_cursor::start_job_on_current_entry().
void vacuum_stop_master | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 1359 of file vacuum.c.
References cubthread::manager::destroy_daemon(), cubthread::get_manager(), NULL, vacuum_Is_booted, and vacuum_Master_context_manager.
Referenced by boot_restart_server(), and xboot_shutdown_server().
void vacuum_stop_workers | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 1332 of file vacuum.c.
References cubthread::manager::destroy_worker_pool(), cubthread::worker_pool< Context >::er_log_stats(), cubthread::get_manager(), NULL, cubthread::worker_pool< Context >::stop_execution(), vacuum_Is_booted, vacuum_notify_server_shutdown(), and vacuum_Worker_context_manager.
Referenced by boot_restart_server(), css_init(), and xboot_shutdown_server().
|
static |
Definition at line 5685 of file vacuum.c.
References vacuum_data::get_first_blockid(), vacuum_data::get_last_blockid(), vacuum_data::is_archive_removal_safe, vacuum_data::keep_from_log_pageid, vacuum_er_log, VACUUM_ER_LOG_VACUUM_DATA, VACUUM_FIRST_LOG_PAGEID_IN_BLOCK, and vacuum_is_empty().
Referenced by vacuum_consume_buffer_log_blocks(), vacuum_data_load_and_recover(), and vacuum_data_mark_finished().
|
static |
Definition at line 6958 of file vacuum.c.
References assert, vacuum_data_page::data, vacuum_data::first_page, vacuum_data_entry::get_blockid(), mvcctable::get_global_oldest_visible(), vacuum_data::get_last_blockid(), i, vacuum_data_page::index_free, vacuum_data_page::index_unvacuumed, vacuum_data_entry::is_available(), vacuum_data_entry::is_job_in_progress(), vacuum_data_entry::is_vacuumed(), vacuum_data::last_page, log_Gl, LSA_ISNULL(), MVCC_ID_PRECEDES, log_global::mvcc_table, vacuum_data_page::next_page, NULL, vacuum_data::oldest_unvacuumed_mvccid, vacuum_data_entry::oldest_visible_mvccid, vacuum_data::page_data_max_count, log_lsa::pageid, vacuum_data_entry::start_lsa, VACUUM_ER_LOG_JOBS, VACUUM_ER_LOG_VACUUM_DATA, vacuum_er_log_warning, VACUUM_ER_LOG_WORKER, vacuum_fix_data_page, vacuum_get_log_blockid(), vacuum_unfix_data_page, VPID_COPY, and VPID_ISNULL.
|
static |
Definition at line 7493 of file vacuum.c.
References assert, vacuum_data::first_page, vacuum_data::last_page, pgbuf_get_fix_count(), and pgbuf_get_hold_count().
Referenced by vacuum_consume_buffer_log_blocks(), vacuum_data_load_and_recover(), vacuum_data_mark_finished(), vacuum_data_unload_first_and_last_page(), and xvacuum().
|
static |
Definition at line 3532 of file vacuum.c.
References vacuum_worker::allocated_resources, ARG_FILE_LINE, assert, ER_FAILED, error(), vacuum_worker::heap_objects, vacuum_worker::heap_objects_capacity, IO_PAGESIZE, LOG_PAGESIZE, log_zip_alloc(), vacuum_worker::log_zip_p, logpb_fatal_error(), logtb_get_system_tdes(), NO_ERROR, NULL, vacuum_worker::prefetch_log_buffer, vacuum_worker::state, vacuum_worker::undo_data_buffer, vacuum_worker::undo_data_buffer_capacity, VACUUM_DEFAULT_HEAP_OBJECT_BUFFER_SIZE, vacuum_er_log_error, VACUUM_ER_LOG_WORKER, vacuum_finalize_worker(), VACUUM_PREFETCH_LOG_BLOCK_BUFFER_PAGES, and VACUUM_WORKER_STATE_INACTIVE.
Referenced by vacuum_worker_context_manager::on_create(), and vacuum_convert_thread_to_worker().
int xvacuum | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 962 of file vacuum.c.
References ARG_FILE_LINE, assert, log_header::does_block_need_vacuum, DONT_FREE, ER_ERROR_SEVERITY, er_log_debug, ER_NOTIFICATION_SEVERITY, er_set(), ER_STAND_ALONE_VACUUM_END, ER_STAND_ALONE_VACUUM_START, ER_VACUUM_CS_NOT_AVAILABLE, vacuum_data::first_page, vacuum_job_cursor::force_data_update(), vacuum_data_entry::get_blockid(), vacuum_job_cursor::get_current_entry(), log_global::hdr, vacuum_job_cursor::increment_blockid(), vacuum_data_entry::is_available(), lockfree::circular_queue< T >::is_empty(), vacuum_data::is_empty(), lockfree::circular_queue< T >::is_full(), vacuum_job_cursor::is_loaded(), vacuum_data_entry::is_vacuumed(), vacuum_job_cursor::is_valid(), vacuum_job_cursor::load(), log_append_redo_data2(), log_Gl, logpb_force_flush_pages(), logpb_vacuum_reset_log_header_cache(), logtb_is_interrupted(), logtb_set_check_interrupt(), log_header::mvcc_next_id, NO_ERROR, NULL, vacuum_data::oldest_unvacuumed_mvccid, prm_get_bool_value(), PRM_ID_DISABLE_VACUUM, PSTAT_VAC_MASTER, RVVAC_COMPLETE, vacuum_job_cursor::set_on_vacuum_data_start(), vacuum_job_cursor::start_job_on_current_entry(), TT_NONE, vacuum_job_cursor::unload(), vacuum_data::update(), vacuum_cleanup_dropped_files(), vacuum_convert_thread_to_master(), vacuum_data_load_first_and_last_page(), vacuum_er_log, VACUUM_ER_LOG_JOBS, VACUUM_ER_LOG_MASTER, vacuum_finalize(), vacuum_job_cursor_print_args, vacuum_job_cursor_print_format, vacuum_restore_thread(), vacuum_set_dirty_data_page, and vacuum_verify_vacuum_data_page_fix_count().
Referenced by boot_restart_server(), cvacuum(), and svacuum().
void xvacuum_dump | ( | THREAD_ENTRY * | thread_p, |
FILE * | outfp | ||
) |
Definition at line 1104 of file vacuum.c.
References assert, fileio_get_base_file_name(), FILEIO_SUFFIX_LOGARCHIVE, LOG_CS_ENTER_READ_MODE(), LOG_CS_EXIT(), log_Name_active, log_Prefix, logpb_get_archive_number(), logpb_is_page_in_archive(), NULL, NULL_PAGEID, vacuum_Is_booted, and vacuum_min_log_pageid_to_keep().
Referenced by svacuum_dump(), and vacuum_dump().
lockfree::circular_queue<vacuum_data_entry>* vacuum_Block_data_buffer = NULL |
Definition at line 458 of file vacuum.c.
Referenced by vacuum_finalize().
|
static |
VACUUM_DATA_LOAD vacuum_Data_load = { VPID_INITIALIZER, VPID_INITIALIZER } |
|
static |
Definition at line 567 of file vacuum.c.
Referenced by vacuum_add_dropped_file(), vacuum_cleanup_dropped_files(), vacuum_find_dropped_file(), vacuum_initialize(), and vacuum_load_dropped_files_from_disk().
|
static |
Definition at line 558 of file vacuum.c.
Referenced by vacuum_add_dropped_file(), vacuum_initialize(), and vacuum_load_dropped_files_from_disk().
pthread_mutex_t vacuum_Dropped_files_mutex |
Definition at line 642 of file vacuum.c.
Referenced by vacuum_finalize(), vacuum_initialize(), and vacuum_notify_all_workers_dropped_file().
INT32 vacuum_Dropped_files_version = 0 |
Definition at line 641 of file vacuum.c.
Referenced by vacuum_initialize(), vacuum_notify_all_workers_dropped_file(), and vacuum_process_log_record().
|
static |
Definition at line 561 of file vacuum.c.
Referenced by vacuum_log_cleanup_dropped_files().
lockfree::circular_queue<VACUUM_LOG_BLOCKID>* vacuum_Finished_job_queue = NULL |
Definition at line 466 of file vacuum.c.
Referenced by vacuum_finalize().
bool vacuum_Is_booted = false |
Definition at line 652 of file vacuum.c.
Referenced by vacuum_boot(), vacuum_stop_master(), vacuum_stop_workers(), and xvacuum_dump().
VACUUM_WORKER vacuum_Master |
Definition at line 447 of file vacuum.c.
Referenced by vacuum_convert_thread_to_master().
|
static |
Definition at line 922 of file vacuum.c.
Referenced by vacuum_stop_master().
|
static |
VACUUM_TRACK_DROPPED_FILES* vacuum_Track_dropped_files |
Definition at line 636 of file vacuum.c.
Referenced by vacuum_add_dropped_file().
|
static |
Definition at line 926 of file vacuum.c.
Referenced by vacuum_stop_workers().
|
static |
VACUUM_WORKER vacuum_Workers[VACUUM_MAX_WORKER_COUNT] |
Definition at line 489 of file vacuum.c.
Referenced by vacuum_worker_context_manager::vacuum_worker_context_manager().