MDEV-6137 better help for SET/ENUM sysvars

Auto-generate the allowed list of values for enum/set/flagset options
in --help output. But don't do that when the help text already has them.

Also, remove lists of values from help strings of various options, where
they were simply listed without any additional information.
This commit is contained in:
Sergei Golubchik 2014-06-19 12:02:23 +02:00
commit dc64ba2187
22 changed files with 263 additions and 260 deletions

View file

@ -1900,7 +1900,7 @@ sub collect_mysqld_features {
# they are listed in the --help output as
# --archive[=name] Enable or disable ARCHIVE plugin. Possible values are ON, OFF, FORCE (don't start if the plugin fails to load).
push @optional_plugins, $1
if /^ --([-a-z0-9]+)\[=name\] +Enable or disable \w+ plugin. Possible values are ON, OFF, FORCE/;
if /^ --([-a-z0-9]+)\[=name\] +Enable or disable \w+ plugin. One of: ON, OFF, FORCE/;
next;
}

View file

@ -656,7 +656,7 @@ test.t2 984116287
drop table t1, t2;
show variables like 'myisam_stats_method';
Variable_name Value
myisam_stats_method nulls_unequal
myisam_stats_method NULLS_UNEQUAL
create table t1 (a int, key(a));
insert into t1 values (0),(1),(2),(3),(4);
insert into t1 select NULL from t1;
@ -677,7 +677,7 @@ t1 1 a 1 a A 10 NULL NULL YES BTREE
set myisam_stats_method=nulls_equal;
show variables like 'myisam_stats_method';
Variable_name Value
myisam_stats_method nulls_equal
myisam_stats_method NULLS_EQUAL
insert into t1 values (11);
delete from t1 where a=11;
analyze table t1;
@ -697,7 +697,7 @@ t1 1 a 1 a A 5 NULL NULL YES BTREE
set myisam_stats_method=DEFAULT;
show variables like 'myisam_stats_method';
Variable_name Value
myisam_stats_method nulls_unequal
myisam_stats_method NULLS_UNEQUAL
insert into t1 values (11);
delete from t1 where a=11;
analyze table t1;
@ -718,7 +718,7 @@ drop table t1;
set myisam_stats_method=nulls_ignored;
show variables like 'myisam_stats_method';
Variable_name Value
myisam_stats_method nulls_ignored
myisam_stats_method NULLS_IGNORED
create table t1 (
a char(3), b char(4), c char(5), d char(6),
key(a,b,c,d)

View file

@ -39,8 +39,7 @@ The following options may be given as the first argument:
increase this to get more performance
--binlog-checksum=name
Type of BINLOG_CHECKSUM_ALG. Include checksum for log
events in the binary log. Possible values are NONE and
CRC32; default is NONE.
events in the binary log. One of: NONE, CRC32
--binlog-commit-wait-count=#
If non-zero, binlog write will wait at most
binlog_commit_wait_usec microseconds for at least this
@ -71,10 +70,7 @@ The following options may be given as the first argument:
statements where only row-based is correct: those which
involve user-defined functions (i.e. UDFs) or the UUID()
function; for those, row-based binary logging is
automatically used. If NDBCLUSTER is enabled and
binlog-format is MIXED, the format switches to row-based
and back implicitly per each query accessing an
NDBCLUSTER table
automatically used.
--binlog-ignore-db=name
Tells the master that updates to the given database
should not be logged to the binary log.
@ -114,11 +110,11 @@ The following options may be given as the first argument:
--collation-server=name
Set the default collation.
--completion-type=name
The transaction completion type, one of NO_CHAIN, CHAIN,
The transaction completion type. One of: NO_CHAIN, CHAIN,
RELEASE
--concurrent-insert[=name]
Use concurrent insert with MyISAM. Possible values are
NEVER, AUTO, ALWAYS
Use concurrent insert with MyISAM. One of: NEVER, AUTO,
ALWAYS
--console Write error output on screen; don't remove the console
window on windows.
--core-file Write core on errors.
@ -137,9 +133,8 @@ The following options may be given as the first argument:
Short timeout for the two-step deadlock detection (in
microseconds)
--default-regex-flags=name
Default flags for the regex library. Syntax:
default-regex-flags='[flag[,flag[,flag...]]]'. See the
manual for the complete list of valid flags
Default flags for the regex library. Any combination of:
DOTALL, DUPNAMES, EXTENDED, EXTRA, MULTILINE, UNGREEDY
--default-storage-engine=name
The default storage engine for new tables
--default-time-zone=name
@ -150,7 +145,7 @@ The following options may be given as the first argument:
--default-week-format=#
The default week format used by WEEK() functions
--delay-key-write[=name]
Type of DELAY_KEY_WRITE
Type of DELAY_KEY_WRITE. One of: OFF, ON, ALL
--delayed-insert-limit=#
After inserting delayed_insert_limit rows, the INSERT
DELAYED handler will check if there are any SELECT
@ -252,7 +247,7 @@ The following options may be given as the first argument:
(unless the user has SUPER privilege)
--init-file=name Read SQL commands from this file at startup
--init-rpl-role=name
Set the replication role.
Set the replication role. One of: MASTER, SLAVE
--init-slave=name Command(s) that are executed by a slave server each time
the SQL thread starts
--interactive-timeout=#
@ -329,8 +324,8 @@ The following options may be given as the first argument:
not specified then 'datadir'/'log-basename'.err or the
'pid-file' path with extension .err is used
--log-isam[=name] Log all MyISAM changes to file.
--log-output=name Syntax: log-output=value[,value...], where "value" could
be TABLE, FILE or NONE
--log-output=name How logs should be written. Any combination of: NONE,
FILE, TABLE
--log-queries-not-using-indexes
Log queries that are executed without benefit of any
index to the slow log if it is open
@ -343,9 +338,8 @@ The following options may be given as the first argument:
Log slow OPTIMIZE, ANALYZE, ALTER and other
administrative statements to the slow log if it is open.
--log-slow-filter=name
Log only certain types of queries. Multiple flags can be
specified, separated by commas. Valid values are admin,
slave, filesort, filesort_on_disk, full_join, full_scan,
Log only certain types of queries. Any combination of:
admin, filesort, filesort_on_disk, full_join, full_scan,
query_cache, query_cache_miss, tmp_table,
tmp_table_on_disk
--log-slow-rate-limit=#
@ -356,8 +350,8 @@ The following options may be given as the first argument:
Log slow statements executed by slave thread to the slow
log if it is open.
--log-slow-verbosity=name
log-slow-verbosity=[value[,value ...]] where value is one
of 'innodb', 'query_plan', 'explain'
Verbosity level for the slow log. Any combination of:
innodb, query_plan, explain
--log-tc=name Path to transaction coordinator log (used for
transactions that affect more than one storage engine,
when binary log is disabled).
@ -458,9 +452,9 @@ The following options may be given as the first argument:
Restricts the total memory used for memory mapping of
MySQL tables
--myisam-recover-options[=name]
Syntax: myisam-recover-options[=option[,option...]],
where option can be DEFAULT, BACKUP, BACKUP_ALL, FORCE,
QUICK, or OFF
Specifies how corrupted tables should be automatically
repaired. Any combination of: DEFAULT, BACKUP, FORCE,
QUICK, BACKUP_ALL, OFF
--myisam-repair-threads=#
If larger than 1, when repairing a MyISAM table all
indexes will be created in parallel, with one thread per
@ -489,8 +483,9 @@ The following options may be given as the first argument:
See also --old-mode
--old-alter-table Use old, non-optimized alter table
--old-mode=name Used to emulate old behavior from earlier MariaDB or
MySQL versions. Syntax: old_mode=mode[,mode[,mode...]].
See the manual for the complete list of valid old modes
MySQL versions. Any combination of:
NO_DUP_KEY_WARNINGS_WITH_IGNORE, NO_PROGRESS_INFO,
ZERO_DATE_TIME_CAST
--old-passwords Use old password encryption method (needed for 4.0 and
older clients)
--old-style-user-limits
@ -524,19 +519,20 @@ The following options may be given as the first argument:
Controls number of record samples to check condition
selectivity
--optimizer-switch=name
optimizer_switch=option=val[,option=val...], where option
is one of {derived_merge, derived_with_keys, firstmatch,
in_to_exists, engine_condition_pushdown,
index_condition_pushdown, index_merge,
index_merge_intersection, index_merge_sort_intersection,
index_merge_sort_union, index_merge_union,
join_cache_bka, join_cache_hashed,
join_cache_incremental, loosescan, materialization, mrr,
mrr_cost_based, mrr_sort_keys, optimize_join_buffer_size,
outer_join_with_cache, partial_match_rowid_merge,
partial_match_table_scan, semijoin, semijoin_with_cache,
subquery_cache, table_elimination, extended_keys,
exists_to_in } and val is one of {on, off, default}
Fine-tune the optimizer behavior. Takes a comma-separated
list of option=value pairs, where value is on, off, or
default, and options are: index_merge, index_merge_union,
index_merge_sort_union, index_merge_intersection,
index_merge_sort_intersection, engine_condition_pushdown,
index_condition_pushdown, derived_merge,
derived_with_keys, firstmatch, loosescan, materialization,
in_to_exists, semijoin, partial_match_rowid_merge,
partial_match_table_scan, subquery_cache, mrr,
mrr_cost_based, mrr_sort_keys, outer_join_with_cache,
semijoin_with_cache, join_cache_incremental,
join_cache_hashed, join_cache_bka,
optimize_join_buffer_size, table_elimination,
extended_keys, exists_to_in
--optimizer-use-condition-selectivity=#
Controls selectivity of which conditions the optimizer
takes into account to calculate cardinality of a partial
@ -689,9 +685,9 @@ The following options may be given as the first argument:
in an incremental way. It can be specified many times,
adding more plugins every time.
--plugin-maturity=name
The lowest desirable plugin maturity (unknown,
experimental, alpha, beta, gamma, or stable). Plugins
less mature than that will not be installed or loaded.
The lowest desirable plugin maturity. Plugins less mature
than that will not be installed or loaded. One of:
unknown, experimental, alpha, beta, gamma, stable
-P, --port=# Port number to use for connection or 0 to default to,
my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default
(3306), whatever comes first
@ -934,11 +930,10 @@ The following options may be given as the first argument:
transaction in case it failed with a deadlock or elapsed
lock wait timeout, before giving up and stopping
--slave-type-conversions=name
Set of slave type conversions that are enabled. Legal
values are: ALL_LOSSY to enable lossy conversions and
ALL_NON_LOSSY to enable non-lossy conversions. If the
variable is assigned the empty set, no conversions are
allowed and it is expected that the types match exactly.
Set of slave type conversions that are enabled. If the
variable is empty, no conversions are allowed and it is
expected that the types match exactly. Any combination
of: ALL_LOSSY, ALL_NON_LOSSY
--slow-launch-time=#
If creating the thread takes longer than this value (in
seconds), the Slow_launch_threads counter will be
@ -955,8 +950,18 @@ The following options may be given as the first argument:
--sort-buffer-size=#
Each thread that needs to do a sort allocates a buffer of
this size
--sql-mode=name Syntax: sql-mode=mode[,mode[,mode...]]. See the manual
for the complete list of valid sql modes
--sql-mode=name Sets the sql mode. Any combination of: REAL_AS_FLOAT,
PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE,
IGNORE_BAD_TABLE_OPTIONS, ONLY_FULL_GROUP_BY,
NO_UNSIGNED_SUBTRACTION, NO_DIR_IN_CREATE, POSTGRESQL,
ORACLE, MSSQL, DB2, MAXDB, NO_KEY_OPTIONS,
NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, MYSQL323, MYSQL40,
ANSI, NO_AUTO_VALUE_ON_ZERO, NO_BACKSLASH_ESCAPES,
STRICT_TRANS_TABLES, STRICT_ALL_TABLES, NO_ZERO_IN_DATE,
NO_ZERO_DATE, ALLOW_INVALID_DATES,
ERROR_FOR_DIVISION_BY_ZERO, TRADITIONAL,
NO_AUTO_CREATE_USER, HIGH_NOT_PRECEDENCE,
NO_ENGINE_SUBSTITUTION, PAD_CHAR_TO_FULL_LENGTH
--stack-trace Print a symbolic stack trace on failure
(Defaults to on; use --skip-stack-trace to disable.)
--stored-program-cache=#
@ -987,8 +992,8 @@ The following options may be given as the first argument:
--table-open-cache=#
The number of cached open tables
--tc-heuristic-recover=name
Decision to use in heuristic recover process. Possible
values are COMMIT or ROLLBACK.
Decision to use in heuristic recover process. One of:
COMMIT, ROLLBACK
--thread-cache-size=#
How many threads we should keep in a cache for reuse
--thread-pool-idle-timeout=#
@ -1024,7 +1029,9 @@ The following options may be given as the first argument:
Allocation block size for transactions to be stored in
binary log
--transaction-isolation=name
Default transaction isolation level.
Default transaction isolation level. One of:
READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ,
SERIALIZABLE
--transaction-prealloc-size=#
Persistent buffer for transactions to be stored in binary
log
@ -1039,8 +1046,8 @@ The following options may be given as the first argument:
of the underlying table and the query uses a LIMIT clause
(usually get from GUI tools)
--use-stat-tables=name
Specifies how to use system statistics tables. Possible
values are NEVER, COMPLEMENTARY, PREFERABLY
Specifies how to use system statistics tables. One of:
NEVER, COMPLEMENTARY, PREFERABLY
-u, --user=name Run mysqld daemon as user.
--userstat Enables statistics gathering for USER_STATISTICS,
CLIENT_STATISTICS, INDEX_STATISTICS and TABLE_STATISTICS
@ -1196,7 +1203,7 @@ myisam-mmap-size 18446744073709551615
myisam-recover-options DEFAULT
myisam-repair-threads 1
myisam-sort-buffer-size 134216704
myisam-stats-method nulls_unequal
myisam-stats-method NULLS_UNEQUAL
myisam-use-mmap FALSE
net-buffer-length 16384
net-read-timeout 30
@ -1282,7 +1289,7 @@ relay-log-purge TRUE
relay-log-recovery FALSE
relay-log-space-limit 0
replicate-annotate-row-events FALSE
replicate-events-marked-for-skip replicate
replicate-events-marked-for-skip REPLICATE
replicate-same-server-id FALSE
report-host (No default value)
report-password (No default value)

View file

@ -8,22 +8,22 @@ ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) fo
DROP USER'nonsuperuser'@'127.0.0.1';
SELECT @@global.replicate_events_marked_for_skip;
@@global.replicate_events_marked_for_skip
replicate
REPLICATE
SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_SLAVE;
ERROR HY000: This operation cannot be performed as you have a running slave ''; run STOP SLAVE '' first
SELECT @@global.replicate_events_marked_for_skip;
@@global.replicate_events_marked_for_skip
replicate
REPLICATE
STOP SLAVE;
SET SESSION replicate_events_marked_for_skip=FILTER_ON_MASTER;
ERROR HY000: Variable 'replicate_events_marked_for_skip' is a GLOBAL variable and should be set with SET GLOBAL
SELECT @@global.replicate_events_marked_for_skip;
@@global.replicate_events_marked_for_skip
replicate
REPLICATE
SET GLOBAL replicate_events_marked_for_skip=FILTER_ON_MASTER;
SELECT @@global.replicate_events_marked_for_skip;
@@global.replicate_events_marked_for_skip
filter_on_master
FILTER_ON_MASTER
START SLAVE;
SELECT @@skip_replication;
@@skip_replication

