349 lines
20 KiB
Go
349 lines
20 KiB
Go
// Copyright 2025 PingCAP, Inc.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package vardef
|
|
|
|
// SetNamesVariables is the system variable names related to set names statements.
|
|
var SetNamesVariables = []string{
|
|
CharacterSetClient,
|
|
CharacterSetConnection,
|
|
CharacterSetResults,
|
|
}
|
|
|
|
// SetCharsetVariables is the system variable names related to set charset statements.
|
|
var SetCharsetVariables = []string{
|
|
CharacterSetClient,
|
|
CharacterSetResults,
|
|
}
|
|
|
|
const (
|
|
// MaskPwd is the mask of password for LDAP variables.
|
|
MaskPwd = "******"
|
|
|
|
// PessimisticTxnMode is the name for tidb_txn_mode system variable.
|
|
PessimisticTxnMode = "pessimistic"
|
|
// OptimisticTxnMode is the name for tidb_txn_mode system variable.
|
|
OptimisticTxnMode = "optimistic"
|
|
)
|
|
|
|
const (
|
|
// CharacterSetConnection is the name for character_set_connection system variable.
|
|
CharacterSetConnection = "character_set_connection"
|
|
// CollationConnection is the name for collation_connection system variable.
|
|
CollationConnection = "collation_connection"
|
|
// CharsetDatabase is the name for character_set_database system variable.
|
|
CharsetDatabase = "character_set_database"
|
|
// CollationDatabase is the name for collation_database system variable.
|
|
CollationDatabase = "collation_database"
|
|
// CharacterSetFilesystem is the name for character_set_filesystem system variable.
|
|
CharacterSetFilesystem = "character_set_filesystem"
|
|
// CharacterSetClient is the name for character_set_client system variable.
|
|
CharacterSetClient = "character_set_client"
|
|
// CharacterSetSystem is the name for character_set_system system variable.
|
|
CharacterSetSystem = "character_set_system"
|
|
// GeneralLog is the name for 'general_log' system variable.
|
|
GeneralLog = "general_log"
|
|
// AvoidTemporalUpgrade is the name for 'avoid_temporal_upgrade' system variable.
|
|
AvoidTemporalUpgrade = "avoid_temporal_upgrade"
|
|
// MaxPreparedStmtCount is the name for 'max_prepared_stmt_count' system variable.
|
|
MaxPreparedStmtCount = "max_prepared_stmt_count"
|
|
// BigTables is the name for 'big_tables' system variable.
|
|
BigTables = "big_tables"
|
|
// CheckProxyUsers is the name for 'check_proxy_users' system variable.
|
|
CheckProxyUsers = "check_proxy_users"
|
|
// CoreFile is the name for 'core_file' system variable.
|
|
CoreFile = "core_file"
|
|
// DefaultWeekFormat is the name for 'default_week_format' system variable.
|
|
DefaultWeekFormat = "default_week_format"
|
|
// GroupConcatMaxLen is the name for 'group_concat_max_len' system variable.
|
|
GroupConcatMaxLen = "group_concat_max_len"
|
|
// DelayKeyWrite is the name for 'delay_key_write' system variable.
|
|
DelayKeyWrite = "delay_key_write"
|
|
// EndMarkersInJSON is the name for 'end_markers_in_json' system variable.
|
|
EndMarkersInJSON = "end_markers_in_json"
|
|
// Hostname is the name for 'hostname' system variable.
|
|
Hostname = "hostname"
|
|
// InnodbCommitConcurrency is the name for 'innodb_commit_concurrency' system variable.
|
|
InnodbCommitConcurrency = "innodb_commit_concurrency"
|
|
// InnodbFastShutdown is the name for 'innodb_fast_shutdown' system variable.
|
|
InnodbFastShutdown = "innodb_fast_shutdown"
|
|
// InnodbLockWaitTimeout is the name for 'innodb_lock_wait_timeout' system variable.
|
|
InnodbLockWaitTimeout = "innodb_lock_wait_timeout"
|
|
// MaxSortLength is the name for 'max_sort_length' system variable.
|
|
MaxSortLength = "max_sort_length"
|
|
// MaxSpRecursionDepth is the name for 'max_sp_recursion_depth' system variable.
|
|
MaxSpRecursionDepth = "max_sp_recursion_depth"
|
|
// MaxUserConnections is the name for 'max_user_connections' system variable.
|
|
MaxUserConnections = "max_user_connections"
|
|
// OfflineMode is the name for 'offline_mode' system variable.
|
|
OfflineMode = "offline_mode"
|
|
// InteractiveTimeout is the name for 'interactive_timeout' system variable.
|
|
InteractiveTimeout = "interactive_timeout"
|
|
// FlushTime is the name for 'flush_time' system variable.
|
|
FlushTime = "flush_time"
|
|
// PseudoSlaveMode is the name for 'pseudo_slave_mode' system variable.
|
|
PseudoSlaveMode = "pseudo_slave_mode"
|
|
// LowPriorityUpdates is the name for 'low_priority_updates' system variable.
|
|
LowPriorityUpdates = "low_priority_updates"
|
|
// LowerCaseTableNames is the name for 'lower_case_table_names' system variable.
|
|
LowerCaseTableNames = "lower_case_table_names"
|
|
// SessionTrackGtids is the name for 'session_track_gtids' system variable.
|
|
SessionTrackGtids = "session_track_gtids"
|
|
// OldPasswords is the name for 'old_passwords' system variable.
|
|
OldPasswords = "old_passwords"
|
|
// MaxConnections is the name for 'max_connections' system variable.
|
|
MaxConnections = "max_connections"
|
|
// SkipNameResolve is the name for 'skip_name_resolve' system variable.
|
|
SkipNameResolve = "skip_name_resolve"
|
|
// ForeignKeyChecks is the name for 'foreign_key_checks' system variable.
|
|
ForeignKeyChecks = "foreign_key_checks"
|
|
// SQLSafeUpdates is the name for 'sql_safe_updates' system variable.
|
|
SQLSafeUpdates = "sql_safe_updates"
|
|
// WarningCount is the name for 'warning_count' system variable.
|
|
WarningCount = "warning_count"
|
|
// ErrorCount is the name for 'error_count' system variable.
|
|
ErrorCount = "error_count"
|
|
// DefaultPasswordLifetime is the name for 'default_password_lifetime' system variable.
|
|
DefaultPasswordLifetime = "default_password_lifetime"
|
|
// DisconnectOnExpiredPassword is the name for 'disconnect_on_expired_password' system variable.
|
|
DisconnectOnExpiredPassword = "disconnect_on_expired_password"
|
|
// SQLSelectLimit is the name for 'sql_select_limit' system variable.
|
|
SQLSelectLimit = "sql_select_limit"
|
|
// MaxConnectErrors is the name for 'max_connect_errors' system variable.
|
|
MaxConnectErrors = "max_connect_errors"
|
|
// TableDefinitionCache is the name for 'table_definition_cache' system variable.
|
|
TableDefinitionCache = "table_definition_cache"
|
|
// Timestamp is the name for 'timestamp' system variable.
|
|
Timestamp = "timestamp"
|
|
// ConnectTimeout is the name for 'connect_timeout' system variable.
|
|
ConnectTimeout = "connect_timeout"
|
|
// SyncBinlog is the name for 'sync_binlog' system variable.
|
|
SyncBinlog = "sync_binlog"
|
|
// BlockEncryptionMode is the name for 'block_encryption_mode' system variable.
|
|
BlockEncryptionMode = "block_encryption_mode"
|
|
// WaitTimeout is the name for 'wait_timeout' system variable.
|
|
WaitTimeout = "wait_timeout"
|
|
// Version is the name of 'version' system variable.
|
|
Version = "version"
|
|
// VersionComment is the name of 'version_comment' system variable.
|
|
VersionComment = "version_comment"
|
|
// PluginDir is the name of 'plugin_dir' system variable.
|
|
PluginDir = "plugin_dir"
|
|
// PluginLoad is the name of 'plugin_load' system variable.
|
|
PluginLoad = "plugin_load"
|
|
// PluginAuditLogBufferSize is the name of 'plugin_audit_log_buffer_size' system variable.
|
|
PluginAuditLogBufferSize = "plugin_audit_log_buffer_size"
|
|
// PluginAuditLogFlushInterval is the name of 'plugin_audit_log_flush_interval' system variable.
|
|
PluginAuditLogFlushInterval = "plugin_audit_log_flush_interval"
|
|
// TiDBEnableDDL indicates whether the tidb-server campaigns the DDL owner,
|
|
TiDBEnableDDL = "tidb_enable_ddl"
|
|
// TiDBEnableStatsOwner indicates whether the tidb-server campaigns the Stats owner,
|
|
TiDBEnableStatsOwner = "tidb_enable_stats_owner"
|
|
// Port is the name for 'port' system variable.
|
|
Port = "port"
|
|
// DataDir is the name for 'datadir' system variable.
|
|
DataDir = "datadir"
|
|
// Profiling is the name for 'Profiling' system variable.
|
|
Profiling = "profiling"
|
|
// Socket is the name for 'socket' system variable.
|
|
Socket = "socket"
|
|
// BinlogOrderCommits is the name for 'binlog_order_commits' system variable.
|
|
BinlogOrderCommits = "binlog_order_commits"
|
|
// MasterVerifyChecksum is the name for 'master_verify_checksum' system variable.
|
|
MasterVerifyChecksum = "master_verify_checksum"
|
|
// SuperReadOnly is the name for 'super_read_only' system variable.
|
|
SuperReadOnly = "super_read_only"
|
|
// SQLNotes is the name for 'sql_notes' system variable.
|
|
SQLNotes = "sql_notes"
|
|
// SlaveCompressedProtocol is the name for 'slave_compressed_protocol' system variable.
|
|
SlaveCompressedProtocol = "slave_compressed_protocol"
|
|
// BinlogRowQueryLogEvents is the name for 'binlog_rows_query_log_events' system variable.
|
|
BinlogRowQueryLogEvents = "binlog_rows_query_log_events"
|
|
// LogSlowSlaveStatements is the name for 'log_slow_slave_statements' system variable.
|
|
LogSlowSlaveStatements = "log_slow_slave_statements"
|
|
// LogSlowAdminStatements is the name for 'log_slow_admin_statements' system variable.
|
|
LogSlowAdminStatements = "log_slow_admin_statements"
|
|
// LogQueriesNotUsingIndexes is the name for 'log_queries_not_using_indexes' system variable.
|
|
LogQueriesNotUsingIndexes = "log_queries_not_using_indexes"
|
|
// SQLAutoIsNull is the name for 'sql_auto_is_null' system variable.
|
|
SQLAutoIsNull = "sql_auto_is_null"
|
|
// RelayLogPurge is the name for 'relay_log_purge' system variable.
|
|
RelayLogPurge = "relay_log_purge"
|
|
// AutomaticSpPrivileges is the name for 'automatic_sp_privileges' system variable.
|
|
AutomaticSpPrivileges = "automatic_sp_privileges"
|
|
// SQLQuoteShowCreate is the name for 'sql_quote_show_create' system variable.
|
|
SQLQuoteShowCreate = "sql_quote_show_create"
|
|
// SlowQueryLog is the name for 'slow_query_log' system variable.
|
|
SlowQueryLog = "slow_query_log"
|
|
// BinlogDirectNonTransactionalUpdates is the name for 'binlog_direct_non_transactional_updates' system variable.
|
|
BinlogDirectNonTransactionalUpdates = "binlog_direct_non_transactional_updates"
|
|
// SQLBigSelects is the name for 'sql_big_selects' system variable.
|
|
SQLBigSelects = "sql_big_selects"
|
|
// LogBinTrustFunctionCreators is the name for 'log_bin_trust_function_creators' system variable.
|
|
LogBinTrustFunctionCreators = "log_bin_trust_function_creators"
|
|
// OldAlterTable is the name for 'old_alter_table' system variable.
|
|
OldAlterTable = "old_alter_table"
|
|
// EnforceGtidConsistency is the name for 'enforce_gtid_consistency' system variable.
|
|
EnforceGtidConsistency = "enforce_gtid_consistency"
|
|
// SecureAuth is the name for 'secure_auth' system variable.
|
|
SecureAuth = "secure_auth"
|
|
// UniqueChecks is the name for 'unique_checks' system variable.
|
|
UniqueChecks = "unique_checks"
|
|
// SQLWarnings is the name for 'sql_warnings' system variable.
|
|
SQLWarnings = "sql_warnings"
|
|
// AutoCommit is the name for 'autocommit' system variable.
|
|
AutoCommit = "autocommit"
|
|
// KeepFilesOnCreate is the name for 'keep_files_on_create' system variable.
|
|
KeepFilesOnCreate = "keep_files_on_create"
|
|
// ShowOldTemporals is the name for 'show_old_temporals' system variable.
|
|
ShowOldTemporals = "show_old_temporals"
|
|
// LocalInFile is the name for 'local_infile' system variable.
|
|
LocalInFile = "local_infile"
|
|
// PerformanceSchema is the name for 'performance_schema' system variable.
|
|
PerformanceSchema = "performance_schema"
|
|
// Flush is the name for 'flush' system variable.
|
|
Flush = "flush"
|
|
// SlaveAllowBatching is the name for 'slave_allow_batching' system variable.
|
|
SlaveAllowBatching = "slave_allow_batching"
|
|
// MyISAMUseMmap is the name for 'myisam_use_mmap' system variable.
|
|
MyISAMUseMmap = "myisam_use_mmap"
|
|
// InnodbFilePerTable is the name for 'innodb_file_per_table' system variable.
|
|
InnodbFilePerTable = "innodb_file_per_table"
|
|
// InnodbLogCompressedPages is the name for 'innodb_log_compressed_pages' system variable.
|
|
InnodbLogCompressedPages = "innodb_log_compressed_pages"
|
|
// InnodbPrintAllDeadlocks is the name for 'innodb_print_all_deadlocks' system variable.
|
|
InnodbPrintAllDeadlocks = "innodb_print_all_deadlocks"
|
|
// InnodbStrictMode is the name for 'innodb_strict_mode' system variable.
|
|
InnodbStrictMode = "innodb_strict_mode"
|
|
// InnodbCmpPerIndexEnabled is the name for 'innodb_cmp_per_index_enabled' system variable.
|
|
InnodbCmpPerIndexEnabled = "innodb_cmp_per_index_enabled"
|
|
// InnodbBufferPoolDumpAtShutdown is the name for 'innodb_buffer_pool_dump_at_shutdown' system variable.
|
|
InnodbBufferPoolDumpAtShutdown = "innodb_buffer_pool_dump_at_shutdown"
|
|
// InnodbAdaptiveHashIndex is the name for 'innodb_adaptive_hash_index' system variable.
|
|
InnodbAdaptiveHashIndex = "innodb_adaptive_hash_index"
|
|
// InnodbFtEnableStopword is the name for 'innodb_ft_enable_stopword' system variable.
|
|
InnodbFtEnableStopword = "innodb_ft_enable_stopword" // #nosec G101
|
|
// InnodbOptimizeFullTextOnly is the name for 'innodb_optimize_fulltext_only' system variable.
|
|
InnodbOptimizeFullTextOnly = "innodb_optimize_fulltext_only"
|
|
// InnodbStatusOutputLocks is the name for 'innodb_status_output_locks' system variable.
|
|
InnodbStatusOutputLocks = "innodb_status_output_locks"
|
|
// InnodbBufferPoolDumpNow is the name for 'innodb_buffer_pool_dump_now' system variable.
|
|
InnodbBufferPoolDumpNow = "innodb_buffer_pool_dump_now"
|
|
// InnodbBufferPoolLoadNow is the name for 'innodb_buffer_pool_load_now' system variable.
|
|
InnodbBufferPoolLoadNow = "innodb_buffer_pool_load_now"
|
|
// InnodbStatsOnMetadata is the name for 'innodb_stats_on_metadata' system variable.
|
|
InnodbStatsOnMetadata = "innodb_stats_on_metadata"
|
|
// InnodbDisableSortFileCache is the name for 'innodb_disable_sort_file_cache' system variable.
|
|
InnodbDisableSortFileCache = "innodb_disable_sort_file_cache"
|
|
// InnodbStatsAutoRecalc is the name for 'innodb_stats_auto_recalc' system variable.
|
|
InnodbStatsAutoRecalc = "innodb_stats_auto_recalc"
|
|
// InnodbBufferPoolLoadAbort is the name for 'innodb_buffer_pool_load_abort' system variable.
|
|
InnodbBufferPoolLoadAbort = "innodb_buffer_pool_load_abort"
|
|
// InnodbStatsPersistent is the name for 'innodb_stats_persistent' system variable.
|
|
InnodbStatsPersistent = "innodb_stats_persistent"
|
|
// InnodbRandomReadAhead is the name for 'innodb_random_read_ahead' system variable.
|
|
InnodbRandomReadAhead = "innodb_random_read_ahead"
|
|
// InnodbAdaptiveFlushing is the name for 'innodb_adaptive_flushing' system variable.
|
|
InnodbAdaptiveFlushing = "innodb_adaptive_flushing"
|
|
// InnodbTableLocks is the name for 'innodb_table_locks' system variable.
|
|
InnodbTableLocks = "innodb_table_locks"
|
|
// InnodbStatusOutput is the name for 'innodb_status_output' system variable.
|
|
InnodbStatusOutput = "innodb_status_output"
|
|
// NetBufferLength is the name for 'net_buffer_length' system variable.
|
|
NetBufferLength = "net_buffer_length"
|
|
// TxReadOnly is the name of 'tx_read_only' system variable.
|
|
TxReadOnly = "tx_read_only"
|
|
// TransactionReadOnly is the name of 'transaction_read_only' system variable.
|
|
TransactionReadOnly = "transaction_read_only"
|
|
// CharacterSetServer is the name of 'character_set_server' system variable.
|
|
CharacterSetServer = "character_set_server"
|
|
// AutoIncrementIncrement is the name of 'auto_increment_increment' system variable.
|
|
AutoIncrementIncrement = "auto_increment_increment"
|
|
// AutoIncrementOffset is the name of 'auto_increment_offset' system variable.
|
|
AutoIncrementOffset = "auto_increment_offset"
|
|
// InitConnect is the name of 'init_connect' system variable.
|
|
InitConnect = "init_connect"
|
|
// CollationServer is the name of 'collation_server' variable.
|
|
CollationServer = "collation_server"
|
|
// DefaultCollationForUTF8MB4 is the name of 'default_collation_for_utf8mb4' variable.
|
|
DefaultCollationForUTF8MB4 = "default_collation_for_utf8mb4"
|
|
// NetWriteTimeout is the name of 'net_write_timeout' variable.
|
|
NetWriteTimeout = "net_write_timeout"
|
|
// ThreadPoolSize is the name of 'thread_pool_size' variable.
|
|
ThreadPoolSize = "thread_pool_size"
|
|
// WindowingUseHighPrecision is the name of 'windowing_use_high_precision' system variable.
|
|
WindowingUseHighPrecision = "windowing_use_high_precision"
|
|
// OptimizerSwitch is the name of 'optimizer_switch' system variable.
|
|
OptimizerSwitch = "optimizer_switch"
|
|
// SystemTimeZone is the name of 'system_time_zone' system variable.
|
|
SystemTimeZone = "system_time_zone"
|
|
// CTEMaxRecursionDepth is the name of 'cte_max_recursion_depth' system variable.
|
|
CTEMaxRecursionDepth = "cte_max_recursion_depth"
|
|
// SQLModeVar is the name of the 'sql_mode' system variable.
|
|
SQLModeVar = "sql_mode"
|
|
// CharacterSetResults is the name of the 'character_set_results' system variable.
|
|
CharacterSetResults = "character_set_results"
|
|
// MaxAllowedPacket is the name of the 'max_allowed_packet' system variable.
|
|
MaxAllowedPacket = "max_allowed_packet"
|
|
// TimeZone is the name of the 'time_zone' system variable.
|
|
TimeZone = "time_zone"
|
|
// TxnIsolation is the name of the 'tx_isolation' system variable.
|
|
TxnIsolation = "tx_isolation"
|
|
// TransactionIsolation is the name of the 'transaction_isolation' system variable.
|
|
TransactionIsolation = "transaction_isolation"
|
|
// TxnIsolationOneShot is the name of the 'tx_isolation_one_shot' system variable.
|
|
TxnIsolationOneShot = "tx_isolation_one_shot"
|
|
// MaxExecutionTime is the name of the 'max_execution_time' system variable.
|
|
MaxExecutionTime = "max_execution_time"
|
|
// TiKVClientReadTimeout is the name of the 'tikv_client_read_timeout' system variable.
|
|
TiKVClientReadTimeout = "tikv_client_read_timeout"
|
|
// TiDBLoadBindingTimeout is the name of the 'tidb_load_binding_timeout' system variable.
|
|
TiDBLoadBindingTimeout = "tidb_load_binding_timeout"
|
|
// TiDBEnableBindingUsage is the name of the 'tidb_enable_binding_usage' system variable.
|
|
TiDBEnableBindingUsage = "tidb_enable_binding_usage"
|
|
// ReadOnly is the name of the 'read_only' system variable.
|
|
ReadOnly = "read_only"
|
|
// DefaultAuthPlugin is the name of 'default_authentication_plugin' system variable.
|
|
DefaultAuthPlugin = "default_authentication_plugin"
|
|
// LastInsertID is the name of 'last_insert_id' system variable.
|
|
LastInsertID = "last_insert_id"
|
|
// Identity is the name of 'identity' system variable.
|
|
Identity = "identity"
|
|
// TiDBAllowFunctionForExpressionIndex is the name of `TiDBAllowFunctionForExpressionIndex` system variable.
|
|
TiDBAllowFunctionForExpressionIndex = "tidb_allow_function_for_expression_index"
|
|
// RandSeed1 is the name of 'rand_seed1' system variable.
|
|
RandSeed1 = "rand_seed1"
|
|
// RandSeed2 is the name of 'rand_seed2' system variable.
|
|
RandSeed2 = "rand_seed2"
|
|
// SQLRequirePrimaryKey is the name of `sql_require_primary_key` system variable.
|
|
SQLRequirePrimaryKey = "sql_require_primary_key"
|
|
// ValidatePasswordEnable turns on/off the validation of password.
|
|
ValidatePasswordEnable = "validate_password.enable"
|
|
// ValidatePasswordPolicy specifies the password policy enforced by validate_password.
|
|
ValidatePasswordPolicy = "validate_password.policy"
|
|
// ValidatePasswordCheckUserName controls whether validate_password compares passwords to the user name part of
|
|
// the effective user account for the current session
|
|
ValidatePasswordCheckUserName = "validate_password.check_user_name"
|
|
// ValidatePasswordLength specified the minimum number of characters that validate_password requires passwords to have
|
|
ValidatePasswordLength = "validate_password.length"
|
|
// ValidatePasswordMixedCaseCount specified the minimum number of lowercase and uppercase characters that validate_password requires
|
|
ValidatePasswordMixedCaseCount = "validate_password.mixed_case_count"
|
|
// ValidatePasswordNumberCount specified the minimum number of numeric (digit) characters that validate_password requires
|
|
ValidatePasswordNumberCount = "validate_password.number_count"
|
|
// ValidatePasswordSpecialCharCount specified the minimum number of nonalphanumeric characters that validate_password requires
|
|
ValidatePasswordSpecialCharCount = "validate_password.special_char_count"
|
|
// ValidatePasswordDictionary specified the dictionary that validate_password uses for checking passwords. Each word is separated by semicolon (;).
|
|
ValidatePasswordDictionary = "validate_password.dictionary"
|
|
)
|