80 bool update_rseg_history_len,
177 ut_ad(space_num > 0);
193 ut_ad(space_num > 0);
196 size_t slot = space_num - 1;
400#ifndef UNIV_HOTBACKUP
593 *marked_space_id =
m_id;
667 std::vector<Tablespace *, ut::allocator<Tablespace *>>;
731 auto undo_space =
m_spaces.at(slot);
732 if (undo_space->num() == num) {
739 if (undo_space->num() == num) {
760 if (undo_space->is_inactive_explicit()) {
764 if (num_active !=
nullptr && undo_space->is_active()) {
935 return (undo_space->
num());
992#ifndef UNIV_HOTBACKUP
uint32_t space_id_t
Tablespace identifier.
Definition: api0api.h:46
uint32_t page_no_t
Page number.
Definition: api0api.h:44
Read view lists the trx ids of those transactions for which a consistent read should not see the modi...
Definition: read0types.h:47
This is a wrapper for a std::vector of trx_rseg_t object pointers.
Definition: trx0types.h:293
void set_empty()
Set the state of the undo tablespace to empty so that it can be dropped.
Definition: trx0types.h:412
void set_inactive_implicit()
Set the state of the rollback segments in this undo tablespace to inactive_implicit.
Definition: trx0types.h:400
void set_active()
Set the state of the rollback segments in this undo tablespace to ACTIVE for use by new transactions.
Definition: trx0types.h:393
void s_lock()
Acquire the shared lock on m_rsegs.
Definition: trx0types.h:357
bool is_empty()
Return whether the undo tablespace is empty and ready to be dropped.
Definition: trx0types.h:385
bool is_inactive_implicit()
Return whether the undo tablespace is inactive due to implicit selection by the purge thread.
Definition: trx0types.h:375
bool is_inactive_explicit()
Return whether the undo tablespace was made inactive by ALTER TABLESPACE.
Definition: trx0types.h:380
void s_unlock()
Release the shared lock on m_rsegs.
Definition: trx0types.h:360
void set_inactive_explicit()
Make the undo tablespace inactive so that it will not be used for new transactions.
Definition: trx0types.h:408
bool is_active()
Return whether the undo tablespace is active.
Definition: trx0types.h:370
void x_unlock()
Release the exclusive lock on m_rsegs.
Definition: trx0types.h:366
void x_lock()
Acquire the exclusive lock on m_rsegs.
Definition: trx0types.h:363
trx_rseg_t * at(ulint slot)
Find the rseg at the given slot in this vector.
Definition: trx0types.h:337
List of undo tablespace IDs.
Definition: trx0sys.h:350
Data structure that contains the information about shared tablespaces.
Definition: fsp0space.h:46
Rollback segments from a given transaction with trx-no scheduled for purge.
Definition: trx0types.h:516
For measuring time elapsed.
Definition: ut0ut.h:305
void reset()
Reset the timer to the current time.
Definition: ut0ut.h:314
int64_t elapsed() const noexcept
Definition: ut0ut.h:318
Page size descriptor.
Definition: page0size.h:49
Inject a failure in the undo truncation debug compiled code at various places so that it fails the fi...
Definition: trx0purge.h:814
const char * m_inject_name
Definition: trx0purge.h:816
bool should_fail()
If a certain SET GLOBAL DEBUG has been set and this is the first time this has been called for that i...
Definition: trx0purge.cc:922
bool m_already_failed
Definition: trx0purge.h:815
Inject_failure_once(const char *inject_name)
Definition: trx0purge.h:819
List of undo tablespaces, each containing a list of rollback segments.
Definition: trx0purge.h:665
ulint size()
Get the number of tablespaces tracked by this object.
Definition: trx0purge.h:690
void s_unlock()
Release a shared lock on m_spaces.
Definition: trx0purge.h:783
Tablespace * find_first_inactive_explicit(size_t *num_active)
Find the first undo space that is marked inactive explicitly.
Definition: trx0purge.h:752
Tablespaces()
Definition: trx0purge.h:670
~Tablespaces()
Definition: trx0purge.h:672
std::vector< Tablespace *, ut::allocator< Tablespace * > > Tablespaces_Vector
Definition: trx0purge.h:667
void init()
Initialize.
Definition: trx0purge.cc:2592
void s_lock()
Get a shared lock on m_spaces.
Definition: trx0purge.h:780
Tablespaces_Vector m_spaces
Definition: trx0purge.h:791
void add(Tablespace &ref_undo_space)
Add a new undo::Tablespace to the back of the vector.
Definition: trx0purge.cc:2621
void x_unlock()
Release an exclusive lock on m_spaces.
Definition: trx0purge.h:789
bool contains(space_id_t num)
Check if the given space_id is in the vector.
Definition: trx0purge.h:716
void deinit()
De-initialize.
Definition: trx0purge.cc:2607
void x_lock()
Get an exclusive lock on m_spaces.
Definition: trx0purge.h:786
bool own_latch()
Determine if this thread owns a lock on m_latch.
Definition: trx0purge.h:774
void drop(Tablespace *undo_space)
Drop an existing explicit undo::Tablespace.
Definition: trx0purge.cc:2636
bool empty()
See if the list of tablespaces is empty.
Definition: trx0purge.h:693
void clear()
Clear the contents of the list of Tablespace objects.
Definition: trx0purge.h:682
rw_lock_t * m_latch
RW lock to protect m_spaces.
Definition: trx0purge.h:796
Tablespace * at(size_t pos)
Get the Tablespace tracked at a position.
Definition: trx0purge.h:696
Tablespace * find(space_id_t num)
Find the given space_num in the vector.
Definition: trx0purge.h:721
Track an UNDO tablespace marked for truncate.
Definition: trx0purge.h:890
Truncate()
Constructor.
Definition: trx0purge.h:893
void reset()
Reset for next rseg truncate.
Definition: trx0purge.h:921
void set_marked_space_empty()
Mark the undo tablespace selected for truncate as empty so that it will be truncated next.
Definition: trx0purge.h:904
bool is_equal(space_id_t space_id) const
Check if the given space id is equal to the space ID that is marked for truncation.
Definition: trx0purge.h:953
ib::Timer m_timer
Elapsed time since last truncate check.
Definition: trx0purge.h:974
void reset_timer()
Reset the timer.
Definition: trx0purge.h:961
space_id_t get_scan_space_num() const
Get the undo tablespace number to start a scan.
Definition: trx0purge.h:930
~Truncate()=default
Destructor.
bool m_marked_space_is_empty
This is true if the marked space is empty of undo logs and ready to truncate.
Definition: trx0purge.h:971
int64_t check_timer() const
Definition: trx0purge.h:958
bool is_marked_space_empty() const
Is the tablespace selected for truncate empty of undo logs yet?
Definition: trx0purge.h:908
bool is_marked() const
Is tablespace selected for truncate.
Definition: trx0purge.h:900
space_id_t m_space_id_marked
UNDO space ID that is marked for truncate.
Definition: trx0purge.h:965
space_id_t get_marked_space_num() const
Get the ID of the tablespace marked for truncate.
Definition: trx0purge.h:916
static size_t s_scan_pos
Start scanning for UNDO tablespace from this vector position.
Definition: trx0purge.h:978
void mark(Tablespace *undo_space)
Mark the tablespace for truncate.
Definition: trx0purge.cc:1312
space_id_t increment_scan() const
Increment the scanning position in a round-robin fashion.
Definition: trx0purge.h:940
dberr_t
Definition: db0err.h:38
The low-level file system.
constexpr space_id_t SPACE_UNKNOWN
Unknown space id.
Definition: fil0fil.h:1152
constexpr size_t FSP_MAX_UNDO_TABLESPACES
Definition: fsp0types.h:402
constexpr size_t FSP_MAX_ROLLBACK_SEGMENTS
Definition: fsp0types.h:404
Definition: trx0purge.h:140
bool is_active_truncate_log_present(space_id_t space_num)
Check if TRUNCATE_DDL_LOG file exist.
Definition: trx0purge.cc:1038
void done_logging(space_id_t space_num)
Mark completion of undo truncate action by writing magic number to the log file and then removing it ...
Definition: trx0purge.cc:986
char * make_space_name(space_id_t space_id)
Build a standard undo tablespace name from a space_id.
Definition: trx0purge.cc:774
char * make_file_name(space_id_t space_id)
Build a standard undo tablespace file name from a space_id.
Definition: trx0purge.cc:794
space_id_t use_next_space_id(space_id_t space_num)
Mark that the given undo space number is being used and return the next available space_id for that s...
Definition: trx0purge.cc:690
const char *const s_log_prefix
Truncate Log file Prefix.
Definition: trx0purge.h:146
ib_mutex_t ddl_mutex
Mutex for serializing undo tablespace related DDL.
Definition: trx0purge.cc:602
bool is_reserved(space_id_t space_id)
Check if the space_id is an undo space ID in the reserved range.
Definition: trx0purge.h:165
struct space_id_account * space_id_bank
List of currently used undo space IDs for each undo space number along with a boolean showing whether...
Definition: trx0purge.cc:609
space_id_t get_next_available_space_num()
Return the next available undo space ID to be used for a new explicit undo tablespaces.
Definition: trx0purge.cc:708
space_id_t id2next_id(space_id_t space_id)
Definition: trx0purge.h:240
void clear_construction_list()
Clear the s_under_construction vector.
Definition: trx0purge.cc:1120
dberr_t start_logging(Tablespace *undo_space)
Create the truncate log file.
Definition: trx0purge.cc:935
const uint32_t s_magic
Magic Number to indicate truncate action is complete.
Definition: trx0purge.h:143
constexpr ulint TRUNCATE_FREQUENCY
Definition: trx0purge.h:887
void set_active(space_id_t space_id)
Set an undo tablespace active.
Definition: trx0purge.cc:1136
space_id_t id2num(space_id_t space_id)
Convert an undo space ID into an undo space number.
Definition: trx0purge.h:228
void inject_crash(const char *injection_point_name)
Inject a crash if a certain SET GLOBAL DEBUG has been set.
Definition: trx0purge.cc:916
bool is_under_construction(space_id_t space_id)
Is an undo tablespace under construction at the moment.
Definition: trx0purge.cc:1125
Space_Ids s_under_construction
list of undo tablespaces that need header pages and rollback segments written to them at startup.
Definition: trx0purge.cc:1188
void add_space_to_construction_list(space_id_t space_id)
Add undo tablespace to s_under_construction vector.
Definition: trx0purge.cc:1115
Tablespaces * spaces
A global object that contains a vector of undo::Tablespace structs.
Definition: trx0purge.cc:605
space_id_t next_space_id(space_id_t space_id, space_id_t space_num)
Given a valid undo space_id or SPACE_UNKNOWN, return the next space_id for the given space number.
Definition: trx0purge.cc:660
void unuse_space_id(space_id_t space_id)
Mark an undo number associated with a given space_id as unused and available to be reused.
Definition: trx0purge.cc:646
space_id_t num2id(space_id_t space_num, size_t ndx)
Convert an undo space number (from 1 to 127) into the undo space_id, given an index indicating which ...
Definition: trx0purge.h:176
void use_space_id(space_id_t space_id)
Note that the undo space number for a space ID is being used.
Definition: trx0purge.cc:633
bool is_active(space_id_t space_id, bool get_latch=true)
Definition: trx0purge.cc:1155
void init_space_id_bank()
Initialize the undo tablespace space_id bank which is a lock free repository for information about th...
Definition: trx0purge.cc:619
const char *const s_log_ext
Truncate Log file Extension.
Definition: trx0purge.h:149
void delete_(T *ptr) noexcept
Releases storage which has been dynamically allocated through any of the ut::new*() variants.
Definition: ut0new.h:808
void free(void *ptr) noexcept
Releases storage which has been dynamically allocated through any of the ut::malloc*(),...
Definition: ut0new.h:716
byte page_t
Type of the index page.
Definition: page0types.h:151
Query graph global types.
char * srv_log_group_home_dir
Definition: srv0srv.cc:235
char * srv_undo_dir
Server undo tablespaces directory, can be absolute path.
Definition: srv0srv.cc:152
Choose the rollback segment with the smallest trx_no.
Definition: trx0purge.h:1087
const page_size_t set_next()
Sets the next rseg to purge in m_purge_sys.
Definition: trx0purge.cc:106
static const TrxUndoRsegs NullElement
Sentinel value.
Definition: trx0purge.h:1113
TrxUndoRsegsIterator(trx_purge_t *purge_sys)
Constructor.
Definition: trx0purge.cc:96
Rsegs_array< 2 >::iterator m_iter
Track the current element in m_trx_undo_rseg.
Definition: trx0purge.h:1110
TrxUndoRsegsIterator(const TrxUndoRsegsIterator &)
TrxUndoRsegs m_trx_undo_rsegs
The current element to process.
Definition: trx0purge.h:1107
TrxUndoRsegsIterator & operator=(const TrxUndoRsegsIterator &)
trx_purge_t * m_purge_sys
The purge system pointer.
Definition: trx0purge.h:1104
static constexpr space_id_t s_undo_space_id_range
The number of space IDs dedicated to each undo tablespace.
Definition: dict0dict.h:1103
static constexpr space_id_t s_max_undo_space_id
The highest undo tablespace ID.
Definition: dict0dict.h:1110
static constexpr space_id_t s_min_undo_space_id
The lowest undo tablespace ID.
Definition: dict0dict.h:1106
File space address.
Definition: fil0fil.h:1163
The info structure stored at the beginning of a heap block.
Definition: mem0mem.h:301
Mini-transaction handle and buffer.
Definition: mtr0mtr.h:176
InnoDB condition variable.
Definition: os0event.cc:62
This is the purge pointer/iterator.
Definition: trx0purge.h:117
purge_iter_t()
Definition: trx0purge.h:118
undo_no_t undo_no
Purge has advanced past all records whose undo number is less than this.
Definition: trx0purge.h:128
trx_id_t modifier_trx_id
The transaction that created the undo log record, the Modifier trx id.
Definition: trx0purge.h:135
space_id_t undo_rseg_space
The last undo record resided in this space id.
Definition: trx0purge.h:131
trx_id_t trx_no
Purge has advanced past all transactions whose number is less than this.
Definition: trx0purge.h:124
Definition: que0que.h:300
The structure used in the spin lock implementation of a read-write lock.
Definition: sync0rw.h:362
Definition: usr0sess.h:53
The control structure used in the purge operation.
Definition: trx0purge.h:985
purge_pq_t * purge_queue
Binary min-heap, ordered on TrxUndoRsegs::trx_no.
Definition: trx0purge.h:1067
bool next_stored
true if the info of the next record to purge is stored below: if yes, then the transaction number and...
Definition: trx0purge.h:1044
volatile purge_state_t state
Purge coordinator thread states, we check this in several places without holding the latch.
Definition: trx0purge.h:1011
ulint offset
Page offset for the next undo record to purge, 0 if the dummy record.
Definition: trx0purge.h:1054
purge_iter_t iter
Limit up to which we have read and parsed the UNDO log records.
Definition: trx0purge.h:1031
TrxUndoRsegsIterator * rseg_iter
Iterator to get the next rseg to process.
Definition: trx0purge.h:1063
std::vector< trx_rseg_t * > rsegs_queue
Set of all rseg queue.
Definition: trx0purge.h:1083
mem_heap_t * heap
Heap for reading the undo log records.
Definition: trx0purge.h:1076
purge_iter_t limit
The 'purge pointer' which advances during a purge, and which is used in history list truncation.
Definition: trx0purge.h:1035
static thread_local bool is_this_a_purge_thread
Is the this thread related to purge? This is false by default and set to true by srv_purge_coordinato...
Definition: trx0purge.h:1080
volatile bool running
true, if purge is active, we check this without the latch too
Definition: trx0purge.h:1007
purge_iter_t done
Indicate 'purge pointer' which have purged already accurately.
Definition: trx0purge.h:1038
ReadView view
The purge will not remove undo logs which are >= this view (purge view)
Definition: trx0purge.h:1017
que_t * query
The query graph which will do the parallelized purge operation.
Definition: trx0purge.h:1014
trx_t * trx
System transaction running the purge query: this trx is not in the trx list of the trx system and it ...
Definition: trx0purge.h:991
ulint hdr_offset
Header byte offset on the page.
Definition: trx0purge.h:1060
ulint n_submitted
Count of total tasks submitted to the task queue.
Definition: trx0purge.h:1020
page_no_t page_no
Page number for the next undo record to purge, page number of the log header, if dummy record.
Definition: trx0purge.h:1051
undo::Truncate undo_trunc
Track UNDO tablespace marked for truncate.
Definition: trx0purge.h:1073
page_no_t hdr_page_no
Header page of the undo log where the next record to purge belongs.
Definition: trx0purge.h:1057
ulint n_stop
Counter to track number stops.
Definition: trx0purge.h:1004
PQMutex pq_mutex
Mutex protecting purge_queue.
Definition: trx0purge.h:1070
std::atomic< ulint > n_completed
Count of total tasks completed.
Definition: trx0purge.h:1023
sess_t * sess
System session running the purge query.
Definition: trx0purge.h:987
trx_rseg_t * rseg
Rollback segment for the next undo record to purge.
Definition: trx0purge.h:1047
rw_lock_t latch
The latch protecting the purge view.
Definition: trx0purge.h:997
os_event_t event
State signal event.
Definition: trx0purge.h:1001
The rollback segment memory object.
Definition: trx0types.h:176
std::atomic< size_t > trx_ref_count
Reference counter to track rseg allocated transactions.
Definition: trx0types.h:275
Definition: trx0trx.h:683
The transaction handle.
Definition: trx0trx.h:643
An undo::Tablespace object is used to easily convert between undo_space_id and undo_space_num and to ...
Definition: trx0purge.h:313
space_id_t num()
Get the undo tablespace number.
Definition: trx0purge.h:467
void set_inactive_explicit()
Make the undo tablespace inactive so that it will not be used for new transactions.
Definition: trx0purge.h:601
void set_file_name(const char *file_name)
Replace the standard undo file name if it exists with a copy of the file name provided.
Definition: trx0purge.cc:838
Rsegs * m_rsegs
List of rollback segments within this tablespace.
Definition: trx0purge.h:660
char * space_name()
Get the undo tablespace name.
Definition: trx0purge.h:398
char * m_file_name
The tablespace file name, auto-generated when needed from the space number.
Definition: trx0purge.h:648
void set_space_name(const char *new_space_name)
Replace the standard undo space name if it exists with a copy of the undo tablespace name provided.
Definition: trx0purge.cc:825
Rsegs * rsegs()
Get a reference to the List of rollback segments within this undo tablespace.
Definition: trx0purge.h:476
bool is_active()
Return whether the undo tablespace is active.
Definition: trx0purge.h:497
char * m_space_name
The tablespace name, auto-generated when needed from the space number.
Definition: trx0purge.h:644
trx_rseg_t * get_active(ulint slot)
Return the rseg at the requested rseg slot if the undo space is active.
Definition: trx0purge.h:520
char * make_log_file_name(space_id_t space_id, const char *location)
Build a log file name based on space_id.
Definition: trx0purge.cc:876
bool is_active_no_latch()
Return whether the undo tablespace is active.
Definition: trx0purge.h:510
void set_inactive_implicit(space_id_t *marked_space_id)
Set the state of the rollback segments in this undo tablespace to inactive_implicit if currently acti...
Definition: trx0purge.h:588
char * m_log_file_name_old
The old truncation log file name, auto-generated when needed from the space number and the srv_log_gr...
Definition: trx0purge.h:656
space_id_t id()
Get the undo tablespace ID.
Definition: trx0purge.h:461
bool m_implicit
True if this is an implicit undo tablespace.
Definition: trx0purge.h:636
void set_active()
Set the undo tablespace active for use by transactions.
Definition: trx0purge.h:577
void set_new()
Note that this undo tablespace is being created.
Definition: trx0purge.h:493
~Tablespace()
Destructor.
Definition: trx0purge.h:352
Tablespace(space_id_t id)
Constructor.
Definition: trx0purge.h:316
Tablespace(Tablespace &other)
Copy Constructor.
Definition: trx0purge.h:329
bool is_inactive_implicit()
Return whether the undo tablespace is inactive due to implicit selection by the purge thread.
Definition: trx0purge.h:540
bool needs_truncation()
Definition: trx0purge.cc:722
bool is_explicit()
Report whether this undo tablespace was explicitly created by an SQL statement.
Definition: trx0purge.h:481
char * log_file_name()
Get the undo log filename.
Definition: trx0purge.h:441
void set_space_id(space_id_t space_id)
Change the space_id from its current value.
Definition: trx0purge.cc:766
void alter_active()
Make the undo tablespace active again so that it will be used for new transactions.
Definition: trx0purge.cc:900
char * log_file_name_old()
Get the old undo log filename from the srv_log_group_home_dir.
Definition: trx0purge.h:451
bool is_inactive_explicit()
Return whether the undo tablespace was made inactive by ALTER TABLESPACE.
Definition: trx0purge.h:553
bool is_new()
Report whether this undo tablespace was created at startup.
Definition: trx0purge.h:490
space_id_t m_id
Undo Tablespace ID.
Definition: trx0purge.h:628
space_id_t m_num
Undo Tablespace number, from 1 to 127.
Definition: trx0purge.h:633
bool is_implicit()
Report whether this undo tablespace was implicitly created.
Definition: trx0purge.h:485
bool is_empty()
Return whether the undo tablespace is empty and ready to be dropped.
Definition: trx0purge.h:566
char * m_log_file_name
The truncation log file name, auto-generated when needed from the space number and the srv_undo_dir.
Definition: trx0purge.h:652
char * file_name()
Get the undo space filename.
Definition: trx0purge.h:422
bool m_new
True if this undo tablespace was implicitly created when this instance started up.
Definition: trx0purge.h:640
void set_empty()
Set the state of the undo tablespace to empty so that it can be dropped.
Definition: trx0purge.h:620
The currently used undo space IDs for an undo space number along with a boolean showing whether the u...
Definition: trx0purge.h:153
space_id_t space_id
Definition: trx0purge.h:154
bool in_use
Definition: trx0purge.h:155
bool rw_lock_own(const rw_lock_t *lock, ulint lock_type)
Checks if the thread has locked the rw-lock in the specified mode, with the pass value == 0.
Definition: sync0rw.cc:857
static void rw_lock_s_unlock(rw_lock_t *L)
Definition: sync0rw.h:807
static void rw_lock_x_lock(rw_lock_t *M, ut::Location L)
Definition: sync0rw.h:781
static void rw_lock_s_lock(rw_lock_t *M, ut::Location L)
Definition: sync0rw.h:730
static void rw_lock_x_unlock(rw_lock_t *L)
Definition: sync0rw.h:810
@ RW_LOCK_S
Definition: sync0types.h:207
@ RW_LOCK_X
Definition: sync0types.h:208
void trx_purge_add_update_undo_to_history(trx_t *trx, trx_undo_ptr_t *undo_ptr, page_t *undo_page, bool update_rseg_history_len, ulint n_added_logs, mtr_t *mtr)
in: mtr
Definition: trx0purge.cc:313
void trx_purge_sys_initialize(uint32_t n_purge_threads, purge_pq_t *purge_queue)
Creates the global purge system control structure and inits the history mutex.
Definition: trx0purge.cc:235
void trx_purge_sys_close(void)
Frees the global purge system control structure.
Definition: trx0purge.cc:268
purge_state_t
Purge states.
Definition: trx0purge.h:100
@ PURGE_STATE_DISABLED
Purge was never started.
Definition: trx0purge.h:105
@ PURGE_STATE_EXIT
Purge has been shutdown.
Definition: trx0purge.h:104
@ PURGE_STATE_RUN
Purge should be running.
Definition: trx0purge.h:102
@ PURGE_STATE_STOP
Purge should be stopped.
Definition: trx0purge.h:103
@ PURGE_STATE_INIT
Purge instance created.
Definition: trx0purge.h:101
trx_purge_t * purge_sys
The global data structure coordinating a purge.
Definition: trx0purge.cc:75
void trx_purge_sys_mem_create()
Initialize in-memory purge structures.
Definition: trx0purge.cc:213
ulint trx_purge(ulint n_purge_threads, ulint limit, bool truncate)
This function runs a purge batch.
Definition: trx0purge.cc:2389
void trx_purge_run(void)
Resume purge, move to PURGE_STATE_RUN.
Definition: trx0purge.cc:2552
purge_state_t trx_purge_state(void)
Get the purge state.
Definition: trx0purge.cc:2480
static fil_addr_t trx_purge_get_log_from_hist(fil_addr_t node_addr)
Calculates the file address of an undo log header when we have the file address of its history list n...
void trx_purge_stop(void)
Stop purge and wait for it to stop, move to PURGE_STATE_STOP.
Definition: trx0purge.cc:2493
Transaction system global type definitions.
std::priority_queue< TrxUndoRsegs, std::vector< TrxUndoRsegs, ut::allocator< TrxUndoRsegs > >, TrxUndoRsegs > purge_pq_t
Definition: trx0types.h:593
ib_id_t undo_no_t
Undo number.
Definition: trx0types.h:141
std::array< trx_rseg_t *, N > Rsegs_array
Definition: trx0types.h:512
ib_mutex_t PQMutex
Definition: trx0types.h:172
ib_id_t trx_id_t
Transaction identifier (DB_TRX_ID, DATA_TRX_ID)
Definition: trx0types.h:137
Version control for database, common definitions, and include files.
unsigned long int ulint
Definition: univ.i:405
#define UT_LOCATION_HERE
Definition: ut0core.h:72
#define ut_ad(EXPR)
Debug assertion.
Definition: ut0dbg.h:104
#define UT_NEW_THIS_FILE_PSI_KEY
Definition: ut0new.h:563