View file

@ -1,47 +1,47 @@
SET @orig = @@global.innodb_checksum_algorithm;
SELECT @orig;
@orig
innodb
INNODB
SET GLOBAL innodb_checksum_algorithm = 'crc32';
SELECT @@global.innodb_checksum_algorithm;
@@global.innodb_checksum_algorithm
crc32
CRC32
SET GLOBAL innodb_checksum_algorithm = 'strict_crc32';
SELECT @@global.innodb_checksum_algorithm;
@@global.innodb_checksum_algorithm
strict_crc32
STRICT_CRC32
SET GLOBAL innodb_checksum_algorithm = 'innodb';
SELECT @@global.innodb_checksum_algorithm;
@@global.innodb_checksum_algorithm
innodb
INNODB
SET GLOBAL innodb_checksum_algorithm = 'strict_innodb';
SELECT @@global.innodb_checksum_algorithm;
@@global.innodb_checksum_algorithm
strict_innodb
STRICT_INNODB
SET GLOBAL innodb_checksum_algorithm = 'none';
SELECT @@global.innodb_checksum_algorithm;
@@global.innodb_checksum_algorithm
none
NONE
SET GLOBAL innodb_checksum_algorithm = 'strict_none';
SELECT @@global.innodb_checksum_algorithm;
@@global.innodb_checksum_algorithm
strict_none
STRICT_NONE
SET GLOBAL innodb_checksum_algorithm = '';
ERROR 42000: Variable 'innodb_checksum_algorithm' can't be set to the value of ''
SELECT @@global.innodb_checksum_algorithm;
@@global.innodb_checksum_algorithm
strict_none
STRICT_NONE
SET GLOBAL innodb_checksum_algorithm = 'foobar';
ERROR 42000: Variable 'innodb_checksum_algorithm' can't be set to the value of 'foobar'
SELECT @@global.innodb_checksum_algorithm;
@@global.innodb_checksum_algorithm
strict_none
STRICT_NONE
SET GLOBAL innodb_checksum_algorithm = 123;
ERROR 42000: Variable 'innodb_checksum_algorithm' can't be set to the value of '123'
SELECT @@global.innodb_checksum_algorithm;
@@global.innodb_checksum_algorithm
strict_none
STRICT_NONE
SET GLOBAL innodb_checksum_algorithm = @orig;
SELECT @@global.innodb_checksum_algorithm;
@@global.innodb_checksum_algorithm
innodb
INNODB

