1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Reduce compilation dependencies on wsrep_mysqld.h

Making changes to wsrep_mysqld.h causes large parts of server code to
be recompiled. The reason is that wsrep_mysqld.h is included by
sql_class.h, even tough very little of wsrep_mysqld.h is needed in
sql_class.h. This commit introduces a new header file, wsrep_on.h,
which is meant to be included from sql_class.h, and contains only
macros and variable declarations used to determine whether wsrep is
enabled.
Also, header wsrep.h should only contain definitions that are also
used outside of sql/. Therefore, move WSREP_TO_ISOLATION* and
WSREP_SYNC_WAIT macros to wsrep_mysqld.h.

Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
This commit is contained in:
Daniele Sciascia
2022-02-15 14:36:02 +01:00
committed by Jan Lindström
parent cf1a944f5b
commit 2917bd0d2c
40 changed files with 189 additions and 132 deletions

View File

@ -65,7 +65,8 @@ void set_thd_stage_info(void *thd,
#include "my_apc.h"
#include "rpl_gtid.h"
#include "wsrep_mysqld.h"
#include "wsrep.h"
#include "wsrep_on.h"
#ifdef WITH_WSREP
#include <inttypes.h>
/* wsrep-lib */
@ -76,6 +77,11 @@ void set_thd_stage_info(void *thd,
class Wsrep_applier_service;
enum wsrep_consistency_check_mode {
NO_CONSISTENCY_CHECK,
CONSISTENCY_CHECK_DECLARED,
CONSISTENCY_CHECK_RUNNING,
};
#endif /* WITH_WSREP */
class Reprepare_observer;
class Relay_log_info;