MySQL  8.0.18
Source Code Documentation
system_variables.h File Reference
#include <stddef.h>
#include <sys/types.h>
#include "m_ctype.h"
#include "my_base.h"
#include "my_inttypes.h"
#include "my_sqlcommand.h"
#include "my_thread_local.h"
#include "sql/rpl_gtid.h"
#include "sql/sql_plugin_ref.h"

Go to the source code of this file.

Classes

struct  System_variables
 
struct  System_status_var
 Per thread status variables. More...
 

Macros

#define MODE_REAL_AS_FLOAT   1
 
#define MODE_PIPES_AS_CONCAT   2
 
#define MODE_ANSI_QUOTES   4
 
#define MODE_IGNORE_SPACE   8
 
#define MODE_NOT_USED   16
 
#define MODE_ONLY_FULL_GROUP_BY   32
 
#define MODE_NO_UNSIGNED_SUBTRACTION   64
 
#define MODE_NO_DIR_IN_CREATE   128
 
#define MODE_ANSI   262144L
 
#define MODE_NO_AUTO_VALUE_ON_ZERO   (MODE_ANSI * 2)
 
#define MODE_NO_BACKSLASH_ESCAPES   (MODE_NO_AUTO_VALUE_ON_ZERO * 2)
 
#define MODE_STRICT_TRANS_TABLES   (MODE_NO_BACKSLASH_ESCAPES * 2)
 
#define MODE_STRICT_ALL_TABLES   (MODE_STRICT_TRANS_TABLES * 2)
 
#define MODE_NO_ZERO_IN_DATE   (MODE_STRICT_ALL_TABLES * 2)
 
#define MODE_NO_ZERO_DATE   (MODE_NO_ZERO_IN_DATE * 2)
 
#define MODE_INVALID_DATES   (MODE_NO_ZERO_DATE * 2)
 
#define MODE_ERROR_FOR_DIVISION_BY_ZERO   (MODE_INVALID_DATES * 2)
 
#define MODE_TRADITIONAL   (MODE_ERROR_FOR_DIVISION_BY_ZERO * 2)
 
#define MODE_HIGH_NOT_PRECEDENCE   (1ULL << 29)
 
#define MODE_NO_ENGINE_SUBSTITUTION   (MODE_HIGH_NOT_PRECEDENCE * 2)
 
#define MODE_PAD_CHAR_TO_FULL_LENGTH   (1ULL << 31)
 
#define MODE_TIME_TRUNCATE_FRACTIONAL   (1ULL << 32)
 
#define MODE_LAST   (1ULL << 33)
 
#define MODE_ALLOWED_MASK
 
#define MODE_IGNORED_MASK
 
#define LAST_STATUS_VAR   secondary_engine_execution_count
 
#define FIRST_STATUS_VAR   created_tmp_disk_tables
 

Typedefs

typedef ulonglong sql_mode_t
 

Enumerations

enum  enum_binlog_format { BINLOG_FORMAT_MIXED = 0, BINLOG_FORMAT_STMT = 1, BINLOG_FORMAT_ROW = 2, BINLOG_FORMAT_UNSPEC }
 
enum  enum_rbr_exec_mode { RBR_EXEC_MODE_STRICT, RBR_EXEC_MODE_IDEMPOTENT, RBR_EXEC_MODE_LAST_BIT }
 
enum  enum_binlog_row_image { BINLOG_ROW_IMAGE_MINIMAL = 0, BINLOG_ROW_IMAGE_NOBLOB = 1, BINLOG_ROW_IMAGE_FULL = 2 }
 
enum  enum_binlog_row_value_options { PARTIAL_JSON_UPDATES = 1 }
 
enum  enum_binlog_row_metadata { BINLOG_ROW_METADATA_MINIMAL = 0, BINLOG_ROW_METADATA_FULL = 1 }
 
enum  enum_transaction_write_set_hashing_algorithm { HASH_ALGORITHM_OFF = 0, HASH_ALGORITHM_MURMUR32 = 1, HASH_ALGORITHM_XXHASH64 = 2 }
 
enum  enum_session_track_gtids { OFF = 0, OWN_GTID = 1, ALL_GTIDS = 2 }
 
enum  use_secondary_engine { SECONDARY_ENGINE_OFF = 0, SECONDARY_ENGINE_ON = 1, SECONDARY_ENGINE_FORCED = 2 }
 Values for use_secondary_engine sysvar. More...
 

Functions

void add_diff_to_status (System_status_var *to_var, System_status_var *from_var, System_status_var *dec_var)
 
