MySQL 8.4.0
Source Code Documentation
mysql_debug_keyword_service.h
Go to the documentation of this file.
1/* Copyright (c) 2023, 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 DEBUG_KEYWORD_SERVICE_GUARD
25#define DEBUG_KEYWORD_SERVICE_GUARD
26
28
29/**
30 @ingroup group_components_services_inventory
31
32 A service to check if debug keyword status.
33
34 The debug keywords are used to implement various functionality for debugging.
35 See my_dbug.h for more info. One of the functionality is @ref DBUG_EXECUTE_IF.
36
37 This service lookup_debug_keyword() is used to implement @ref DBUG_EXECUTE_IF
38 for use in components. The @ref DBUG_EXECUTE_IF is implemented in
39 util/debug_execute_if.h
40
41 The usage remains the same way as used in server. E.g.,
42 DBUG_EXECUTE_IF("debug point", { ...code... return false; });
43*/
44BEGIN_SERVICE_DEFINITION(mysql_debug_keyword_service)
45
46/**
47 Check if debug keyword is enabled.
48
49 @param[in] name The debug keyword to check if its enabled.
50 The memory for char* argument is managed by service invoker.
51 @retval true failure
52 @retval false success
53
54 @return true if keyword is enabled.
55*/
56DECLARE_BOOL_METHOD(lookup_debug_keyword, (const char *name));
57
58END_SERVICE_DEFINITION(mysql_debug_keyword_service)
59
60#endif // DEBUG_KEYWORD_SERVICE_GUARD
#define END_SERVICE_DEFINITION(name)
A macro to end the last Service definition started with the BEGIN_SERVICE_DEFINITION macro.
Definition: service.h:91
#define BEGIN_SERVICE_DEFINITION(name)
Declares a new Service.
Definition: service.h:86
#define DECLARE_BOOL_METHOD(name, args)
Declares a method that returns bool as a part of the Service definition.
Definition: service.h:112
case opt name
Definition: sslopt-case.h:29