View file

@ -1,17 +1,17 @@
SET @start_value = @@GLOBAL.innodb_cleaner_lsn_age_factor;
SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor;
@@GLOBAL.innodb_cleaner_lsn_age_factor
high_checkpoint
HIGH_CHECKPOINT
SELECT @@SESSION.innodb_cleaner_lsn_age_factor;
ERROR HY000: Variable 'innodb_cleaner_lsn_age_factor' is a GLOBAL variable
SET GLOBAL innodb_cleaner_lsn_age_factor='legacy';
SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor;
@@GLOBAL.innodb_cleaner_lsn_age_factor
legacy
LEGACY
SET GLOBAL innodb_cleaner_lsn_age_factor='high_checkpoint';
SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor;
@@GLOBAL.innodb_cleaner_lsn_age_factor
high_checkpoint
HIGH_CHECKPOINT
SET GLOBAL innodb_cleaner_lsn_age_factor=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lsn_age_factor'
SET GLOBAL innodb_cleaner_lsn_age_factor=1e1;

View file

@ -1,17 +1,17 @@
SET @start_value = @@GLOBAL.innodb_empty_free_list_algorithm;
SELECT @@GLOBAL.innodb_empty_free_list_algorithm;
@@GLOBAL.innodb_empty_free_list_algorithm
backoff
BACKOFF
SELECT @@SESSION.innodb_empty_free_list_algorithm;
ERROR HY000: Variable 'innodb_empty_free_list_algorithm' is a GLOBAL variable
SET GLOBAL innodb_empty_free_list_algorithm='legacy';
SELECT @@GLOBAL.innodb_empty_free_list_algorithm;
@@GLOBAL.innodb_empty_free_list_algorithm
legacy
LEGACY
SET GLOBAL innodb_empty_free_list_algorithm='backoff';
SELECT @@GLOBAL.innodb_empty_free_list_algorithm;
@@GLOBAL.innodb_empty_free_list_algorithm
backoff
BACKOFF
SET GLOBAL innodb_empty_free_list_algorithm=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_empty_free_list_algorithm'
SET GLOBAL innodb_empty_free_list_algorithm=1e1;

View file