void add_to_status (System_status_var *to_var, System_status_var *from_var)
 
void reset_system_status_vars (System_status_var *status_vars)
 

Variables

const int COUNT_GLOBAL_STATUS_VARS
 

Macro Definition Documentation

◆ FIRST_STATUS_VAR

#define FIRST_STATUS_VAR   created_tmp_disk_tables

◆ LAST_STATUS_VAR

#define LAST_STATUS_VAR   secondary_engine_execution_count

◆ MODE_ALLOWED_MASK

#define MODE_ALLOWED_MASK
Value:
MODE_IGNORE_SPACE | MODE_NOT_USED | MODE_ONLY_FULL_GROUP_BY | \
MODE_NO_UNSIGNED_SUBTRACTION | MODE_NO_DIR_IN_CREATE | MODE_ANSI | \
MODE_NO_AUTO_VALUE_ON_ZERO | MODE_NO_BACKSLASH_ESCAPES | \
MODE_STRICT_TRANS_TABLES | MODE_STRICT_ALL_TABLES | MODE_NO_ZERO_IN_DATE | \
MODE_PAD_CHAR_TO_FULL_LENGTH | MODE_TIME_TRUNCATE_FRACTIONAL)
#define MODE_REAL_AS_FLOAT
Definition: system_variables.h:100
#define MODE_NO_BACKSLASH_ESCAPES
Definition: system_variables.h:110
#define MODE_ANSI_QUOTES
Definition: system_variables.h:102
#define MODE_HIGH_NOT_PRECEDENCE
Definition: system_variables.h:125
#define MODE_ONLY_FULL_GROUP_BY
Definition: system_variables.h:105
#define MODE_ANSI
Definition: system_variables.h:108
#define MODE_NO_DIR_IN_CREATE
Definition: system_variables.h:107
#define MODE_TIME_TRUNCATE_FRACTIONAL
Definition: system_variables.h:132
#define MODE_PIPES_AS_CONCAT
Definition: system_variables.h:101
#define MODE_NO_ZERO_IN_DATE
Definition: system_variables.h:120
#define MODE_INVALID_DATES
Definition: system_variables.h:122
#define MODE_NO_ENGINE_SUBSTITUTION
Definition: system_variables.h:126
#define MODE_STRICT_ALL_TABLES
Definition: system_variables.h:112
#define MODE_ERROR_FOR_DIVISION_BY_ZERO
Definition: system_variables.h:123
#define MODE_NOT_USED
Definition: system_variables.h:104

◆ MODE_ANSI

#define MODE_ANSI   262144L

◆ MODE_ANSI_QUOTES

#define MODE_ANSI_QUOTES   4

◆ MODE_ERROR_FOR_DIVISION_BY_ZERO

#define MODE_ERROR_FOR_DIVISION_BY_ZERO   (MODE_INVALID_DATES * 2)

◆ MODE_HIGH_NOT_PRECEDENCE

#define MODE_HIGH_NOT_PRECEDENCE   (1ULL << 29)

◆ MODE_IGNORE_SPACE

#define MODE_IGNORE_SPACE   8

◆ MODE_IGNORED_MASK

#define MODE_IGNORED_MASK
Value:
(0x00100 | /* was: MODE_POSTGRESQL */ \
0x00200 | /* was: MODE_ORACLE */ \
0x00400 | /* was: MODE_MSSQL */ \
0x00800 | /* was: MODE_DB2 */ \
0x01000 | /* was: MODE_MAXDB */ \
0x02000 | /* was: MODE_NO_KEY_OPTIONS */ \
0x04000 | /* was: MODE_NO_TABLE_OPTIONS */ \
0x08000 | /* was: MODE_NO_FIELD_OPTIONS */ \
0x10000 | /* was: MODE_MYSQL323 */ \
0x20000 | /* was: MODE_MYSQL40 */ \
0x10000000 /* was: MODE_NO_AUTO_CREATE_USER */ \
)

◆ MODE_INVALID_DATES

#define MODE_INVALID_DATES   (MODE_NO_ZERO_DATE * 2)

◆ MODE_LAST

#define MODE_LAST   (1ULL << 33)

◆ MODE_NO_AUTO_VALUE_ON_ZERO

#define MODE_NO_AUTO_VALUE_ON_ZERO   (MODE_ANSI * 2)

◆ MODE_NO_BACKSLASH_ESCAPES

#define MODE_NO_BACKSLASH_ESCAPES   (MODE_NO_AUTO_VALUE_ON_ZERO * 2)

◆ MODE_NO_DIR_IN_CREATE

#define MODE_NO_DIR_IN_CREATE   128

