23#ifndef RPL_INFO_TABLE_H
24#define RPL_INFO_TABLE_H
132 static bool do_count_info(uint nparam,
const char *param_schema,
133 const char *param_table,
154 const char *param_schema,
155 const char *param_table,
158 static int do_reset_info(uint nparam,
const char *param_schema,
159 const char *param_table,
const char *channel_name,
164 bool do_set_info(
const int pos,
const char *value)
override;
166 const size_t size)
override;
167 bool do_set_info(
const int pos,
const int value)
override;
168 bool do_set_info(
const int pos,
const ulong value)
override;
169 bool do_set_info(
const int pos,
const float value)
override;
179 bool do_set_info(
const int pos,
const std::nullptr_t value)
override;
189 bool do_set_info(
const int pos,
const std::nullptr_t value,
190 const size_t size)
override;
192 const int pos,
char *value,
const size_t size,
193 const char *default_value)
override;
195 const int pos,
uchar *value,
const size_t size,
196 const uchar *default_value)
override;
198 const int pos,
int *value,
const int default_value)
override;
200 const int pos, ulong *value,
const ulong default_value)
override;
202 const int pos,
float *value,
const float default_value)
override;
223 Rpl_info_table(uint nparam,
const char *param_schema,
const char *param_table,
224 const uint param_n_pk_fields = 0,
225 const uint *param_pk_field_indexes =
nullptr,
226 MY_BITMAP const *nullable_bitmap =
nullptr);
Definition: rpl_info_factory.h:43
Definition: rpl_info_handler.h:57
enum_field_get_status
Definition: rpl_info_handler.h:65
Definition: rpl_info_table_access.h:37
Definition: rpl_info_table.h:47
char * do_get_description_info() override
Definition: rpl_info_table.cc:802
uint do_get_rpl_info_type() override
Definition: rpl_info_table.cc:651
bool is_transactional
Identifies if a table is transactional or non-transactional.
Definition: rpl_info_table.h:94
int do_remove_info() override
Definition: rpl_info_table.cc:275
int do_flush_info(const bool force) override
Flushes and syncs in-memory information into a stable storage.
Definition: rpl_info_table.cc:174
Rpl_info_table & operator=(const Rpl_info_table &info)
int do_prepare_info_for_read() override
Definition: rpl_info_table.cc:637
Rpl_info_table(const Rpl_info_table &info)
int do_prepare_info_for_write() override
Definition: rpl_info_table.cc:647
bool do_update_is_transactional() override
Definition: rpl_info_table.cc:806
int do_clean_info() override
Definition: rpl_info_table.cc:277
LEX_STRING str_schema
This property identifies the name of the schema where a replication table is created.
Definition: rpl_info_table.h:58
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:712
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:337
LEX_STRING str_table
This property identifies the name of a replication table.
Definition: rpl_info_table.h:64
char * description
This property represents a description of the repository.
Definition: rpl_info_table.h:70
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:58
Rpl_info_table_access * access
This is a pointer to a class that facilitates manipulation of replication tables.
Definition: rpl_info_table.h:88
int do_init_info() override
Definition: rpl_info_table.cc:105
void do_end_info() override
Definition: rpl_info_table.cc:635
const uint * m_pk_field_indexes
This property identifies the indexes of the primary keys fields in the table.
Definition: rpl_info_table.h:82
~Rpl_info_table() override
Definition: rpl_info_table.cc:95
enum_return_check do_check_info() override
Definition: rpl_info_table.cc:426
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:531
bool do_is_transactional() override
Definition: rpl_info_table.cc:804
bool do_set_info(const int pos, const char *value) override
Definition: rpl_info_table.cc:653
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:838
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:587
uint m_n_pk_fields
This property represents the amount of fields in the repository primary key.
Definition: rpl_info_table.h:76
Definition: dynamic_ids.h:32
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
unsigned char uchar
Definition: my_inttypes.h:51
uint counter
Definition: mysqlimport.cc:57
static PFS_engine_table_share_proxy table
Definition: pfs.cc:60
enum_return_check
Definition: rpl_info_handler.h:50
enum_find_method
Methods to find information in a table:
Definition: rpl_info_table.h:45
@ FIND_SCAN
Definition: rpl_info_table.h:45
@ FIND_KEY
Definition: rpl_info_table.h:45
Definition: mysql_lex_string.h:34
Definition: my_bitmap.h:42