Generate logical timestamps for MTS using COMMIT_ORDER in the binlog-transaction-dependency-tracking option.
More...
#include <rpl_trx_tracking.h>
Generate logical timestamps for MTS using COMMIT_ORDER in the binlog-transaction-dependency-tracking option.
◆ get_dependency()
void Commit_order_trx_dependency_tracker::get_dependency |
( |
THD * |
thd, |
|
|
bool |
parallelization_barrier, |
|
|
int64 & |
sequence_number, |
|
|
int64 & |
commit_parent |
|
) |
| |
Main function that gets the dependencies using the COMMIT_ORDER tracker.
Get the sequence_number for a transaction, and get the last_commit based on parallel committing transactions.
- Parameters
-
[in] | thd | THD of the caller. |
[in] | parallelization_barrier | Transaction is blocking and subseqent transactions should depend on it. |
[in,out] | sequence_number | sequence_number initialized and returned. |
[in,out] | commit_parent | commit_parent to be returned. |
[in] | thd | Current THD from which to extract trx context. |
[in] | parallelization_barrier | The transaction is a parallelization_barrier and subseqent transactions should depend on it. |
[in,out] | sequence_number | Sequence number of current transaction. |
[in,out] | commit_parent | Commit_parent of current transaction, pre-filled with the commit_parent calculated by the logical clock logic. |
◆ get_max_committed_transaction()
Logical_clock Commit_order_trx_dependency_tracker::get_max_committed_transaction |
( |
| ) |
|
|
inline |
◆ rotate()
void Commit_order_trx_dependency_tracker::rotate |
( |
| ) |
|
◆ step()
int64 Commit_order_trx_dependency_tracker::step |
( |
| ) |
|
◆ update_max_committed()
void Commit_order_trx_dependency_tracker::update_max_committed |
( |
int64 |
sequence_number | ) |
|
◆ m_last_blocking_transaction
int64 Commit_order_trx_dependency_tracker::m_last_blocking_transaction = SEQ_UNINIT |
|
private |
◆ m_max_committed_transaction
Logical_clock Commit_order_trx_dependency_tracker::m_max_committed_transaction |
|
private |
◆ m_transaction_counter
Logical_clock Commit_order_trx_dependency_tracker::m_transaction_counter |
|
private |
The documentation for this class was generated from the following files: