MySQL 8.0.39
Source Code Documentation
|
Dependency tracker is a container singleton that dispatches between the three methods associated with the binlog-transaction-dependency-tracking option. More...
#include <rpl_trx_tracking.h>
Public Member Functions | |
Transaction_dependency_tracker () | |
void | get_dependency (THD *thd, bool parallelization_barrier, int64 &sequence_number, int64 &commit_parent) |
Get the dependencies in a transaction, the main entry point for the dependency tracking work. More... | |
void | tracking_mode_changed () |
void | update_max_committed (THD *thd) |
The method is to be executed right before committing time. More... | |
int64 | get_max_committed_timestamp () |
int64 | step () |
void | rotate () |
Writeset_trx_dependency_tracker * | get_writeset () |
Public Attributes | |
long | m_opt_tracking_mode |
Private Attributes | |
Writeset_trx_dependency_tracker | m_writeset |
Commit_order_trx_dependency_tracker | m_commit_order |
Writeset_session_trx_dependency_tracker | m_writeset_session |
Dependency tracker is a container singleton that dispatches between the three methods associated with the binlog-transaction-dependency-tracking option.
There is a singleton instance of each of these classes.
|
inline |
void Transaction_dependency_tracker::get_dependency | ( | THD * | thd, |
bool | parallelization_barrier, | ||
int64 & | sequence_number, | ||
int64 & | commit_parent | ||
) |
Get the dependencies in a transaction, the main entry point for the dependency tracking work.
int64 Transaction_dependency_tracker::get_max_committed_timestamp | ( | ) |
|
inline |
void Transaction_dependency_tracker::rotate | ( | ) |
int64 Transaction_dependency_tracker::step | ( | ) |
void Transaction_dependency_tracker::tracking_mode_changed | ( | ) |
void Transaction_dependency_tracker::update_max_committed | ( | THD * | thd | ) |
The method is to be executed right before committing time.
It must be invoked even if the transaction does not commit to engine being merely logged into the binary log. max_committed_transaction is updated with a greater timestamp value. As a side effect, the transaction context's sequence_number is reset.
thd | a pointer to THD instance |
|
private |
long Transaction_dependency_tracker::m_opt_tracking_mode |
|
private |
|
private |