File: plugin_constants.h

package info (click to toggle)
mysql-8.0 8.0.45-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,273,048 kB
  • sloc: cpp: 4,685,434; ansic: 412,712; pascal: 108,396; java: 83,641; perl: 30,221; cs: 27,067; sql: 26,594; python: 21,816; sh: 17,285; yacc: 17,169; php: 11,522; xml: 7,388; javascript: 7,083; makefile: 1,793; lex: 1,075; awk: 670; asm: 520; objc: 183; ruby: 97; lisp: 86
file content (96 lines) | stat: -rw-r--r-- 3,328 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/* Copyright (c) 2016, 2025, Oracle and/or its affiliates.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License, version 2.0,
   as published by the Free Software Foundation.

   This program is designed to work with certain software (including
   but not limited to OpenSSL) that is licensed under separate terms,
   as designated in a particular file or component or in included license
   documentation.  The authors of MySQL hereby grant you an additional
   permission to link the program and your derivative works with the
   separately licensed software that they have either included with
   the program or referenced in the documentation.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License, version 2.0, for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */

#ifndef PLUGIN_CONSTANTS_INCLUDE
#define PLUGIN_CONSTANTS_INCLUDE

/*
  Plugin user to access the server
*/
#define GROUPREPL_USER "mysql.session"
#define GROUPREPL_HOST "localhost"
#define GROUPREPL_ACCOUNT GROUPREPL_USER "@" GROUPREPL_HOST

/*
  Plugin errors
*/
#define GROUP_REPLICATION_CONFIGURATION_ERROR 1
#define GROUP_REPLICATION_ALREADY_RUNNING 2
#define GROUP_REPLICATION_REPLICATION_APPLIER_INIT_ERROR 3
#define GROUP_REPLICATION_COMMUNICATION_LAYER_SESSION_ERROR 4
#define GROUP_REPLICATION_COMMUNICATION_LAYER_JOIN_ERROR 5
#define GROUP_REPLICATION_APPLIER_STOP_TIMEOUT 6
#define GROUP_REPLICATION_MAX_GROUP_SIZE 7
#define GROUP_REPLICATION_COMMAND_FAILURE 8
#define GROUP_REPLICATION_SERVICE_MESSAGE_INIT_FAILURE 9
#define GROUP_REPLICATION_RECOVERY_CHANNEL_STILL_RUNNING 10
#define GROUP_REPLICATION_STOP_WITH_RECOVERY_TIMEOUT 11

/* View timeout (seconds) */
#define VIEW_MODIFICATION_TIMEOUT 60

/* View timeout for Force Members (seconds) */
#define FORCE_MEMBERS_VIEW_MODIFICATION_TIMEOUT 120

/*
  Transaction wait timeout before kill (seconds)
  This value comes from innodb_lock_wait_timeout that can make some of the
  transactions fail for their own
*/
#define TRANSACTION_KILL_TIMEOUT 50

/*
  Default name of debug and trace file that will be created
  by GCS.
*/
#define GCS_DEBUG_TRACE_FILE "GCS_DEBUG_TRACE"

/*
  Version from which group_replication_consistency system variable
  is supported.
*/
#define TRANSACTION_WITH_GUARANTEES_VERSION 0x080014

/*
  Version from which patch version number is also considered during member
  join, view changes or primary member selection.
*/
#define PRIMARY_ELECTION_PATCH_CONSIDERATION 0x080017

/*
  Version from which group replication and the server support cloning
*/
#define CLONE_GR_SUPPORT_VERSION 0x080037

/*
  Version from which group replication support timeout argument in UDF
  group_replication_set_as_primary
*/
#define MEMBER_VERSION_INTRODUCING_RUNNING_TRANSACTION_TIMEOUT 0x080029

/*
  Starting on 8.0.35, inclusive, all 8.0 patch versions are compatible.
*/
#define MEMBER_8_0_LTS_VERSION 0x080035

#endif /* PLUGIN_CONSTANTS_INCLUDE */