MySQL 8.3.0
Source Code Documentation
mysql_debug_keyword_service.h
Go to the documentation of this file.
1/* Copyright (c) 2023 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 also distributed 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 included with MySQL.
13
14This program is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17GNU General Public License, version 2.0, for more details.
18
19You should have received a copy of the GNU General Public License
20along with this program; if not, write to the Free Software
21Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
22
23#ifndef DEBUG_KEYWORD_SERVICE_GUARD
24#define DEBUG_KEYWORD_SERVICE_GUARD
25
27
28/**
29 @ingroup group_components_services_inventory
30
31 A service to check if debug keyword status.
32
33 The debug keywords are used to implement various functionality for debugging.
34 See my_dbug.h for more info. One of the functionality is @ref DBUG_EXECUTE_IF.
35
36 This service lookup_debug_keyword() is used to implement @ref DBUG_EXECUTE_IF
37 for use in components. The @ref DBUG_EXECUTE_IF is implemented in
38 util/debug_execute_if.h
39
40 The usage remains the same way as used in server. E.g.,
41 DBUG_EXECUTE_IF("debug point", { ...code... return false; });
42*/
43BEGIN_SERVICE_DEFINITION(mysql_debug_keyword_service)
44
45/**
46 Check if debug keyword is enabled.
47
48 @param[in] name The debug keyword to check if its enabled.
49 The memory for char* argument is managed by service invoker.
50 @retval true failure
51 @retval false success
52
53 @return true if keyword is enabled.
54*/
55DECLARE_BOOL_METHOD(lookup_debug_keyword, (const char *name));
56
57END_SERVICE_DEFINITION(mysql_debug_keyword_service)
58
59#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:90
#define BEGIN_SERVICE_DEFINITION(name)
Declares a new Service.
Definition: service.h:85
#define DECLARE_BOOL_METHOD(name, args)
Declares a method that returns bool as a part of the Service definition.
Definition: service.h:111
case opt name
Definition: sslopt-case.h:32