MySQL 8.4.0
Source Code Documentation
rpl_replica_commit_order_manager.h File Reference
#include <stddef.h>
#include <memory>
#include <vector>
#include "my_dbug.h"
#include "my_inttypes.h"
#include "mysql/components/services/bits/mysql_cond_bits.h"
#include "mysql/components/services/bits/mysql_mutex_bits.h"
#include "sql/changestreams/apply/commit_order_queue.h"
#include "sql/rpl_rli_pdb.h"

Go to the source code of this file.

Classes

class  Commit_order_manager
 On a replica and only on a replica, this class is responsible for committing the applied transactions in the same order as was observed on the source. More...
 
class  Commit_order_lock_graph
 MDL subgraph inspector class to be used as a ticket to wait on by worker threads. More...
 

Functions

bool has_commit_order_manager (const THD *thd)
 Determines whether current thread shall run the procedure here to check whether it waits for its turn (and when its turn comes unregister from the commit order queue). More...
 

Function Documentation

◆ has_commit_order_manager()

bool has_commit_order_manager ( const THD thd)

Determines whether current thread shall run the procedure here to check whether it waits for its turn (and when its turn comes unregister from the commit order queue).

The sql commands ALTER TABLE, ANALYZE TABLE, DROP DB, DROP EVENT, DROP FUNCTION, DROP PROCEDURE, DROP TRIGGER, DROP TABLE, DROP VIEW, OPTIMIZE TABLE and REPAIR TABLE shall run this procedure here, as an exception, because these transactions have multiple intermediate commits. Therefore cannot predetermine when the last commit is done.

Parameters
[in]thdThe THD object of current thread.
Return values
falseCommit_order_manager object is not initialized
trueCommit_order_manager object is initialized