81 bool update_rseg_history_len,
178 ut_ad(space_num > 0);
194 ut_ad(space_num > 0);
197 size_t slot = space_num - 1;
401#ifndef UNIV_HOTBACKUP
594 *marked_space_id =
m_id;
668 std::vector<Tablespace *, ut::allocator<Tablespace *>>;
732 auto undo_space =
m_spaces.at(slot);
733 if (undo_space->num() == num) {
740 if (undo_space->num() == num) {
761 if (undo_space->is_inactive_explicit()) {
765 if (num_active !=
nullptr && undo_space->is_active()) {
936 return (undo_space->
num());
993#ifndef UNIV_HOTBACKUP
uint32_t space_id_t
Tablespace identifier.
Definition: api0api.h:52
uint32_t page_no_t
Page number.
Definition: api0api.h:50
Read view lists the trx ids of those transactions for which a consistent read should not see the modi...
Definition: read0types.h:48
This is a wrapper for a std::vector of trx_rseg_t object pointers.
Definition: trx0types.h:331
void set_empty()
Set the state of the undo tablespace to empty so that it can be dropped.
Definition: trx0types.h:450
void set_inactive_implicit()
Set the state of the rollback segments in this undo tablespace to inactive_implicit.
Definition: trx0types.h:438
void set_active()
Set the state of the rollback segments in this undo tablespace to ACTIVE for use by new transactions.
Definition: trx0types.h:431
void s_lock()
Acquire the shared lock on m_rsegs.
Definition: trx0types.h:395
bool is_empty()
Return whether the undo tablespace is empty and ready to be dropped.
Definition: trx0types.h:423
bool is_inactive_implicit()
Return whether the undo tablespace is inactive due to implicit selection by the purge thread.
Definition: trx0types.h:413
bool is_inactive_explicit()
Return whether the undo tablespace was made inactive by ALTER TABLESPACE.
Definition: trx0types.h:418
void s_unlock()
Release the shared lock on m_rsegs.
Definition: trx0types.h:398
void set_inactive_explicit()
Make the undo tablespace inactive so that it will not be used for new transactions.
Definition: trx0types.h:446
bool is_active()
Return whether the undo tablespace is active.
Definition: trx0types.h:408
void x_unlock()
Release the exclusive lock on m_rsegs.
Definition: trx0types.h:404
void x_lock()
Acquire the exclusive lock on m_rsegs.
Definition: trx0types.h:401
trx_rseg_t * at(ulint slot)
Find the rseg at the given slot in this vector.
Definition: trx0types.h:375
List of undo tablespace IDs.
Definition: trx0sys.h:351
Data structure that contains the information about shared tablespaces.
Definition: fsp0space.h:47
Rollback segments from a given transaction with trx-no scheduled for purge.
Definition: trx0types.h:554
For measuring time elapsed.
Definition: ut0ut.h:300
void reset()
Reset the timer to the current time.
Definition: ut0ut.h:309
int64_t elapsed() const noexcept
Definition: ut0ut.h:313
Page size descriptor.
Definition: page0size.h:50
Inject a failure in the undo truncation debug compiled code at various places so that it fails the fi...
Definition: trx0purge.h:815
const char * m_inject_name
Definition: trx0purge.h:817
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:926
bool m_already_failed
Definition: trx0purge.h:816
Inject_failure_once(const char *inject_name)
Definition: trx0purge.h:820
List of undo tablespaces, each containing a list of rollback segments.
Definition: trx0purge.h:666
ulint size()
Get the number of tablespaces tracked by this object.
Definition: trx0purge.h:691
void s_unlock()
Release a shared lock on m_spaces.
Definition: trx0purge.h:784
Tablespace * find_first_inactive_explicit(size_t *num_active)
Find the first undo space that is marked inactive explicitly.
Definition: trx0purge.h:753
Tablespaces()
Definition: trx0purge.h:671
~Tablespaces()
Definition: trx0purge.h:673
std::vector< Tablespace *, ut::allocator< Tablespace * > > Tablespaces_Vector
Definition: trx0purge.h:668
void init()
Initialize.
Definition: trx0purge.cc:2614
void s_lock()
Get a shared lock on m_spaces.
Definition: trx0purge.h:781
Tablespaces_Vector m_spaces
Definition: trx0purge.h:792
void add(Tablespace &ref_undo_space)
Add a new undo::Tablespace to the back of the vector.
Definition: trx0purge.cc:2643
void x_unlock()
Release an exclusive lock on m_spaces.
Definition: trx0purge.h:790
bool contains(space_id_t num)
Check if the given space_id is in the vector.
Definition: trx0purge.h:717
void deinit()
De-initialize.
Definition: trx0purge.cc:2629
void x_lock()
Get an exclusive lock on m_spaces.
Definition: trx0purge.h:787
bool own_latch()
Determine if this thread owns a lock on m_latch.
Definition: trx0purge.h:775
void drop(Tablespace *undo_space)
Drop an existing explicit undo::Tablespace.
Definition: trx0purge.cc:2658
bool empty()
See if the list of tablespaces is empty.
Definition: trx0purge.h:694
void clear()
Clear the contents of the list of Tablespace objects.
Definition: trx0purge.h:683
rw_lock_t * m_latch
RW lock to protect m_spaces.
Definition: trx0purge.h:797
Tablespace * at(size_t pos)
Get the Tablespace tracked at a position.
Definition: trx0purge.h:697
Tablespace * find(space_id_t num)
Find the given space_num in the vector.
Definition: trx0purge.h:722
Track an UNDO tablespace marked for truncate.
Definition: trx0purge.h:891
Truncate()
Constructor.
Definition: trx0purge.h:894
void reset()
Reset for next rseg truncate.
Definition: trx0purge.h:922
void set_marked_space_empty()
Mark the undo tablespace selected for truncate as empty so that it will be truncated next.
Definition: trx0purge.h:905
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:954
ib::Timer m_timer
Elapsed time since last truncate check.
Definition: trx0purge.h:975
void reset_timer()
Reset the timer.
Definition: trx0purge.h:962
space_id_t get_scan_space_num() const
Get the undo tablespace number to start a scan.
Definition: trx0purge.h:931
~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:972
int64_t check_timer() const
Definition: trx0purge.h:959
bool is_marked_space_empty() const
Is the tablespace selected for truncate empty of undo logs yet?
Definition: trx0purge.h:909
bool is_marked() const
Is tablespace selected for truncate.
Definition: trx0purge.h:901
space_id_t m_space_id_marked
UNDO space ID that is marked for truncate.
Definition: trx0purge.h:966
space_id_t get_marked_space_num() const
Get the ID of the tablespace marked for truncate.
Definition: trx0purge.h:917
static size_t s_scan_pos
Start scanning for UNDO tablespace from this vector position.
Definition: trx0purge.h:979
void mark(Tablespace *undo_space)
Mark the tablespace for truncate.
Definition: trx0purge.cc:1316
space_id_t increment_scan() const
Increment the scanning position in a round-robin fashion.
Definition: trx0purge.h:941
dberr_t
Definition: db0err.h:39
The low-level file system.
constexpr space_id_t SPACE_UNKNOWN
Unknown space id.
Definition: fil0fil.h:1137
constexpr size_t FSP_MAX_UNDO_TABLESPACES
Definition: fsp0types.h:403
constexpr size_t FSP_MAX_ROLLBACK_SEGMENTS
Definition: fsp0types.h:405
Definition: trx0purge.h:141
bool is_active_truncate_log_present(space_id_t space_num)
Check if TRUNCATE_DDL_LOG file exist.
Definition: trx0purge.cc:1042
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:990
char * make_space_name(space_id_t space_id)
Build a standard undo tablespace name from a space_id.
Definition: trx0purge.cc:778
char * make_file_name(space_id_t space_id)
Build a standard undo tablespace file name from a space_id.
Definition: trx0purge.cc:798
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:694
const char *const s_log_prefix
Truncate Log file Prefix.
Definition: trx0purge.h:147
ib_mutex_t ddl_mutex
Mutex for serializing undo tablespace related DDL.
Definition: trx0purge.cc:606
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:166
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:613
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:712
space_id_t id2next_id(space_id_t space_id)
Definition: trx0purge.h:241
void clear_construction_list()
Clear the s_under_construction vector.
Definition: trx0purge.cc:1124
dberr_t start_logging(Tablespace *undo_space)
Create the truncate log file.
Definition: trx0purge.cc:939
const uint32_t s_magic
Magic Number to indicate truncate action is complete.
Definition: trx0purge.h:144
constexpr ulint TRUNCATE_FREQUENCY
Definition: trx0purge.h:888
void set_active(space_id_t space_id)
Set an undo tablespace active.
Definition: trx0purge.cc:1140
space_id_t id2num(space_id_t space_id)
Convert an undo space ID into an undo space number.
Definition: trx0purge.h:229
void inject_crash(const char *injection_point_name)
Inject a crash if a certain SET GLOBAL DEBUG has been set.
Definition: trx0purge.cc:920
bool is_under_construction(space_id_t space_id)
Is an undo tablespace under construction at the moment.
Definition: trx0purge.cc:1129
Space_Ids s_under_construction
list of undo tablespaces that need header pages and rollback segments written to them at startup.
Definition: trx0purge.cc:1192
void add_space_to_construction_list(space_id_t space_id)
Add undo tablespace to s_under_construction vector.
Definition: trx0purge.cc:1119
Tablespaces * spaces
A global object that contains a vector of undo::Tablespace structs.
Definition: trx0purge.cc:609
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:664
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:650
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:177
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:637
bool is_active(space_id_t space_id, bool get_latch=true)
Definition: trx0purge.cc:1159
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:623
const char *const s_log_ext
Truncate Log file Extension.
Definition: trx0purge.h:150
void delete_(T *ptr) noexcept
Releases storage which has been dynamically allocated through any of the ut::new*() variants.
Definition: ut0new.h:810
void free(void *ptr) noexcept
Releases storage which has been dynamically allocated through any of the ut::malloc*(),...
Definition: ut0new.h:718
byte page_t
Type of the index page.
Definition: page0types.h:152
Query graph global types.
char * srv_log_group_home_dir
Definition: srv0srv.cc:236
char * srv_undo_dir
Server undo tablespaces directory, can be absolute path.
Definition: srv0srv.cc:153
Choose the rollback segment with the smallest trx_no.
Definition: trx0purge.h:1091
const page_size_t set_next()
Sets the next rseg to purge in m_purge_sys.
Definition: trx0purge.cc:108
static const TrxUndoRsegs NullElement
Sentinel value.
Definition: trx0purge.h:1117
TrxUndoRsegsIterator(trx_purge_t *purge_sys)
Constructor.
Definition: trx0purge.cc:98
Rsegs_array< 2 >::iterator m_iter
Track the current element in m_trx_undo_rseg.
Definition: trx0purge.h:1114
TrxUndoRsegsIterator(const TrxUndoRsegsIterator &)
TrxUndoRsegs m_trx_undo_rsegs
The current element to process.
Definition: trx0purge.h:1111
TrxUndoRsegsIterator & operator=(const TrxUndoRsegsIterator &)
trx_purge_t * m_purge_sys
The purge system pointer.
Definition: trx0purge.h:1108
static constexpr space_id_t s_undo_space_id_range
The number of space IDs dedicated to each undo tablespace.
Definition: dict0dict.h:1108
static constexpr space_id_t s_max_undo_space_id
The highest undo tablespace ID.
Definition: dict0dict.h:1115
static constexpr space_id_t s_min_undo_space_id
The lowest undo tablespace ID.
Definition: dict0dict.h:1111
File space address.
Definition: fil0fil.h:1148
The info structure stored at the beginning of a heap block.
Definition: mem0mem.h:302
Mini-transaction handle and buffer.
Definition: mtr0mtr.h:177
InnoDB condition variable.
Definition: os0event.cc:63
This is the purge pointer/iterator.
Definition: trx0purge.h:118
purge_iter_t()
Definition: trx0purge.h:119
undo_no_t undo_no
Purge has advanced past all records whose undo number is less than this.
Definition: trx0purge.h:129
trx_id_t modifier_trx_id
The transaction that created the undo log record, the Modifier trx id.
Definition: trx0purge.h:136
space_id_t undo_rseg_space
The last undo record resided in this space id.
Definition: trx0purge.h:132
trx_id_t trx_no
Purge has advanced past all transactions whose number is less than this.
Definition: trx0purge.h:125
Definition: que0que.h:301
The structure used in the spin lock implementation of a read-write lock.
Definition: sync0rw.h:360
Definition: usr0sess.h:54
The control structure used in the purge operation.
Definition: trx0purge.h:986
purge_pq_t * purge_queue
Binary min-heap, ordered on TrxUndoRsegs::trx_no.
Definition: trx0purge.h:1071
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:1048
volatile purge_state_t state
Purge coordinator thread states, we check this in several places without holding the latch.
Definition: trx0purge.h:1012
ulint offset
Page offset for the next undo record to purge, 0 if the dummy record.
Definition: trx0purge.h:1058
purge_iter_t iter
Limit up to which we have read and parsed the UNDO log records.
Definition: trx0purge.h:1035
TrxUndoRsegsIterator * rseg_iter
Iterator to get the next rseg to process.
Definition: trx0purge.h:1067
std::vector< trx_rseg_t * > rsegs_queue
Set of all rseg queue.
Definition: trx0purge.h:1087
mem_heap_t * heap
Heap for reading the undo log records.
Definition: trx0purge.h:1080
purge_iter_t limit
The 'purge pointer' which advances during a purge, and which is used in history list truncation.
Definition: trx0purge.h:1039
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:1084
volatile bool running
true, if purge is active, we check this without the latch too
Definition: trx0purge.h:1008
purge_iter_t done
Indicate 'purge pointer' which have purged already accurately.
Definition: trx0purge.h:1042
ReadView view
The purge will not remove undo logs which are >= this view (purge view)
Definition: trx0purge.h:1018
que_t * query
The query graph which will do the parallelized purge operation.
Definition: trx0purge.h:1015
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:992
volatile ulint n_submitted
Count of total tasks submitted to the task queue.
Definition: trx0purge.h:1024
ulint hdr_offset
Header byte offset on the page.
Definition: trx0purge.h:1064
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:1055
bool view_active
true if view is active
Definition: trx0purge.h:1021
undo::Truncate undo_trunc
Track UNDO tablespace marked for truncate.
Definition: trx0purge.h:1077
page_no_t hdr_page_no
Header page of the undo log where the next record to purge belongs.
Definition: trx0purge.h:1061
ulint n_stop
Counter to track number stops.
Definition: trx0purge.h:1005
PQMutex pq_mutex
Mutex protecting purge_queue.
Definition: trx0purge.h:1074
std::atomic< ulint > n_completed
Count of total tasks completed.
Definition: trx0purge.h:1027
sess_t * sess
System session running the purge query.
Definition: trx0purge.h:988
trx_rseg_t * rseg
Rollback segment for the next undo record to purge.
Definition: trx0purge.h:1051
rw_lock_t latch
The latch protecting the purge view.
Definition: trx0purge.h:998
os_event_t event
State signal event.
Definition: trx0purge.h:1002
The rollback segment memory object.
Definition: trx0types.h:214
std::atomic< size_t > trx_ref_count
Reference counter to track rseg allocated transactions.
Definition: trx0types.h:313
Definition: trx0trx.h:675
The transaction handle.
Definition: trx0trx.h:635
An undo::Tablespace object is used to easily convert between undo_space_id and undo_space_num and to ...
Definition: trx0purge.h:314
space_id_t num()
Get the undo tablespace number.
Definition: trx0purge.h:468
void set_inactive_explicit()
Make the undo tablespace inactive so that it will not be used for new transactions.
Definition: trx0purge.h:602
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:842
Rsegs * m_rsegs
List of rollback segments within this tablespace.
Definition: trx0purge.h:661
char * space_name()
Get the undo tablespace name.
Definition: trx0purge.h:399
char * m_file_name
The tablespace file name, auto-generated when needed from the space number.
Definition: trx0purge.h:649
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:829
Rsegs * rsegs()
Get a reference to the List of rollback segments within this undo tablespace.
Definition: trx0purge.h:477
bool is_active()
Return whether the undo tablespace is active.
Definition: trx0purge.h:498
char * m_space_name
The tablespace name, auto-generated when needed from the space number.
Definition: trx0purge.h:645
trx_rseg_t * get_active(ulint slot)
Return the rseg at the requested rseg slot if the undo space is active.
Definition: trx0purge.h:521
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:880
bool is_active_no_latch()
Return whether the undo tablespace is active.
Definition: trx0purge.h:511
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:589
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:657
space_id_t id()
Get the undo tablespace ID.
Definition: trx0purge.h:462
bool m_implicit
True if this is an implicit undo tablespace.
Definition: trx0purge.h:637
void set_active()
Set the undo tablespace active for use by transactions.
Definition: trx0purge.h:578
void set_new()
Note that this undo tablespace is being created.
Definition: trx0purge.h:494
~Tablespace()
Destructor.
Definition: trx0purge.h:353
Tablespace(space_id_t id)
Constructor.
Definition: trx0purge.h:317
Tablespace(Tablespace &other)
Copy Constructor.
Definition: trx0purge.h:330
bool is_inactive_implicit()
Return whether the undo tablespace is inactive due to implicit selection by the purge thread.
Definition: trx0purge.h:541
bool needs_truncation()
Definition: trx0purge.cc:726
bool is_explicit()
Report whether this undo tablespace was explicitly created by an SQL statement.
Definition: trx0purge.h:482
char * log_file_name()
Get the undo log filename.
Definition: trx0purge.h:442
void set_space_id(space_id_t space_id)
Change the space_id from its current value.
Definition: trx0purge.cc:770
void alter_active()
Make the undo tablespace active again so that it will be used for new transactions.
Definition: trx0purge.cc:904
char * log_file_name_old()
Get the old undo log filename from the srv_log_group_home_dir.
Definition: trx0purge.h:452
bool is_inactive_explicit()
Return whether the undo tablespace was made inactive by ALTER TABLESPACE.
Definition: trx0purge.h:554
bool is_new()
Report whether this undo tablespace was created at startup.
Definition: trx0purge.h:491
space_id_t m_id
Undo Tablespace ID.
Definition: trx0purge.h:629
space_id_t m_num
Undo Tablespace number, from 1 to 127.
Definition: trx0purge.h:634
bool is_implicit()
Report whether this undo tablespace was implicitly created.
Definition: trx0purge.h:486
bool is_empty()
Return whether the undo tablespace is empty and ready to be dropped.
Definition: trx0purge.h:567
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:653
char * file_name()
Get the undo space filename.
Definition: trx0purge.h:423
bool m_new
True if this undo tablespace was implicitly created when this instance started up.
Definition: trx0purge.h:641
void set_empty()
Set the state of the undo tablespace to empty so that it can be dropped.
Definition: trx0purge.h:621
The currently used undo space IDs for an undo space number along with a boolean showing whether the u...
Definition: trx0purge.h:154
space_id_t space_id
Definition: trx0purge.h:155
bool in_use
Definition: trx0purge.h:156
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:858
static void rw_lock_s_unlock(rw_lock_t *L)
Definition: sync0rw.h:792
static void rw_lock_x_lock(rw_lock_t *M, ut::Location L)
Definition: sync0rw.h:766
static void rw_lock_s_lock(rw_lock_t *M, ut::Location L)
Definition: sync0rw.h:715
static void rw_lock_x_unlock(rw_lock_t *L)
Definition: sync0rw.h:795
@ RW_LOCK_S
Definition: sync0types.h:208
@ RW_LOCK_X
Definition: sync0types.h:209
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:317
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:237
void trx_purge_sys_close(void)
Frees the global purge system control structure.
Definition: trx0purge.cc:272
purge_state_t
Purge states.
Definition: trx0purge.h:101
@ PURGE_STATE_DISABLED
Purge was never started.
Definition: trx0purge.h:106
@ PURGE_STATE_EXIT
Purge has been shutdown.
Definition: trx0purge.h:105
@ PURGE_STATE_RUN
Purge should be running.
Definition: trx0purge.h:103
@ PURGE_STATE_STOP
Purge should be stopped.
Definition: trx0purge.h:104
@ PURGE_STATE_INIT
Purge instance created.
Definition: trx0purge.h:102
trx_purge_t * purge_sys
The global data structure coordinating a purge.
Definition: trx0purge.cc:77
void trx_purge_sys_mem_create()
Initialize in-memory purge structures.
Definition: trx0purge.cc:215
ulint trx_purge(ulint n_purge_threads, ulint limit, bool truncate)
This function runs a purge batch.
Definition: trx0purge.cc:2390
void trx_purge_run(void)
Resume purge, move to PURGE_STATE_RUN.
Definition: trx0purge.cc:2574
purge_state_t trx_purge_state(void)
Get the purge state.
Definition: trx0purge.cc:2502
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:2515
Transaction system global type definitions.
std::priority_queue< TrxUndoRsegs, std::vector< TrxUndoRsegs, ut::allocator< TrxUndoRsegs > >, TrxUndoRsegs > purge_pq_t
Definition: trx0types.h:631
ib_id_t undo_no_t
Undo number.
Definition: trx0types.h:142
std::array< trx_rseg_t *, N > Rsegs_array
Definition: trx0types.h:550
ib_mutex_t PQMutex
Definition: trx0types.h:173
ib_id_t trx_id_t
Transaction identifier (DB_TRX_ID, DATA_TRX_ID)
Definition: trx0types.h:138
Version control for database, common definitions, and include files.
unsigned long int ulint
Definition: univ.i:406
#define UT_LOCATION_HERE
Definition: ut0core.h:47
#define ut_ad(EXPR)
Debug assertion.
Definition: ut0dbg.h:69
#define UT_NEW_THIS_FILE_PSI_KEY
Definition: ut0new.h:565