24#ifndef RPL_INFO_TABLE_H
25#define RPL_INFO_TABLE_H
133 static bool do_count_info(uint nparam,
const char *param_schema,
134 const char *param_table,
155 const char *param_schema,
156 const char *param_table,
159 static int do_reset_info(uint nparam,
const char *param_schema,
160 const char *param_table,
const char *channel_name,
165 bool do_set_info(
const int pos,
const char *value)
override;
167 const size_t size)
override;
168 bool do_set_info(
const int pos,
const int value)
override;
169 bool do_set_info(
const int pos,
const ulong value)
override;
170 bool do_set_info(
const int pos,
const float value)
override;
180 bool do_set_info(
const int pos,
const std::nullptr_t value)
override;
190 bool do_set_info(
const int pos,
const std::nullptr_t value,
191 const size_t size)
override;
193 const int pos,
char *value,
const size_t size,
194 const char *default_value)
override;
196 const int pos,
uchar *value,
const size_t size,
197 const uchar *default_value)
override;
199 const int pos,
int *value,
const int default_value)
override;
201 const int pos, ulong *value,
const ulong default_value)
override;
203 const int pos,
float *value,
const float default_value)
override;
224 Rpl_info_table(uint nparam,
const char *param_schema,
const char *param_table,
225 const uint param_n_pk_fields = 0,
226 const uint *param_pk_field_indexes =
nullptr,
227 MY_BITMAP const *nullable_bitmap =
nullptr);
Definition: rpl_info_factory.h:41
Definition: rpl_info_handler.h:58
enum_field_get_status
Definition: rpl_info_handler.h:66
Definition: rpl_info_table_access.h:38
Definition: rpl_info_table.h:48
char * do_get_description_info() override
Definition: rpl_info_table.cc:803
uint do_get_rpl_info_type() override
Definition: rpl_info_table.cc:652
bool is_transactional
Identifies if a table is transactional or non-transactional.
Definition: rpl_info_table.h:95
int do_remove_info() override
Definition: rpl_info_table.cc:276
int do_flush_info(const bool force) override
Flushes and syncs in-memory information into a stable storage.
Definition: rpl_info_table.cc:175
Rpl_info_table & operator=(const Rpl_info_table &info)
int do_prepare_info_for_read() override
Definition: rpl_info_table.cc:638
Rpl_info_table(const Rpl_info_table &info)
int do_prepare_info_for_write() override
Definition: rpl_info_table.cc:648
bool do_update_is_transactional() override
Definition: rpl_info_table.cc:807
int do_clean_info() override
Definition: rpl_info_table.cc:278
LEX_STRING str_schema
This property identifies the name of the schema where a replication table is created.
Definition: rpl_info_table.h:59
Rpl_info_handler::enum_field_get_status do_get_info(const int pos, char *value, const size_t size, const char *default_value) override
Definition: rpl_info_table.cc:713
static int do_reset_info(uint nparam, const char *param_schema, const char *param_table, const char *channel_name, MY_BITMAP const *nullable_bitmap)
Removes records belonging to the channel_name parameter's channel.
Definition: rpl_info_table.cc:338
LEX_STRING str_table
This property identifies the name of a replication table.
Definition: rpl_info_table.h:65
char * description
This property represents a description of the repository.
Definition: rpl_info_table.h:71
Rpl_info_table(uint nparam, const char *param_schema, const char *param_table, const uint param_n_pk_fields=0, const uint *param_pk_field_indexes=nullptr, MY_BITMAP const *nullable_bitmap=nullptr)
Definition: rpl_info_table.cc:59
Rpl_info_table_access * access
This is a pointer to a class that facilitates manipulation of replication tables.
Definition: rpl_info_table.h:89
int do_init_info() override
Definition: rpl_info_table.cc:106
void do_end_info() override
Definition: rpl_info_table.cc:636
const uint * m_pk_field_indexes
This property identifies the indexes of the primary keys fields in the table.
Definition: rpl_info_table.h:83
~Rpl_info_table() override
Definition: rpl_info_table.cc:96
enum_return_check do_check_info() override
Definition: rpl_info_table.cc:427
static bool do_count_info(uint nparam, const char *param_schema, const char *param_table, MY_BITMAP const *nullable_bitmap, ulonglong *counter)
Returns the number of entries in the table identified by: param_schema.param_table.
Definition: rpl_info_table.cc:532
bool do_is_transactional() override
Definition: rpl_info_table.cc:805
bool do_set_info(const int pos, const char *value) override
Definition: rpl_info_table.cc:654
bool verify_table_primary_key_fields(TABLE *table)
Verify if the table primary key fields are at the expected (column) position.
Definition: rpl_info_table.cc:839
static std::pair< bool, bool > table_in_use(uint nparam, const char *param_schema, const char *param_table, MY_BITMAP const *nullable_bitmap)
Returns if the table is being used, meaning it contains at least a line or some concurrency related e...
Definition: rpl_info_table.cc:588
uint m_n_pk_fields
This property represents the amount of fields in the repository primary key.
Definition: rpl_info_table.h:77
Definition: dynamic_ids.h:33
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:56
unsigned char uchar
Definition: my_inttypes.h:52
uint counter
Definition: mysqlimport.cc:58
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
size_t size(const char *const c)
Definition: base64.h:46
enum_return_check
Definition: rpl_info_handler.h:51
enum_find_method
Methods to find information in a table:
Definition: rpl_info_table.h:46
@ FIND_SCAN
Definition: rpl_info_table.h:46
@ FIND_KEY
Definition: rpl_info_table.h:46
Definition: mysql_lex_string.h:35
Definition: my_bitmap.h:43