◆ MODE_NO_ENGINE_SUBSTITUTION

#define MODE_NO_ENGINE_SUBSTITUTION   (MODE_HIGH_NOT_PRECEDENCE * 2)

◆ MODE_NO_UNSIGNED_SUBTRACTION

#define MODE_NO_UNSIGNED_SUBTRACTION   64

◆ MODE_NO_ZERO_DATE

#define MODE_NO_ZERO_DATE   (MODE_NO_ZERO_IN_DATE * 2)

◆ MODE_NO_ZERO_IN_DATE

#define MODE_NO_ZERO_IN_DATE   (MODE_STRICT_ALL_TABLES * 2)

◆ MODE_NOT_USED

#define MODE_NOT_USED   16

◆ MODE_ONLY_FULL_GROUP_BY

#define MODE_ONLY_FULL_GROUP_BY   32

◆ MODE_PAD_CHAR_TO_FULL_LENGTH

#define MODE_PAD_CHAR_TO_FULL_LENGTH   (1ULL << 31)

◆ MODE_PIPES_AS_CONCAT

#define MODE_PIPES_AS_CONCAT   2

◆ MODE_REAL_AS_FLOAT

#define MODE_REAL_AS_FLOAT   1

◆ MODE_STRICT_ALL_TABLES

#define MODE_STRICT_ALL_TABLES   (MODE_STRICT_TRANS_TABLES * 2)

◆ MODE_STRICT_TRANS_TABLES

#define MODE_STRICT_TRANS_TABLES   (MODE_NO_BACKSLASH_ESCAPES * 2)

◆ MODE_TIME_TRUNCATE_FRACTIONAL

#define MODE_TIME_TRUNCATE_FRACTIONAL   (1ULL << 32)

◆ MODE_TRADITIONAL

#define MODE_TRADITIONAL   (MODE_ERROR_FOR_DIVISION_BY_ZERO * 2)

Typedef Documentation

◆ sql_mode_t

Enumeration Type Documentation

◆ enum_binlog_format

Enumerator
BINLOG_FORMAT_MIXED 

statement if safe, otherwise row - autodetected

BINLOG_FORMAT_STMT 

statement-based

BINLOG_FORMAT_ROW 

row-based

BINLOG_FORMAT_UNSPEC 

thd_binlog_format() returns it when binlog is closed

◆ enum_binlog_row_image

Enumerator
BINLOG_ROW_IMAGE_MINIMAL 

PKE in the before image and changed columns in the after image.

BINLOG_ROW_IMAGE_NOBLOB 

Whenever possible, before and after image contain all columns except blobs.

BINLOG_ROW_IMAGE_FULL 

All columns in both before and after image.

◆ enum_binlog_row_metadata

Enumerator
BINLOG_ROW_METADATA_MINIMAL 
BINLOG_ROW_METADATA_FULL 

◆ enum_binlog_row_value_options

Enumerator
PARTIAL_JSON_UPDATES 

Store JSON updates in partial form.

◆ enum_rbr_exec_mode

Enumerator
RBR_EXEC_MODE_STRICT 
RBR_EXEC_MODE_IDEMPOTENT 
RBR_EXEC_MODE_LAST_BIT 

◆ enum_session_track_gtids

Enumerator
OFF 
OWN_GTID 
ALL_GTIDS 

◆ enum_transaction_write_set_hashing_algorithm

Enumerator
HASH_ALGORITHM_OFF 
HASH_ALGORITHM_MURMUR32 
HASH_ALGORITHM_XXHASH64 

◆ use_secondary_engine

Values for use_secondary_engine sysvar.

Enumerator
SECONDARY_ENGINE_OFF 
SECONDARY_ENGINE_ON 
SECONDARY_ENGINE_FORCED 

Function Documentation

◆ add_diff_to_status()

void add_diff_to_status ( System_status_var to_var,
System_status_var from_var,
System_status_var dec_var 
)

◆ add_to_status()

void add_to_status ( System_status_var to_var,
System_status_var from_var 
)

◆ reset_system_status_vars()

void reset_system_status_vars ( System_status_var status_vars)

Variable Documentation

◆ COUNT_GLOBAL_STATUS_VARS

const int COUNT_GLOBAL_STATUS_VARS
Initial value:
=
sizeof(ulonglong)) +
1
unsigned long long int ulonglong
Definition: my_inttypes.h:55
#define FIRST_STATUS_VAR
Definition: system_variables.h:497
#define LAST_STATUS_VAR
Definition: system_variables.h:490
Per thread status variables.
Definition: system_variables.h:409