@ -1,17 +1,17 @@
SET @start_value = @@GLOBAL.innodb_foreground_preflush;
SELECT @@GLOBAL.innodb_foreground_preflush;
@@GLOBAL.innodb_foreground_preflush
exponential_backoff
EXPONENTIAL_BACKOFF
SELECT @@SESSION.innodb_foreground_preflush;
ERROR HY000: Variable 'innodb_foreground_preflush' is a GLOBAL variable
SET GLOBAL innodb_foreground_preflush='sync_preflush';
SELECT @@GLOBAL.innodb_foreground_preflush;
@@GLOBAL.innodb_foreground_preflush
sync_preflush
SYNC_PREFLUSH
SET GLOBAL innodb_foreground_preflush='exponential_backoff';
SELECT @@GLOBAL.innodb_foreground_preflush;
@@GLOBAL.innodb_foreground_preflush
exponential_backoff
EXPONENTIAL_BACKOFF
SET GLOBAL innodb_foreground_preflush=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_foreground_preflush'
SET GLOBAL innodb_foreground_preflush=1e1;

View file

@ -1,47 +1,47 @@
SET @orig = @@global.innodb_log_checksum_algorithm;
SELECT @orig;
@orig
innodb
INNODB
SET GLOBAL innodb_log_checksum_algorithm = 'crc32';
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
crc32
CRC32
SET GLOBAL innodb_log_checksum_algorithm = 'strict_crc32';
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
strict_crc32
STRICT_CRC32
SET GLOBAL innodb_log_checksum_algorithm = 'innodb';
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
innodb
INNODB
SET GLOBAL innodb_log_checksum_algorithm = 'strict_innodb';
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
strict_innodb
STRICT_INNODB
SET GLOBAL innodb_log_checksum_algorithm = 'none';
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
none
NONE
SET GLOBAL innodb_log_checksum_algorithm = 'strict_none';
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
strict_none
STRICT_NONE
SET GLOBAL innodb_log_checksum_algorithm = '';
ERROR 42000: Variable 'innodb_log_checksum_algorithm' can't be set to the value of ''
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
strict_none
STRICT_NONE
SET GLOBAL innodb_log_checksum_algorithm = 'foobar';
ERROR 42000: Variable 'innodb_log_checksum_algorithm' can't be set to the value of 'foobar'
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
strict_none
STRICT_NONE
SET GLOBAL innodb_log_checksum_algorithm = 123;
ERROR 42000: Variable 'innodb_log_checksum_algorithm' can't be set to the value of '123'
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
strict_none
STRICT_NONE
SET GLOBAL innodb_log_checksum_algorithm = @orig;
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
innodb
INNODB

View file

@ -1,22 +1,22 @@
SET @global_start_value = @@global.myisam_stats_method;
SELECT @global_start_value;
@global_start_value
nulls_unequal
NULLS_UNEQUAL
SET @session_start_value = @@session.myisam_stats_method;
SELECT @session_start_value;
@session_start_value
nulls_unequal
NULLS_UNEQUAL
'#--------------------FN_DYNVARS_097_01------------------------#'
SET @@global.myisam_stats_method = nulls_equal;
SET @@global.myisam_stats_method = DEFAULT;
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
nulls_unequal
NULLS_UNEQUAL
SET @@session.myisam_stats_method = nulls_equal;
SET @@session.myisam_stats_method = DEFAULT;
SELECT @@session.myisam_stats_method;
@@session.myisam_stats_method
nulls_unequal
NULLS_UNEQUAL
'#---------------------FN_DYNVARS_097_02-------------------------#'
SET @@global.myisam_stats_method = NULL;
ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of 'NULL'
@ -30,28 +30,28 @@ ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of ''
SET @@global.myisam_stats_method = 'nulls_equal';
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
nulls_equal
NULLS_EQUAL
SET @@global.myisam_stats_method = 'nulls_unequal';
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
nulls_unequal
NULLS_UNEQUAL
SET @@global.myisam_stats_method = 'nulls_ignored';
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
nulls_ignored
NULLS_IGNORED
'Bug: Value of nulls_ignored is not documented. Its ordinal value is 2'
SET @@session.myisam_stats_method = 'nulls_equal';
SELECT @@session.myisam_stats_method;
@@session.myisam_stats_method
nulls_equal
NULLS_EQUAL
SET @@session.myisam_stats_method = 'nulls_unequal';
SELECT @@session.myisam_stats_method;
@@session.myisam_stats_method
nulls_unequal
NULLS_UNEQUAL
SET @@session.myisam_stats_method = 'nulls_ignored';
SELECT @@session.myisam_stats_method;
@@session.myisam_stats_method
nulls_ignored
NULLS_IGNORED
'#--------------------FN_DYNVARS_097_04-------------------------#'
SET @@global.myisam_stats_method = -1;
ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of '-1'
@ -81,15 +81,15 @@ WHERE VARIABLE_NAME='myisam_stats_method';
SET @@global.myisam_stats_method = 0;
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
nulls_unequal
NULLS_UNEQUAL
SET @@global.myisam_stats_method = 1;
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
nulls_equal
NULLS_EQUAL
SET @@global.myisam_stats_method = 2;
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
nulls_ignored
NULLS_IGNORED
SET @@global.myisam_stats_method = 0.4;
ERROR 42000: Incorrect argument type to variable 'myisam_stats_method'
SET @@global.myisam_stats_method = 3;
@ -98,11 +98,11 @@ ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of '3'
SET @@global.myisam_stats_method = TRUE;
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
nulls_equal
NULLS_EQUAL
SET @@global.myisam_stats_method = FALSE;
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
nulls_unequal
NULLS_UNEQUAL
'#---------------------FN_DYNVARS_097_09----------------------#'
SET myisam_stats_method = 'nulls_equal';
SET session.myisam_stats_method = 'nulls_equal';
@ -112,16 +112,16 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
SET session myisam_stats_method = 'nulls_equal';
SELECT @@myisam_stats_method;
@@myisam_stats_method
nulls_equal
NULLS_EQUAL
SET global myisam_stats_method = 'nulls_equal';
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
nulls_equal
NULLS_EQUAL
SET @@global.myisam_stats_method = @global_start_value;
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
nulls_unequal
NULLS_UNEQUAL
SET @@session.myisam_stats_method = @session_start_value;
SELECT @@session.myisam_stats_method;
@@session.myisam_stats_method
nulls_unequal
NULLS_UNEQUAL

View file

