MySQL 9.2.0
Source Code Documentation
mysql_server_event_tracking_bridge_imp.h
Go to the documentation of this file.
1/* Copyright (c) 2022, 2024, Oracle and/or its affiliates.
2
3This program is free software; you can redistribute it and/or modify
4it under the terms of the GNU General Public License, version 2.0,
5as published by the Free Software Foundation.
6
7This program is designed to work with certain software (including
8but not limited to OpenSSL) that is licensed under separate terms,
9as designated in a particular file or component or in included license
10documentation. The authors of MySQL hereby grant you an additional
11permission to link the program and your derivative works with the
12separately licensed software that they have either included with
13the program or referenced in the documentation.
14
15This program is distributed in the hope that it will be useful,
16but WITHOUT ANY WARRANTY; without even the implied warranty of
17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18GNU General Public License, version 2.0, for more details.
19
20You should have received a copy of the GNU General Public License
21along with this program; if not, write to the Free Software
22Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
23
24#ifndef SQL_SERVER_COMPONENT_MYSQL_SERVER_EVENT_TRACKING_BRIDGE_IMP
25#define SQL_SERVER_COMPONENT_MYSQL_SERVER_EVENT_TRACKING_BRIDGE_IMP
26
27#include <cstddef>
28#include <string>
29#include <unordered_map>
30
43#include "mysql/plugin_audit.h"
44
47
49 public:
50 /**
51 Process an general audit event
52
53 @param [in] data Event specific data
54
55 @returns Status of processing the event
56 @retval false Success
57 @retval true Error
58*/
61};
62
64 public:
65 /**
66 Process a connection event
67
68 @param [in] data Event specific data
69
70 @returns Status of processing the event
71 @retval false Success
72 @retval true Error
73*/
76};
77
79 public:
80 /**
81 Process a parse event
82
83 @param [in] data Event specific data
84
85 @returns Status of processing the event
86 @retval false Success
87 @retval true Error
88*/
90};
91
93 public:
94 /**
95 Process a table access event
96
97 @param [in] data Event specific data
98
99 @returns Status of processing the event
100 @retval false Success
101 @retval true Error
102*/
103 static DEFINE_BOOL_METHOD(
105};
106
108 public:
109 /**
110 Process a global_variables event
111
112 @param [in] data Event specific data
113
114 @returns Status of processing the event
115 @retval false Success
116 @retval true Error
117 */
118 static DEFINE_BOOL_METHOD(
120};
121
123 public:
124 /**
125 Process a start-up event
126
127 @param [in] data Event specific data
128
129 @returns Status of processing the event
130 @retval false Success
131 @retval true Error
132 */
135
136 /**
137 Process a shutdown event
138
139 @param [in] data Event specific data
140
141 @returns Status of processing the event
142 @retval false Success
143 @retval true Error
144 */
147};
148
150 public:
151 /**
152 Process a command event
153
154 @param [in] data Event specific data
155
156 @returns Status of processing the event
157 @retval false Success
158 @retval true Error
159 */
162};
163
165 public:
166 /**
167 Process a query event
168
169 @param [in] data Event specific data
170
171 @returns Status of processing the event
172 @retval false Success
173 @retval true Error
174 */
176 (const mysql_event_tracking_query_data *data));
177};
178
180 public:
181 /**
182 Process a stored program event
183
184 @param [in] data Event specific data
185
186 @returns Status of processing the event
187 @retval false Success
188 @retval true Error
189 */
190 static DEFINE_BOOL_METHOD(
192};
193
195 public:
196 /**
197 Process a authentication event
198
199 @param [in] data Event specific data
200
201 @returns Status of processing the event
202 @retval false Success
203 @retval true Error
204 */
205 static DEFINE_BOOL_METHOD(
207};
208
210 public:
211 /**
212 Process a message event
213
214 @param [in] data Event specific data
215
216 @returns Status of processing the event
217 @retval false Success
218 @retval true Error
219 */
222};
223#endif // !SQL_SERVER_COMPONENT_MYSQL_SERVER_EVENT_TRACKING_BRIDGE_IMP
Definition: mysql_server_event_tracking_bridge_imp.h:194
static mysql_service_status_t notify(const mysql_event_tracking_authentication_data *data) noexcept
Process a authentication event.
Definition: mysql_server_event_tracking_bridge_imp.cc:731
Definition: mysql_server_event_tracking_bridge_imp.h:149
static mysql_service_status_t notify(const mysql_event_tracking_command_data *data) noexcept
Process a command event.
Definition: mysql_server_event_tracking_bridge_imp.cc:787
Definition: mysql_server_event_tracking_bridge_imp.h:63
static mysql_service_status_t notify(const mysql_event_tracking_connection_data *data) noexcept
Process a connection event.
Definition: mysql_server_event_tracking_bridge_imp.cc:817
Definition: mysql_server_event_tracking_bridge_imp.h:48
static mysql_service_status_t notify(const mysql_event_tracking_general_data *data) noexcept
Process an general audit event.
Definition: mysql_server_event_tracking_bridge_imp.cc:861
Definition: mysql_server_event_tracking_bridge_imp.h:107
static mysql_service_status_t notify(const mysql_event_tracking_global_variable_data *data) noexcept
Process a global_variables event.
Definition: mysql_server_event_tracking_bridge_imp.cc:923
Definition: mysql_server_event_tracking_bridge_imp.h:122
static mysql_service_status_t notify_startup(const mysql_event_tracking_startup_data *data) noexcept
Process a start-up event.
Definition: mysql_server_event_tracking_bridge_imp.cc:993
static mysql_service_status_t notify_shutdown(const mysql_event_tracking_shutdown_data *data) noexcept
Process a shutdown event.
Definition: mysql_server_event_tracking_bridge_imp.cc:955
Definition: mysql_server_event_tracking_bridge_imp.h:209
static mysql_service_status_t notify(const mysql_event_tracking_message_data *data) noexcept
Process a message event.
Definition: mysql_server_event_tracking_bridge_imp.cc:1020
Definition: mysql_server_event_tracking_bridge_imp.h:78
static mysql_service_status_t notify(mysql_event_tracking_parse_data *data) noexcept
Process a parse event.
Definition: mysql_server_event_tracking_bridge_imp.cc:1077
Definition: mysql_server_event_tracking_bridge_imp.h:164
static mysql_service_status_t notify(const mysql_event_tracking_query_data *data) noexcept
Process a query event.
Definition: mysql_server_event_tracking_bridge_imp.cc:1138
Definition: mysql_server_event_tracking_bridge_imp.h:179
static mysql_service_status_t notify(const mysql_event_tracking_stored_program_data *data) noexcept
Process a stored program event.
Definition: mysql_server_event_tracking_bridge_imp.cc:1176
Definition: mysql_server_event_tracking_bridge_imp.h:92
static mysql_service_status_t notify(const mysql_event_tracking_table_access_data *data) noexcept
Process a table access event.
Definition: mysql_server_event_tracking_bridge_imp.cc:1207
Authentication event tracking.
Command event tracking.
Connection event tracking.
General event tracking.
Globalvariable access event tracking.
Program lifecycle event tracking.
Message event tracking.
Parse event tracking.
Query event tracking.
Stored program execute event tracking.
Table access event tracking.
Specifies macros to define Service Implementations.
#define DEFINE_BOOL_METHOD(name, args)
A short macro to define method that returns bool, which is the most common case.
Definition: service_implementation.h:88
Structure for Authentication event tracking.
Definition: event_tracking_authentication_defs.h:79
Structure for Command event tracking.
Definition: event_tracking_command_defs.h:55
Structure for Connection event tracking.
Definition: event_tracking_connection_defs.h:60
Structure for General event tracking.
Definition: event_tracking_general_defs.h:59
Structure for Global variable event tracking.
Definition: event_tracking_global_variable_defs.h:50
Structure for Message event tracking.
Definition: event_tracking_message_defs.h:86
Structure for the Parse event tracking.
Definition: event_tracking_parse_defs.h:68
Structure for Query event tracking.
Definition: event_tracking_query_defs.h:59
Structure for Shutdown event tracking.
Definition: event_tracking_lifecycle_defs.h:87
Structure for Startup event tracking.
Definition: event_tracking_lifecycle_defs.h:49
Structure for Stored program event tracking.
Definition: event_tracking_stored_program_defs.h:51
Structure for Table access event tracking.
Definition: event_tracking_table_access_defs.h:59