24#ifndef RPL_TRANSACTION_WRITE_SET_CTX_H
25#define RPL_TRANSACTION_WRITE_SET_CTX_H
Thread class responsible for the collection of write sets associated to a transaction.
Definition: rpl_transaction_write_set_ctx.h:101
void reset_savepoint_list()
Function to push savepoint data to a list and clear the savepoint map in order to create another iden...
Definition: rpl_transaction_write_set_ctx.cc:308
std::vector< uint64 > write_set
Definition: rpl_transaction_write_set_ctx.h:251
bool get_has_related_foreign_keys()
Definition: rpl_transaction_write_set_ctx.cc:132
static std::atomic< bool > m_global_component_requires_write_sets
There is a component requiring write sets on transactions.
Definition: rpl_transaction_write_set_ctx.h:271
size_t write_set_memory_size()
Definition: rpl_transaction_write_set_ctx.cc:142
std::list< std::map< std::string, size_t > > savepoint_list
Create a savepoint context hierarchy to support encapsulation of identifier name when function or tri...
Definition: rpl_transaction_write_set_ctx.h:266
std::vector< uint64 > * get_write_set()
Definition: rpl_transaction_write_set_ctx.cc:98
bool add_write_set(uint64 hash)
Function to add the write set of the hash of the PKE in the std::vector in the transaction_ctx object...
Definition: rpl_transaction_write_set_ctx.cc:64
bool m_local_has_reached_write_set_limit
True if the write set size is over the configure limit.
Definition: rpl_transaction_write_set_ctx.h:288
bool m_local_allow_drop_write_set
Even if a component says all transactions require write sets, this variable says this thread should d...
Definition: rpl_transaction_write_set_ctx.h:285
static void set_global_write_set_memory_size_limit(uint64 limit)
Adds a memory limit for write sets.
Definition: rpl_transaction_write_set_ctx.cc:157
bool m_has_missing_keys
Definition: rpl_transaction_write_set_ctx.h:252
static void set_global_require_full_write_set(bool requires_ws)
Prevent or allow this class to discard writesets exceeding a size limit If true, a transaction will n...
Definition: rpl_transaction_write_set_ctx.cc:147
void rollback_to_savepoint(char *name)
Function to delete all data added to write set and savepoint since SAVEPOINT identifier was added to ...
Definition: rpl_transaction_write_set_ctx.cc:264
void set_has_related_foreign_keys()
Definition: rpl_transaction_write_set_ctx.cc:127
void set_local_ignore_write_set_memory_limit(bool ignore_limit)
Set if the thread shall ignore any configured memory limit for write set collection.
Definition: rpl_transaction_write_set_ctx.cc:178
void add_savepoint(char *name)
Function to add a new SAVEPOINT identifier in the savepoint map in the transaction_ctx object.
Definition: rpl_transaction_write_set_ctx.cc:223
void reset_state()
Reset the object so it can be used for a new transaction.
Definition: rpl_transaction_write_set_ctx.cc:103
std::map< std::string, size_t > savepoint
Contains information related to SAVEPOINTs.
Definition: rpl_transaction_write_set_ctx.h:260
void del_savepoint(char *name)
Function to delete a SAVEPOINT identifier in the savepoint map in the transaction_ctx object.
Definition: rpl_transaction_write_set_ctx.cc:252
void restore_savepoint_list()
Restore previous savepoint map context, called after executed trigger or function.
Definition: rpl_transaction_write_set_ctx.cc:315
virtual ~Rpl_transaction_write_set_ctx()=default
void set_has_missing_keys()
Definition: rpl_transaction_write_set_ctx.cc:117
static void update_global_write_set_memory_size_limit(uint64 limit)
Updates the memory limit for write sets.
Definition: rpl_transaction_write_set_ctx.cc:163
bool was_write_set_limit_reached()
Identifies situations where the limit for number of write set entries already exceeded the configure ...
Definition: rpl_transaction_write_set_ctx.cc:137
bool m_has_related_foreign_keys
Definition: rpl_transaction_write_set_ctx.h:253
void clear_write_set()
Definition: rpl_transaction_write_set_ctx.cc:110
static std::atomic< uint64 > m_global_write_set_memory_size_limit
Memory size limit enforced for write set collection.
Definition: rpl_transaction_write_set_ctx.h:273
void set_local_allow_drop_write_set(bool allow_drop_write_set)
Set if the thread shall if needed discard write sets.
Definition: rpl_transaction_write_set_ctx.cc:183
bool get_has_missing_keys()
Definition: rpl_transaction_write_set_ctx.cc:122
Rpl_transaction_write_set_ctx()
Definition: rpl_transaction_write_set_ctx.cc:48
bool m_ignore_write_set_memory_limit
If the thread should or not ignore the set limit for write set collection.
Definition: rpl_transaction_write_set_ctx.h:279
Some integer typedefs for easier portability.
uint64_t uint64
Definition: my_inttypes.h:69
case opt name
Definition: sslopt-case.h:33