@ -5,10 +5,10 @@ SET @@global.myisam_stats_method = nulls_equal;
'connection con1'
SELECT @@global.myisam_stats_method;
@@global.myisam_stats_method
nulls_equal
NULLS_EQUAL
SELECT @@session.myisam_stats_method;
@@session.myisam_stats_method
nulls_equal
NULLS_EQUAL
'#--------------------FN_DYNVARS_097_02-------------------------#'
'connection default'
DROP TABLE IF EXISTS t1;
@ -53,7 +53,7 @@ t1 1 a 1 a A 5 NULL NULL YES BTREE
SET myisam_stats_method = nulls_ignored;
SHOW VARIABLES LIKE 'myisam_stats_method';
Variable_name Value
myisam_stats_method nulls_ignored
myisam_stats_method NULLS_IGNORED
DROP TABLE t1;
CREATE TABLE t1 (
a CHAR(3), b CHAR(4), c CHAR(5), d CHAR(6),

View file

@ -4,7 +4,7 @@
SET @save_replicate_events_marked_for_skip = @@GLOBAL.replicate_events_marked_for_skip;
SELECT @save_replicate_events_marked_for_skip;
@save_replicate_events_marked_for_skip
replicate
REPLICATE
# Scope.
SET @@SESSION.replicate_events_marked_for_skip = "";
ERROR HY000: Variable 'replicate_events_marked_for_skip' is a GLOBAL variable and should be set with SET GLOBAL
@ -14,22 +14,22 @@ ERROR HY000: Variable 'replicate_events_marked_for_skip' is a GLOBAL variable
SET @@GLOBAL.replicate_events_marked_for_skip=filter_on_master;
SELECT @@GLOBAL.replicate_events_marked_for_skip;
@@GLOBAL.replicate_events_marked_for_skip
filter_on_master
FILTER_ON_MASTER
SET @@GLOBAL.replicate_events_marked_for_skip=filter_on_slave;
SELECT @@GLOBAL.replicate_events_marked_for_skip;
@@GLOBAL.replicate_events_marked_for_skip
filter_on_slave
FILTER_ON_SLAVE
SET @@GLOBAL.replicate_events_marked_for_skip=replicate;
SELECT @@GLOBAL.replicate_events_marked_for_skip;
@@GLOBAL.replicate_events_marked_for_skip
replicate
REPLICATE
SET @@GLOBAL.replicate_events_marked_for_skip=filter;
ERROR 42000: Variable 'replicate_events_marked_for_skip' can't be set to the value of 'filter'
SELECT @@GLOBAL.replicate_events_marked_for_skip;
@@GLOBAL.replicate_events_marked_for_skip
replicate
REPLICATE
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_events_marked_for_skip';
VARIABLE_NAME VARIABLE_VALUE
REPLICATE_EVENTS_MARKED_FOR_SKIP replicate
REPLICATE_EVENTS_MARKED_FOR_SKIP REPLICATE
# Cleanup.
SET @@GLOBAL.replicate_events_marked_for_skip = @save_replicate_events_marked_for_skip;

View file

@ -1300,6 +1300,48 @@ static uint print_name(const struct my_option *optp)
return s - optp->name;
}
/** prints option comment with indentation and wrapping.
The comment column starts at startpos, and has width of width
Current cursor position is curpos, returns new cursor position
@note can print one character beyond width!
*/
static uint print_comment(const char *comment,
int curpos, int startpos, int width)
{
const char *end= strend(comment);
int endpos= startpos + width;
for (; curpos < startpos; curpos++)
putchar(' ');
if (*comment == '.' || *comment == ',')
{
putchar(*comment);
comment++;
curpos++;
}
while (end - comment > endpos - curpos)
{
const char *line_end;
for (line_end= comment + endpos - curpos;
line_end > comment && *line_end != ' ';
line_end--);
for (; comment < line_end; comment++)
putchar(*comment);
while (*comment == ' ')
comment++; /* skip the space, as a newline will take it's place now */
putchar('\n');
for (curpos= 0; curpos < startpos; curpos++)
putchar(' ');
}
printf("%s", comment);
return curpos + (end - comment);
}
/*
function: my_print_options
@ -1309,12 +1351,12 @@ static uint print_name(const struct my_option *optp)
void my_print_help(const struct my_option *options)
{
uint col, name_space= 22, comment_space= 57;
const char *line_end;
const struct my_option *optp;
DBUG_ENTER("my_print_help");
for (optp= options; optp->name; optp++)
{
const char *typelib_help= 0;
if (!optp->comment)
continue;
if (optp->id && optp->id < 256)
@ -1353,29 +1395,46 @@ void my_print_help(const struct my_option *options)
optp->arg_type == OPT_ARG ? "]" : "");
col+= (optp->arg_type == OPT_ARG) ? 5 : 3;
}
if (col > name_space && optp->comment && *optp->comment)
}
if (optp->comment && *optp->comment)
{
uint count;
if (col > name_space)
{
putchar('\n');
col= 0;
}
}
for (; col < name_space; col++)
putchar(' ');
if (optp->comment && *optp->comment)
{
const char *comment= optp->comment, *end= strend(comment);
while ((uint) (end - comment) > comment_space)
{
for (line_end= comment + comment_space; *line_end != ' '; line_end--);
for (; comment != line_end; comment++)
putchar(*comment);
comment++; /* skip the space, as a newline will take it's place now */
putchar('\n');
for (col= 0; col < name_space; col++)
putchar(' ');
col= print_comment(optp->comment, col, name_space, comment_space);
switch (optp->var_type & GET_TYPE_MASK) {
case GET_ENUM:
typelib_help= ". One of: ";
count= optp->typelib->count;
break;
case GET_SET:
typelib_help= ". Any combination of: ";
count= optp->typelib->count;
break;
case GET_FLAGSET:
typelib_help= ". Takes a comma-separated list of option=value pairs, "
"where value is on, off, or default, and options are: ";
count= optp->typelib->count - 1;
break;
}
if (typelib_help &&
strstr(optp->comment, optp->typelib->type_names[0]) == NULL)
{
int i;
col= print_comment(typelib_help, col, name_space, comment_space);
col= print_comment(optp->typelib->type_names[0], col, name_space, comment_space);
for (i= 1; i < count; i++)
{
col= print_comment(", ", col, name_space, comment_space);
col= print_comment(optp->typelib->type_names[i], col, name_space, comment_space);
}
}
printf("%s", comment);
}
putchar('\n');
if ((optp->var_type & GET_TYPE_MASK) == GET_BOOL)

View file

@ -242,7 +242,7 @@ static TYPELIB events_typelib=
array_elements(event_names) - 1, "", event_names, NULL
};
static MYSQL_SYSVAR_SET(events, events, PLUGIN_VAR_RQCMDARG,
"Specifies the set of events to monitor. Can be CONNECT, QUERY, TABLE.",
"Specifies the set of events to monitor",
NULL, NULL, 0, &events_typelib);
#define OUTPUT_SYSLOG 0
#define OUTPUT_FILE 1

View file

