MySQL 8.0.33
Source Code Documentation
table_replication_applier_status.h
Go to the documentation of this file.
1/*
2 Copyright (c) 2013, 2023, 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 also distributed 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 included with MySQL.
14
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License, version 2.0, for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
23
24#ifndef TABLE_REPLICATION_APPLIER_STATUS_H
25#define TABLE_REPLICATION_APPLIER_STATUS_H
26
27/**
28 @file storage/perfschema/table_replication_applier_status.h
29 Table replication_applier_status (declarations).
30*/
31
32#include <sys/types.h>
33
34#include "my_base.h"
35#include "sql/rpl_info.h" /*CHANNEL_NAME_LENGTH*/
38
39class Field;
40class Master_info;
41class Plugin_table;
42struct TABLE;
43struct THR_LOCK;
44
45/**
46 @addtogroup performance_schema_tables
47 @{
48*/
49
50#ifndef ENUM_RPL_YES_NO
51#define ENUM_RPL_YES_NO
52/** enum values for Service_State field*/
54#endif
55
56/** A row in the table. */
64};
65
67 public:
69 : PFS_engine_index(&m_key), m_key("CHANNEL_NAME") {}
70
71 ~PFS_index_rpl_applier_status() override = default;
72
73 virtual bool match(Master_info *mi);
74
75 private:
77};
78
79/** Table PERFORMANCE_SCHEMA.replication_applier_status */
82
83 private:
84 int make_row(Master_info *mi);
85
86 /** Table share lock. */
88 /** Table definition. */
90
91 /** Current row */
93 /** Current position. */
95 /** Next position. */
97
98 protected:
99 /**
100 Read the current row values.
101 @param table Table handle
102 @param buf row buffer
103 @param fields Table fields
104 @param read_all true if all columns are read.
105 */
106
107 int read_row_values(TABLE *table, unsigned char *buf, Field **fields,
108 bool read_all) override;
109
111
112 public:
114
115 /** Table share. */
118 static ha_rows get_row_count();
119
120 void reset_position() override;
121
122 int rnd_next() override;
123 int rnd_pos(const void *pos) override;
124
125 int index_init(uint idx, bool sorted) override;
126 int index_next() override;
127
128 private:
130};
131
132/** @} */
133#endif
Definition: field.h:574
Definition: rpl_mi.h:86
Definition: pfs_engine_table.h:299
An abstract PERFORMANCE_SCHEMA table.
Definition: pfs_engine_table.h:69
Definition: table_replication_applier_status.h:66
virtual bool match(Master_info *mi)
Definition: table_replication_applier_status.cc:82
PFS_key_name m_key
Definition: table_replication_applier_status.h:76
PFS_index_rpl_applier_status()
Definition: table_replication_applier_status.h:68
~PFS_index_rpl_applier_status() override=default
Definition: table_helper.h:1507
Class to hold information regarding a table to be created on behalf of a plugin.
Definition: plugin_table.h:39
Table PERFORMANCE_SCHEMA.replication_applier_status.
Definition: table_replication_applier_status.h:80
PFS_index_rpl_applier_status * m_opened_index
Definition: table_replication_applier_status.h:129
static Plugin_table m_table_def
Table definition.
Definition: table_replication_applier_status.h:89
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.cc:234
static PFS_engine_table * create(PFS_engine_table_share *)
Definition: table_replication_applier_status.cc:99
PFS_simple_index pos_t
Definition: table_replication_applier_status.h:81
static PFS_engine_table_share m_share
Table share.
Definition: table_replication_applier_status.h:116
static ha_rows get_row_count()
Definition: table_replication_applier_status.cc:114
st_row_applier_status m_row
Current row.
Definition: table_replication_applier_status.h:92
table_replication_applier_status()
Definition: table_replication_applier_status.cc:104
int rnd_pos(const void *pos) override
Fetch a row by position.
Definition: table_replication_applier_status.cc:137
int index_next() override
Find key in index, read record.
Definition: table_replication_applier_status.cc:166
pos_t m_next_pos
Next position.
Definition: table_replication_applier_status.h:96
int rnd_next() override
Fetch the next row in this cursor.
Definition: table_replication_applier_status.cc:118
void reset_position() override
Reset the cursor position to the beginning of the table.
Definition: table_replication_applier_status.cc:109
int index_init(uint idx, bool sorted) override
Definition: table_replication_applier_status.cc:156
static THR_LOCK m_table_lock
Table share lock.
Definition: table_replication_applier_status.h:87
int make_row(Master_info *mi)
Definition: table_replication_applier_status.cc:191
pos_t m_pos
Current position.
Definition: table_replication_applier_status.h:94
@ PS_RPL_NO
Definition: table_replication_applier_status.h:53
@ PS_RPL_YES
Definition: table_replication_applier_status.h:53
This file includes constants used by all storage engines.
my_off_t ha_rows
Definition: my_base.h:1139
Definition: buf0block_hint.cc:29
Performance schema tables (declarations).
#define CHANNEL_NAME_LENGTH
Definition: rpl_info.h:40
A PERFORMANCE_SCHEMA table share.
Definition: pfs_engine_table.h:357
Position of a cursor, for simple iterations.
Definition: pfs_engine_table.h:557
Definition: table.h:1395
Definition: thr_lock.h:138
A row in the table.
Definition: table_replication_applier_status.h:57
uint channel_name_length
Definition: table_replication_applier_status.h:59
char channel_name[CHANNEL_NAME_LENGTH]
Definition: table_replication_applier_status.h:58
uint remaining_delay
Definition: table_replication_applier_status.h:61
ulong count_transactions_retries
Definition: table_replication_applier_status.h:63
bool remaining_delay_is_set
Definition: table_replication_applier_status.h:62
enum_rpl_yes_no service_state
Definition: table_replication_applier_status.h:60
Helpers to implement a performance schema table.
enum_rpl_yes_no
Definition: table_replication_applier_configuration.h:49
unsigned int uint
Definition: uca9-dump.cc:74