MySQL 9.1.0
Source Code Documentation
table_replication_applier_status_by_coordinator.h
Go to the documentation of this file.
1/*
2 Copyright (c) 2013, 2024, Oracle and/or its affiliates.
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License, version 2.0,
6 as published by the Free Software Foundation.
7
8 This program is designed to work with certain software (including
9 but not limited to OpenSSL) that is licensed under separate terms,
10 as designated in a particular file or component or in included license
11 documentation. The authors of MySQL hereby grant you an additional
12 permission to link the program and your derivative works with the
13 separately licensed software that they have either included with
14 the program or referenced in the documentation.
15
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License, version 2.0, for more details.
20
21 You should have received a copy of the GNU General Public License
22 along with this program; if not, write to the Free Software
23 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
24
25#ifndef TABLE_REPLICATION_APPLIER_STATUS_BY_COORDINATOR_H
26#define TABLE_REPLICATION_APPLIER_STATUS_BY_COORDINATOR_H
27
28/**
29 @file storage/perfschema/table_replication_applier_status_by_coordinator.h
30 Table replication_applier_status_by_coordinator(declarations).
31*/
32
33#include <sys/types.h>
34
35#include "my_base.h"
36#include "my_inttypes.h"
37#include "sql/rpl_gtid.h"
38#include "sql/rpl_info.h" /*CHANNEL_NAME_LENGTH*/
39#include "sql/rpl_reporting.h"
42
43class Field;
44class Master_info;
45class Plugin_table;
46struct TABLE;
47struct THR_LOCK;
48
49/**
50 @addtogroup performance_schema_tables
51 @{
52*/
53
54#ifndef ENUM_RPL_YES_NO
55#define ENUM_RPL_YES_NO
56/** enum values for Service_State of coordinator thread */
58 PS_RPL_YES = 1, /* Service_State= on */
59 PS_RPL_NO /* Service_State= off */
60};
61#endif
62
63/*
64 A row in coordinator's table. The fields with string values have an
65 additional length field denoted by <field_name>_length.
66*/
88};
89
91 public:
94
96
97 virtual bool match(Master_info *mi) = 0;
98};
99
102 public:
105
107
108 bool match(Master_info *mi) override;
109
110 private:
112};
113
116 public:
119
121
122 bool match(Master_info *mi) override;
123
124 private:
126};
127
128/** Table PERFORMANCE_SCHEMA.replication_applier_status_by_coordinator */
130 : public PFS_engine_table {
132
133 private:
134 int make_row(Master_info *mi);
135
136 /** Table share lock. */
138 /** Table definition. */
140
141 /** Current row */
143 /** Current position. */
145 /** Next position. */
147
148 protected:
149 /**
150 Read the current row values.
151 @param table Table handle
152 @param buf row buffer
153 @param fields Table fields
154 @param read_all true if all columns are read.
155 */
156
157 int read_row_values(TABLE *table, unsigned char *buf, Field **fields,
158 bool read_all) override;
159
161
162 public:
164
165 /** Table share. */
168 static ha_rows get_row_count();
169 void reset_position() override;
170
171 int rnd_next() override;
172 int rnd_pos(const void *pos) override;
173
174 int index_init(uint idx, bool sorted) override;
175 int index_next() override;
176
177 private:
179};
180
181/** @} */
182#endif
Definition: field.h:577
Definition: rpl_mi.h:87
Definition: pfs_engine_table.h:301
Definition: pfs_engine_table.h:268
An abstract PERFORMANCE_SCHEMA table.
Definition: pfs_engine_table.h:70
Definition: table_replication_applier_status_by_coordinator.h:101
bool match(Master_info *mi) override
Definition: table_replication_applier_status_by_coordinator.cc:101
~PFS_index_rpl_applier_status_by_coord_by_channel() override=default
PFS_index_rpl_applier_status_by_coord_by_channel()
Definition: table_replication_applier_status_by_coordinator.h:103
PFS_key_name m_key
Definition: table_replication_applier_status_by_coordinator.h:111
Definition: table_replication_applier_status_by_coordinator.h:115
PFS_key_thread_id m_key
Definition: table_replication_applier_status_by_coordinator.h:125
PFS_index_rpl_applier_status_by_coord_by_thread()
Definition: table_replication_applier_status_by_coordinator.h:117
~PFS_index_rpl_applier_status_by_coord_by_thread() override=default
bool match(Master_info *mi) override
Definition: table_replication_applier_status_by_coordinator.cc:118
Definition: table_replication_applier_status_by_coordinator.h:90
~PFS_index_rpl_applier_status_by_coord() override=default
PFS_index_rpl_applier_status_by_coord(PFS_engine_key *key)
Definition: table_replication_applier_status_by_coordinator.h:92
virtual bool match(Master_info *mi)=0
Definition: table_helper.h:1569
Definition: table_helper.h:1279
Class to hold information regarding a table to be created on behalf of a plugin.
Definition: plugin_table.h:40
Table PERFORMANCE_SCHEMA.replication_applier_status_by_coordinator.
Definition: table_replication_applier_status_by_coordinator.h:130
PFS_simple_index pos_t
Definition: table_replication_applier_status_by_coordinator.h:131
static PFS_engine_table * create(PFS_engine_table_share *)
Definition: table_replication_applier_status_by_coordinator.cc:145
st_row_coordinator m_row
Current row.
Definition: table_replication_applier_status_by_coordinator.h:142
void reset_position() override
Reset the cursor position to the beginning of the table.
Definition: table_replication_applier_status_by_coordinator.cc:160
pos_t m_next_pos
Next position.
Definition: table_replication_applier_status_by_coordinator.h:146
int rnd_pos(const void *pos) override
Fetch a row by position.
Definition: table_replication_applier_status_by_coordinator.cc:198
table_replication_applier_status_by_coordinator()
Definition: table_replication_applier_status_by_coordinator.cc:151
static Plugin_table m_table_def
Table definition.
Definition: table_replication_applier_status_by_coordinator.h:139
PFS_index_rpl_applier_status_by_coord * m_opened_index
Definition: table_replication_applier_status_by_coordinator.h:178
int make_row(Master_info *mi)
Definition: table_replication_applier_status_by_coordinator.cc:269
static ha_rows get_row_count()
Definition: table_replication_applier_status_by_coordinator.cc:165
static PFS_engine_table_share m_share
Table share.
Definition: table_replication_applier_status_by_coordinator.h:166
int read_row_values(TABLE *table, unsigned char *buf, Field **fields, bool read_all) override
Read the current row values.
Definition: table_replication_applier_status_by_coordinator.cc:342
pos_t m_pos
Current position.
Definition: table_replication_applier_status_by_coordinator.h:144
int rnd_next() override
Fetch the next row in this cursor.
Definition: table_replication_applier_status_by_coordinator.cc:169
int index_next() override
Find key in index, read record.
Definition: table_replication_applier_status_by_coordinator.cc:235
static THR_LOCK m_table_lock
Table share lock.
Definition: table_replication_applier_status_by_coordinator.h:137
int index_init(uint idx, bool sorted) override
Definition: table_replication_applier_status_by_coordinator.cc:215
@ PS_RPL_NO
Definition: table_replication_applier_status_by_coordinator.h:59
@ PS_RPL_YES
Definition: table_replication_applier_status_by_coordinator.h:58
This file includes constants used by all storage engines.
my_off_t ha_rows
Definition: my_base.h:1141
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:56
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
Definition: buf0block_hint.cc:30
Performance schema tables (declarations).
required string key
Definition: replication_asynchronous_connection_failover.proto:60
#define CHANNEL_NAME_LENGTH
Definition: rpl_info.h:41
#define MAX_SLAVE_ERRMSG
Maximum size of an error message from a slave thread.
Definition: rpl_reporting.h:42
static const int MAX_TEXT_LENGTH
The maximal length of the textual representation of a TSID, not including the terminating '\0'.
Definition: rpl_gtid.h:1138
A PERFORMANCE_SCHEMA table share.
Definition: pfs_engine_table.h:359
Position of a cursor, for simple iterations.
Definition: pfs_engine_table.h:567
Definition: table.h:1421
Definition: thr_lock.h:139
Definition: table_replication_applier_status_by_coordinator.h:67
ulonglong last_processed_trx_end_buffer_timestamp
Definition: table_replication_applier_status_by_coordinator.h:82
ulonglong last_processed_trx_immediate_commit_timestamp
Definition: table_replication_applier_status_by_coordinator.h:80
uint processing_trx_length
Definition: table_replication_applier_status_by_coordinator.h:84
char processing_trx[Gtid::MAX_TEXT_LENGTH+1]
Definition: table_replication_applier_status_by_coordinator.h:83
ulonglong last_error_timestamp
Definition: table_replication_applier_status_by_coordinator.h:76
char last_error_message[MAX_SLAVE_ERRMSG]
Definition: table_replication_applier_status_by_coordinator.h:74
uint last_processed_trx_length
Definition: table_replication_applier_status_by_coordinator.h:78
ulonglong processing_trx_immediate_commit_timestamp
Definition: table_replication_applier_status_by_coordinator.h:86
char channel_name[CHANNEL_NAME_LENGTH]
Definition: table_replication_applier_status_by_coordinator.h:68
ulonglong processing_trx_original_commit_timestamp
Definition: table_replication_applier_status_by_coordinator.h:85
uint last_error_number
Definition: table_replication_applier_status_by_coordinator.h:73
uint last_error_message_length
Definition: table_replication_applier_status_by_coordinator.h:75
bool thread_id_is_null
Definition: table_replication_applier_status_by_coordinator.h:71
ulonglong processing_trx_start_buffer_timestamp
Definition: table_replication_applier_status_by_coordinator.h:87
ulonglong last_processed_trx_original_commit_timestamp
Definition: table_replication_applier_status_by_coordinator.h:79
char last_processed_trx[Gtid::MAX_TEXT_LENGTH+1]
Definition: table_replication_applier_status_by_coordinator.h:77
ulonglong last_processed_trx_start_buffer_timestamp
Definition: table_replication_applier_status_by_coordinator.h:81
uint channel_name_length
Definition: table_replication_applier_status_by_coordinator.h:69
enum_rpl_yes_no service_state
Definition: table_replication_applier_status_by_coordinator.h:72
ulonglong thread_id
Definition: table_replication_applier_status_by_coordinator.h:70
Helpers to implement a performance schema table.
enum_rpl_yes_no
Definition: table_replication_applier_configuration.h:50