MySQL 8.4.0
Source Code Documentation
service_rpl_transaction_write_set.h File Reference

This service provides a function for plugins to get the write set of a given transaction. More...

#include <stdlib.h>

Go to the source code of this file.

Classes

struct  Transaction_write_set
 This structure is used to keep the list of the hash values of the records changed in the transaction. More...
 
struct  transaction_write_set_service_st
 

Macros

#define MYSQL_SERVICE_TRANSACTION_WRITE_SET_INCLUDED
 

Functions

Transaction_write_setget_transaction_write_set (unsigned long m_thread_id)
 
void require_full_write_set (bool requires_ws)
 
void set_write_set_memory_size_limit (uint64 size_limit)
 
void update_write_set_memory_size_limit (uint64 size_limit)
 

Variables

struct transaction_write_set_service_sttransaction_write_set_service
 

Detailed Description

This service provides a function for plugins to get the write set of a given transaction.

Implementation of service_rpl_transaction_write_set, see.

SYNOPSIS get_transaction_write_set() This service is used to fetch the write_set extracted for the currently executing transaction by passing the thread_id as an input parameter for the method.

Parameters
[in]-thread_id - It is the thread identifier of the currently executing thread.

In the current implementation it is being called during RUN_HOOK macro, on which we know that thread is on plugin context.

Cleanup : The service caller must take of the memory allocated during the service call to prevent memory leaks.

Macro Definition Documentation

◆ MYSQL_SERVICE_TRANSACTION_WRITE_SET_INCLUDED

#define MYSQL_SERVICE_TRANSACTION_WRITE_SET_INCLUDED

Function Documentation

◆ get_transaction_write_set()

Transaction_write_set * get_transaction_write_set ( unsigned long  m_thread_id)

◆ require_full_write_set()

void require_full_write_set ( bool  requires_ws)

◆ set_write_set_memory_size_limit()

void set_write_set_memory_size_limit ( uint64  size_limit)

◆ update_write_set_memory_size_limit()

void update_write_set_memory_size_limit ( uint64  size_limit)

Variable Documentation

◆ transaction_write_set_service

struct transaction_write_set_service_st * transaction_write_set_service