@ -9569,8 +9569,7 @@ static MYSQL_SYSVAR_ENUM(
binlog_checksum_options,
PLUGIN_VAR_RQCMDARG,
"Type of BINLOG_CHECKSUM_ALG. Include checksum for "
"log events in the binary log. Possible values are NONE and CRC32; "
"default is NONE.",
"log events in the binary log",
NULL,
binlog_checksum_update,
BINLOG_CHECKSUM_ALG_OFF,

View file

@ -6965,7 +6965,7 @@ struct my_option my_long_options[]=
&master_retry_count, &master_retry_count, 0, GET_ULONG,
REQUIRED_ARG, 3600*24, 0, 0, 0, 0, 0},
#ifdef HAVE_REPLICATION
{"init-rpl-role", 0, "Set the replication role.",
{"init-rpl-role", 0, "Set the replication role",
&rpl_status, &rpl_status, &rpl_role_typelib,
GET_ENUM, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#endif /* HAVE_REPLICATION */
@ -7093,8 +7093,8 @@ struct my_option my_long_options[]=
&global_system_variables.sysdate_is_now,
0, 0, GET_BOOL, NO_ARG, 0, 0, 1, 0, 1, 0},
{"tc-heuristic-recover", 0,
"Decision to use in heuristic recover process. Possible values are COMMIT "
"or ROLLBACK.", &tc_heuristic_recover, &tc_heuristic_recover,
"Decision to use in heuristic recover process",
&tc_heuristic_recover, &tc_heuristic_recover,
&tc_heuristic_recover_typelib, GET_ENUM, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"temp-pool", 0,
#if (ENABLE_TEMP_POOL)
@ -7106,7 +7106,7 @@ struct my_option my_long_options[]=
&use_temp_pool, &use_temp_pool, 0, GET_BOOL, NO_ARG, 1,
0, 0, 0, 0, 0},
{"transaction-isolation", 0,
"Default transaction isolation level.",
"Default transaction isolation level",
&global_system_variables.tx_isolation,
&global_system_variables.tx_isolation, &tx_isolation_typelib,
GET_ENUM, REQUIRED_ARG, ISO_REPEATABLE_READ, 0, 0, 0, 0, 0},

View file

@ -3597,7 +3597,7 @@ static int construct_options(MEM_ROOT *mem_root, struct st_plugin_int *tmp,
options[0].typelib= options[1].typelib= &global_plugin_typelib;
strxnmov(comment, max_comment_len, "Enable or disable ", plugin_name,
" plugin. Possible values are ON, OFF, FORCE (don't start "
" plugin. One of: ON, OFF, FORCE (don't start "
"if the plugin fails to load).", NullS);
options[0].comment= comment;
/*

View file

@ -483,9 +483,7 @@ static Sys_var_enum Sys_binlog_format(
"based binary logging except for those statements where only row-"
"based is correct: those which involve user-defined functions (i.e. "
"UDFs) or the UUID() function; for those, row-based binary logging is "
"automatically used. If NDBCLUSTER is enabled and binlog-format is "
"MIXED, the format switches to row-based and back implicitly per each "
"query accessing an NDBCLUSTER table",
"automatically used.",
SESSION_VAR(binlog_format), CMD_LINE(REQUIRED_ARG, OPT_BINLOG_FORMAT),
binlog_format_names, DEFAULT(BINLOG_FORMAT_STMT),
NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(binlog_format_check),
@ -649,8 +647,7 @@ static Sys_var_struct Sys_character_set_filesystem(
static const char *completion_type_names[]= {"NO_CHAIN", "CHAIN", "RELEASE", 0};
static Sys_var_enum Sys_completion_type(
"completion_type", "The transaction completion type, one of "
"NO_CHAIN, CHAIN, RELEASE",
"completion_type", "The transaction completion type",
SESSION_VAR(completion_type), CMD_LINE(REQUIRED_ARG),
completion_type_names, DEFAULT(0));
@ -717,8 +714,7 @@ static Sys_var_struct Sys_collation_server(
static const char *concurrent_insert_names[]= {"NEVER", "AUTO", "ALWAYS", 0};
static Sys_var_enum Sys_concurrent_insert(
"concurrent_insert", "Use concurrent insert with MyISAM. Possible "
"values are NEVER, AUTO, ALWAYS",
"concurrent_insert", "Use concurrent insert with MyISAM",
GLOBAL_VAR(myisam_concurrent_insert), CMD_LINE(OPT_ARG),
concurrent_insert_names, DEFAULT(1));
@ -2196,37 +2192,7 @@ static bool fix_optimizer_switch(sys_var *self, THD *thd,
}
static Sys_var_flagset Sys_optimizer_switch(
"optimizer_switch",
"optimizer_switch=option=val[,option=val...], where option is one of {"
"derived_merge, "
"derived_with_keys, "
"firstmatch, "
"in_to_exists, "
"engine_condition_pushdown, "
"index_condition_pushdown, "
"index_merge, "
"index_merge_intersection, "
"index_merge_sort_intersection, "
"index_merge_sort_union, "
"index_merge_union, "
"join_cache_bka, "
"join_cache_hashed, "
"join_cache_incremental, "
"loosescan, "
"materialization, "
"mrr, "
"mrr_cost_based, "
"mrr_sort_keys, "
"optimize_join_buffer_size, "
"outer_join_with_cache, "
"partial_match_rowid_merge, "
"partial_match_table_scan, "
"semijoin, "
"semijoin_with_cache, "
"subquery_cache, "
"table_elimination, "
"extended_keys, "
"exists_to_in "
"} and val is one of {on, off, default}",
"Fine-tune the optimizer behavior",
SESSION_VAR(optimizer_switch), CMD_LINE(REQUIRED_ARG),
optimizer_switch_names, DEFAULT(OPTIMIZER_SWITCH_DEFAULT),
NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(NULL),
@ -2546,12 +2512,8 @@ static const char *thread_handling_names[]=
static Sys_var_enum Sys_thread_handling(
"thread_handling",
"Define threads usage for handling queries, one of "
"one-thread-per-connection, no-threads"
#ifdef HAVE_POOL_OF_THREADS
", pool-of-threads"
#endif
, READ_ONLY GLOBAL_VAR(thread_handling), CMD_LINE(REQUIRED_ARG),
"Define threads usage for handling queries",
READ_ONLY GLOBAL_VAR(thread_handling), CMD_LINE(REQUIRED_ARG),
thread_handling_names,
DEFAULT(DEFAULT_THREAD_HANDLING)
);
@ -2758,11 +2720,9 @@ static Sys_var_enum Slave_run_triggers_for_rbr(
static const char *slave_type_conversions_name[]= {"ALL_LOSSY", "ALL_NON_LOSSY", 0};
static Sys_var_set Slave_type_conversions(
"slave_type_conversions",
"Set of slave type conversions that are enabled. Legal values are:"
" ALL_LOSSY to enable lossy conversions and"
" ALL_NON_LOSSY to enable non-lossy conversions."
" If the variable is assigned the empty set, no conversions are"
" allowed and it is expected that the types match exactly.",
"Set of slave type conversions that are enabled."
" If the variable is empty, no conversions are"
" allowed and it is expected that the types match exactly",
GLOBAL_VAR(slave_type_conversions_options), CMD_LINE(REQUIRED_ARG),
slave_type_conversions_name,
DEFAULT(0));
@ -2785,7 +2745,7 @@ static Sys_var_mybool Sys_master_verify_checksum(
/* These names must match RPL_SKIP_XXX #defines in slave.h. */
static const char *replicate_events_marked_for_skip_names[]= {
"replicate", "filter_on_slave", "filter_on_master", 0
"REPLICATE", "FILTER_ON_SLAVE", "FILTER_ON_MASTER", 0
};
bool
@ -2931,8 +2891,7 @@ export bool sql_mode_string_representation(THD *thd, ulonglong sql_mode,
*/
static Sys_var_set Sys_sql_mode(
"sql_mode",
"Syntax: sql-mode=mode[,mode[,mode...]]. See the manual for the "
"complete list of valid sql modes",
"Sets the sql mode",
SESSION_VAR(sql_mode), CMD_LINE(REQUIRED_ARG),
sql_mode_names, DEFAULT(0), NO_MUTEX_GUARD, NOT_IN_BINLOG,
ON_CHECK(check_sql_mode), ON_UPDATE(fix_sql_mode));
@ -2957,9 +2916,7 @@ export bool old_mode_string_representation(THD *thd, ulonglong sql_mode,
*/
static Sys_var_set Sys_old_behavior(
"old_mode",
"Used to emulate old behavior from earlier MariaDB or MySQL versions. "
"Syntax: old_mode=mode[,mode[,mode...]]. "
"See the manual for the complete list of valid old modes",
"Used to emulate old behavior from earlier MariaDB or MySQL versions",
SESSION_VAR(old_behavior), CMD_LINE(REQUIRED_ARG),
old_mode_names, DEFAULT(0), NO_MUTEX_GUARD, NOT_IN_BINLOG);
@ -4009,8 +3966,7 @@ static bool fix_log_output(sys_var *self, THD *thd, enum_var_type type)
static const char *log_output_names[] = { "NONE", "FILE", "TABLE", NULL};
static Sys_var_set Sys_log_output(
"log_output", "Syntax: log-output=value[,value...], "
"where \"value\" could be TABLE, FILE or NONE",
"log_output", "How logs should be written",
GLOBAL_VAR(log_output_options), CMD_LINE(REQUIRED_ARG),
log_output_names, DEFAULT(LOG_FILE), NO_MUTEX_GUARD, NOT_IN_BINLOG,
ON_CHECK(check_not_empty_set), ON_UPDATE(fix_log_output));
@ -4494,9 +4450,8 @@ export const char *plugin_maturity_names[]=
{ "unknown", "experimental", "alpha", "beta", "gamma", "stable", 0 };
static Sys_var_enum Sys_plugin_maturity(
"plugin_maturity",
"The lowest desirable plugin maturity "
"(unknown, experimental, alpha, beta, gamma, or stable). "
"Plugins less mature than that will not be installed or loaded.",
"The lowest desirable plugin maturity. "
"Plugins less mature than that will not be installed or loaded",
READ_ONLY GLOBAL_VAR(plugin_maturity), CMD_LINE(REQUIRED_ARG),
plugin_maturity_names, DEFAULT(MariaDB_PLUGIN_MATURITY_UNKNOWN));
@ -4567,10 +4522,7 @@ static const char *log_slow_filter_names[]=
};
static Sys_var_set Sys_log_slow_filter(
"log_slow_filter",
"Log only certain types of queries. Multiple "
"flags can be specified, separated by commas. Valid values are admin, "
"slave, filesort, filesort_on_disk, full_join, full_scan, query_cache, "
"query_cache_miss, tmp_table, tmp_table_on_disk",
"Log only certain types of queries",
SESSION_VAR(log_slow_filter), CMD_LINE(REQUIRED_ARG),
log_slow_filter_names,
DEFAULT(MAX_SET(array_elements(log_slow_filter_names)-1)));
@ -4608,9 +4560,7 @@ int default_regex_flags_pcre(const THD *thd)
}
static Sys_var_set Sys_default_regex_flags(
"default_regex_flags",
"Default flags for the regex library. "
"Syntax: default-regex-flags='[flag[,flag[,flag...]]]'. "
"See the manual for the complete list of valid flags",
"Default flags for the regex library",
SESSION_VAR(default_regex_flags), CMD_LINE(REQUIRED_ARG),
default_regex_flags_names,
DEFAULT(0));
@ -4627,8 +4577,7 @@ static const char *log_slow_verbosity_names[]= { "innodb", "query_plan",
"explain", 0 };
static Sys_var_set Sys_log_slow_verbosity(
"log_slow_verbosity",
"log-slow-verbosity=[value[,value ...]] where value is one of "
"'innodb', 'query_plan', 'explain' ",
"Verbosity level for the slow log",
SESSION_VAR(log_slow_verbosity), CMD_LINE(REQUIRED_ARG),
log_slow_verbosity_names, DEFAULT(LOG_SLOW_VERBOSITY_INIT));
@ -4694,8 +4643,7 @@ const char *use_stat_tables_modes[] =
{"NEVER", "COMPLEMENTARY", "PREFERABLY", 0};
static Sys_var_enum Sys_optimizer_use_stat_tables(
"use_stat_tables",
"Specifies how to use system statistics tables. Possible values are "
"NEVER, COMPLEMENTARY, PREFERABLY",
"Specifies how to use system statistics tables",
SESSION_VAR(use_stat_tables), CMD_LINE(REQUIRED_ARG),
use_stat_tables_modes, DEFAULT(0));

View file

@ -225,12 +225,12 @@ static TYPELIB innodb_stats_method_typelib = {
/** Possible values for system variable "innodb_checksum_algorithm". */
static const char* innodb_checksum_algorithm_names[] = {
"crc32",
"strict_crc32",
"innodb",
"strict_innodb",
"none",
"strict_none",
"CRC32",
"STRICT_CRC32",
"INNODB",
"STRICT_INNODB",
"NONE",
"STRICT_NONE",
NullS
};

View file

@ -217,9 +217,7 @@ static MYSQL_SYSVAR_ULONG(group_commit_interval, maria_group_commit_interval,
static MYSQL_SYSVAR_ENUM(log_purge_type, log_purge_type,
PLUGIN_VAR_RQCMDARG,
"Specifies how Aria transactional log will be purged. "
"Possible values of name are \"immediate\", \"external\" "
"and \"at_flush\"",
"Specifies how Aria transactional log will be purged",
NULL, NULL, TRANSLOG_PURGE_IMMIDIATE,
&maria_translog_purge_type_typelib);
@ -251,9 +249,7 @@ static MYSQL_SYSVAR_ULONG(pagecache_division_limit, pagecache_division_limit,
100, 1, 100, 1);
static MYSQL_SYSVAR_SET(recover, maria_recover_options, PLUGIN_VAR_OPCMDARG,
"Specifies how corrupted tables should be automatically repaired."
" Possible values are one or more of \"NORMAL\" (the default), "
"\"BACKUP\", \"FORCE\", or \"QUICK\".",
"Specifies how corrupted tables should be automatically repaired",
NULL, NULL, HA_RECOVER_DEFAULT, &maria_recover_typelib);
static MYSQL_THDVAR_ULONG(repair_threads, PLUGIN_VAR_RQCMDARG,
@ -268,13 +264,11 @@ static MYSQL_THDVAR_ULONGLONG(sort_buffer_size, PLUGIN_VAR_RQCMDARG,
static MYSQL_THDVAR_ENUM(stats_method, PLUGIN_VAR_RQCMDARG,
"Specifies how Aria index statistics collection code should treat "
"NULLs. Possible values are \"nulls_unequal\", \"nulls_equal\", "
"and \"nulls_ignored\".", 0, 0, 0, &maria_stats_method_typelib);
"NULLs", 0, 0, 0, &maria_stats_method_typelib);
static MYSQL_SYSVAR_ENUM(sync_log_dir, sync_log_dir, PLUGIN_VAR_RQCMDARG,
"Controls syncing directory after log file growth and new file "
"creation. Possible values are \"never\", \"newfile\" and "
"\"always\").", NULL, NULL, TRANSLOG_SYNC_DIR_NEWFILE,
"creation", NULL, NULL, TRANSLOG_SYNC_DIR_NEWFILE,
&maria_sync_log_dir_typelib);
#ifdef USE_ARIA_FOR_TMP_TABLES

View file

@ -42,8 +42,8 @@ const char *myisam_recover_names[] =
TYPELIB myisam_recover_typelib= {array_elements(myisam_recover_names)-1,"",
myisam_recover_names, NULL};
const char *myisam_stats_method_names[] = {"nulls_unequal", "nulls_equal",
"nulls_ignored", NullS};
const char *myisam_stats_method_names[] = {"NULLS_UNEQUAL", "NULLS_EQUAL",
"NULLS_IGNORED", NullS};
TYPELIB myisam_stats_method_typelib= {
array_elements(myisam_stats_method_names) - 1, "",
myisam_stats_method_names, NULL};
@ -66,8 +66,7 @@ static MYSQL_SYSVAR_ULONGLONG(max_sort_file_size, myisam_max_temp_length,
static MYSQL_SYSVAR_SET(recover_options, myisam_recover_options,
PLUGIN_VAR_OPCMDARG|PLUGIN_VAR_READONLY,
"Syntax: myisam-recover-options[=option[,option...]], where option can be "
"DEFAULT, BACKUP, BACKUP_ALL, FORCE, QUICK, or OFF",
"Specifies how corrupted tables should be automatically repaired",
NULL, NULL, 1, &myisam_recover_typelib);
static MYSQL_THDVAR_ULONG(repair_threads, PLUGIN_VAR_RQCMDARG,

View file

@ -231,12 +231,12 @@ static TYPELIB innodb_stats_method_typelib = {
/** Possible values for system variables "innodb_checksum_algorithm" and
"innodb_log_checksum_algorithm". */
static const char* innodb_checksum_algorithm_names[] = {
"crc32",
"strict_crc32",
"innodb",
"strict_innodb",
"none",
"strict_none",
"CRC32",
"STRICT_CRC32",
"INNODB",
"STRICT_INNODB",
"NONE",
"STRICT_NONE",
NullS
};
@ -251,8 +251,8 @@ static TYPELIB innodb_checksum_algorithm_typelib = {
/** Possible values for system variable "innodb_cleaner_lsn_age_factor". */
static const char* innodb_cleaner_lsn_age_factor_names[] = {
"legacy",
"high_checkpoint",
"LEGACY",
"HIGH_CHECKPOINT",
NullS
};
@ -266,8 +266,8 @@ static TYPELIB innodb_cleaner_lsn_age_factor_typelib = {
/** Possible values for system variable "innodb_foreground_preflush". */
static const char* innodb_foreground_preflush_names[] = {
"sync_preflush",
"exponential_backoff",
"SYNC_PREFLUSH",
"EXPONENTIAL_BACKOFF",
NullS
};
@ -281,8 +281,8 @@ static TYPELIB innodb_foreground_preflush_typelib = {
/** Possible values for system variable "innodb_empty_free_list_algorithm". */
static const char* innodb_empty_free_list_algorithm_names[] = {
"legacy",
"backoff",
"LEGACY",
"BACKOFF",
NullS
};
@ -17149,9 +17149,7 @@ static MYSQL_SYSVAR_ENUM(log_checksum_algorithm, srv_log_checksum_algorithm,
static MYSQL_SYSVAR_BOOL(checksums, innobase_use_checksums,
PLUGIN_VAR_NOCMDARG | PLUGIN_VAR_READONLY,
"DEPRECATED. Use innodb_checksum_algorithm=NONE instead of setting "
"this to OFF. "
"Enable InnoDB checksums validation (enabled by default). "
"Disable with --skip-innodb-checksums.",
"this to OFF",
NULL, NULL, TRUE);
static MYSQL_SYSVAR_ULONG(log_block_size, innobase_log_block_size,
@ -17992,8 +17990,7 @@ static MYSQL_SYSVAR_UINT(change_buffer_max_size,
static MYSQL_SYSVAR_ENUM(stats_method, srv_innodb_stats_method,
PLUGIN_VAR_RQCMDARG,
"Specifies how InnoDB index statistics collection code should "
"treat NULLs. Possible values are NULLS_EQUAL (default), "
"NULLS_UNEQUAL and NULLS_IGNORED",
"treat NULLs",
NULL, NULL, SRV_STATS_NULLS_EQUAL, &innodb_stats_method_typelib);
#ifdef UNIV_DEBUG
@ -18158,7 +18155,7 @@ static MYSQL_SYSVAR_ENUM(corrupt_table_action, srv_pass_corrupt_table,
"Warn corruptions of user tables as 'corrupt table' instead of not crashing itself, "
"when used with file_per_table. "
"All file io for the datafile after detected as corrupt are disabled, "
"except for the deletion. Possible options are 'assert', 'warn' & 'salvage'",
"except for the deletion",
NULL, NULL, 0, &corrupt_table_action_typelib);
static MYSQL_SYSVAR_BOOL(locking_fake_changes, srv_fake_changes_locks,
@ -18199,7 +18196,7 @@ static TYPELIB page_compression_algorithms_typelib=
};
static MYSQL_SYSVAR_ENUM(compression_algorithm, innodb_compression_algorithm,
PLUGIN_VAR_OPCMDARG,
"Compression algorithm used on page compression. One of: none, zlib, lz4, or lzo",
"Compression algorithm used on page compression",
NULL, NULL, default_compression_algorithm,
&page_compression_algorithms_typelib);