MySQL 26.7.0
Source Code Documentation
mysql::csa::Dependency_adapter Class Referenceabstract

Class that resolves dependencies based on transaction sequence number and last committed. More...

#include <dependency_adapter.h>

Inheritance diagram for mysql::csa::Dependency_adapter:
[legend]

Public Types

using Task_id = mysql::scheduler::Task_id
 Alias for task identifier from scheduler. More...
 
using Task_id_resolved = std::optional< Task_id >
 Optional resolved task identifier. More...
 
using Clock_delay = std::optional< uint64_t >
 Optional clock delay value. More...
 

Public Member Functions

virtual ~Dependency_adapter ()=default
 Virtual destructor. More...
 
virtual void set_worker_num (uint32_t)
 Remember the worker pool size if needed. Default - unused. More...
 
virtual std::pair< Clock_delay, Task_id_resolvedsolve (Task_id id, int64_t seq_num, int64_t commit_parent)=0
 Solves dependencies - figures out after which task a task with the given id should run. More...
 

Detailed Description

Class that resolves dependencies based on transaction sequence number and last committed.

It returns id of dependent task for a dependency tracker in the scheduler

Member Typedef Documentation

◆ Clock_delay

using mysql::csa::Dependency_adapter::Clock_delay = std::optional<uint64_t>

Optional clock delay value.

◆ Task_id

Alias for task identifier from scheduler.

◆ Task_id_resolved

Optional resolved task identifier.

Constructor & Destructor Documentation

◆ ~Dependency_adapter()

virtual mysql::csa::Dependency_adapter::~Dependency_adapter ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ set_worker_num()

virtual void mysql::csa::Dependency_adapter::set_worker_num ( uint32_t  )
inlinevirtual

Remember the worker pool size if needed. Default - unused.

◆ solve()

virtual std::pair< Clock_delay, Task_id_resolved > mysql::csa::Dependency_adapter::solve ( Task_id  id,
int64_t  seq_num,
int64_t  commit_parent 
)
pure virtual

Solves dependencies - figures out after which task a task with the given id should run.

Parameters
idTask id
seq_numTransaction sequence number
commit_parentTransaction commit parent (LC)
Returns
A pair containing an optional clock delay and an optional resolved task ID

Implemented in mysql::csa::Dependency_adapter_lwm.


The documentation for this class was generated from the following file: