MySQL 8.0.40
Source Code Documentation
|
DB partitioned submode For significance of each method check definition of Mts_submode. More...
#include <rpl_mta_submode.h>
Public Member Functions | |
Mts_submode_database () | |
int | schedule_next_event (Relay_log_info *rli, Log_event *ev) override |
Does necessary arrangement before scheduling next event. More... | |
void | attach_temp_tables (THD *thd, const Relay_log_info *rli, Query_log_event *ev) override |
Logic to attach temporary tables. More... | |
void | detach_temp_tables (THD *thd, const Relay_log_info *rli, Query_log_event *ev) override |
Logic to detach the temporary tables from the worker threads upon event execution. More... | |
Slave_worker * | get_least_occupied_worker (Relay_log_info *, Slave_worker_array *ws, Log_event *) override |
Logic to get least occupied worker when the sql mts_submode= database. More... | |
~Mts_submode_database () override=default | |
int | wait_for_workers_to_finish (Relay_log_info *rli, Slave_worker *ignore=nullptr) override |
Function is called by Coordinator when it identified an event requiring sequential execution. More... | |
bool | set_multi_threaded_applier_context (const Relay_log_info &rli, Log_event &ev) override |
Sets additional context before the event is set to execute. More... | |
Public Member Functions inherited from Mts_submode | |
Mts_submode ()=default | |
enum_mts_parallel_type | get_type () |
virtual | ~Mts_submode ()=default |
Private Member Functions | |
bool | unfold_transaction_payload_event (Format_description_event &fde, Transaction_payload_log_event &tple, std::vector< Log_event * > &events) |
Additional Inherited Members | |
Protected Attributes inherited from Mts_submode | |
enum_mts_parallel_type | type |
DB partitioned submode For significance of each method check definition of Mts_submode.
|
inline |
|
overridedefault |
|
overridevirtual |
Logic to attach temporary tables.
Implements Mts_submode.
|
overridevirtual |
Logic to detach the temporary tables from the worker threads upon event execution.
thd | THD instance |
rli | Relay_log_info pointer |
ev | Query_log_event that is being applied |
Implements Mts_submode.
|
overridevirtual |
Logic to get least occupied worker when the sql mts_submode= database.
ws | array of worker threads |
Implements Mts_submode.
|
overridevirtual |
Does necessary arrangement before scheduling next event.
Implements Mts_submode.
|
overridevirtual |
Sets additional context before the event is set to execute.
Reimplemented from Mts_submode.
|
private |
|
overridevirtual |
Function is called by Coordinator when it identified an event requiring sequential execution.
Creating sequential context for the event includes waiting for the assigned to Workers tasks to be completed and their resources such as temporary tables be returned to Coordinator's repository. In case all workers are waited Coordinator changes its group status.
rli | Relay_log_info instance of Coordinator |
ignore | Optional Worker instance pointer if the sequential context is established due for the ignore Worker. Its resources are to be retained. |
or -1 to indicate there has been a failure on a not-ignored Worker as indicated by its running_status so synchronization can't succeed.
Implements Mts_submode.