summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2016-07-12 13:41:29 +0200
committerSergei Golubchik <serg@mariadb.org>2016-07-13 08:55:26 +0200
commit12dc083a453dd12eb6563f622de2db05030f35de (patch)
tree785ed54f30c23141e78d781ee9c7fa381a77b463
parent0d5583b41bb500f0efc5ca9b5768eee5d81e803c (diff)
downloadmariadb-git-12dc083a453dd12eb6563f622de2db05030f35de.tar.gz
MDEV-8580 For some BOOLEAN or ENUM sysvars list of valid values is not generated
set the 'typelib' member for plugin boolean sysvars
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_aria.result6
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff544
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result4
-rw-r--r--sql/sql_plugin.cc2
4 files changed, 513 insertions, 43 deletions
diff --git a/mysql-test/suite/sys_vars/r/sysvars_aria.result b/mysql-test/suite/sys_vars/r/sysvars_aria.result
index 2948b2ad3fc..1308992e771 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_aria.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_aria.result
@@ -54,7 +54,7 @@ VARIABLE_COMMENT Encrypt tables (only for tables with ROW_FORMAT=PAGE (default)
NUMERIC_MIN_VALUE NULL
NUMERIC_MAX_VALUE NULL
NUMERIC_BLOCK_SIZE NULL
-ENUM_VALUE_LIST NULL
+ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME ARIA_FORCE_START_AFTER_RECOVERY_FAILURES
@@ -208,7 +208,7 @@ VARIABLE_COMMENT Maintain page checksums (can be overridden per table with PAGE_
NUMERIC_MIN_VALUE NULL
NUMERIC_MAX_VALUE NULL
NUMERIC_BLOCK_SIZE NULL
-ENUM_VALUE_LIST NULL
+ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME ARIA_RECOVER
@@ -292,6 +292,6 @@ VARIABLE_COMMENT Whether temporary tables should be MyISAM or Aria
NUMERIC_MIN_VALUE NULL
NUMERIC_MAX_VALUE NULL
NUMERIC_BLOCK_SIZE NULL
-ENUM_VALUE_LIST NULL
+ENUM_VALUE_LIST OFF,ON
READ_ONLY YES
COMMAND_LINE_ARGUMENT NULL
diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff b/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff
index 6d95a517b33..e083a8f8c1f 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff
+++ b/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff
@@ -1,7 +1,20 @@
--- suite/sys_vars/r/sysvars_innodb.result
+++ suite/sys_vars/r/sysvars_innodb,xtradb.reject
-@@ -47,6 +47,20 @@
- ENUM_VALUE_LIST NULL
+@@ -16,7 +16,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_ADAPTIVE_FLUSHING_LWM
+@@ -44,9 +44,23 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_ADAPTIVE_HASH_INDEX_PARTITIONS
@@ -21,8 +34,93 @@
VARIABLE_NAME INNODB_ADAPTIVE_MAX_SLEEP_DELAY
SESSION_VALUE NULL
GLOBAL_VALUE 150000
-@@ -355,6 +369,20 @@
- ENUM_VALUE_LIST NULL
+@@ -100,7 +114,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_API_ENABLE_BINLOG
+@@ -114,7 +128,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_API_ENABLE_MDL
+@@ -128,7 +142,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_API_TRX_LEVEL
+@@ -198,7 +212,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_BACKGROUND_SCRUB_DATA_INTERVAL
+@@ -226,7 +240,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_BUFFER_POOL_DUMP_AT_SHUTDOWN
+@@ -240,7 +254,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_BUFFER_POOL_DUMP_NOW
+@@ -254,7 +268,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_BUFFER_POOL_DUMP_PCT
+@@ -324,7 +338,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_BUFFER_POOL_LOAD_AT_STARTUP
+@@ -338,7 +352,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_BUFFER_POOL_LOAD_NOW
+@@ -352,9 +366,23 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BUFFER_POOL_POPULATE
@@ -36,13 +134,22 @@
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
-+ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+READ_ONLY YES
+COMMAND_LINE_ARGUMENT NONE
VARIABLE_NAME INNODB_BUFFER_POOL_SIZE
SESSION_VALUE NULL
GLOBAL_VALUE 8388608
-@@ -446,7 +474,7 @@
+@@ -394,7 +422,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_CHANGE_BUFFERING
+@@ -446,11 +474,11 @@
DEFAULT_VALUE ON
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE BOOLEAN
@@ -51,6 +158,11 @@
NUMERIC_MIN_VALUE NULL
NUMERIC_MAX_VALUE NULL
NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_CHECKSUM_ALGORITHM
@@ -467,6 +495,104 @@
ENUM_VALUE_LIST CRC32,STRICT_CRC32,INNODB,STRICT_INNODB,NONE,STRICT_NONE
READ_ONLY NO
@@ -66,7 +178,7 @@
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
-+ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_CLEANER_FLUSH_CHUNK_SIZE
@@ -156,6 +268,15 @@
VARIABLE_NAME INNODB_CMP_PER_INDEX_ENABLED
SESSION_VALUE NULL
GLOBAL_VALUE OFF
+@@ -478,7 +604,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_COMMIT_CONCURRENCY
@@ -565,6 +691,20 @@
ENUM_VALUE_LIST NULL
READ_ONLY NO
@@ -177,6 +298,51 @@
VARIABLE_NAME INNODB_DATA_FILE_PATH
SESSION_VALUE NULL
GLOBAL_VALUE ibdata1:12M:autoextend
+@@ -604,7 +744,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_DEFAULT_ENCRYPTION_KEY_ID
+@@ -632,7 +772,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_DEFRAGMENT_FILL_FACTOR
+@@ -716,7 +856,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_DISABLE_SORT_FILE_CACHE
+@@ -730,7 +870,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_DOUBLEWRITE
+@@ -744,7 +884,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_DOUBLEWRITE_BATCH_SIZE
@@ -761,6 +901,20 @@
ENUM_VALUE_LIST NULL
READ_ONLY YES
@@ -198,6 +364,15 @@
VARIABLE_NAME INNODB_ENCRYPTION_ROTATE_KEY_AGE
SESSION_VALUE NULL
GLOBAL_VALUE 1
+@@ -814,7 +968,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_ENCRYPT_TABLES
@@ -831,6 +985,20 @@
ENUM_VALUE_LIST OFF,ON,FORCE
READ_ONLY NO
@@ -213,12 +388,30 @@
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
-+ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_FAST_SHUTDOWN
SESSION_VALUE NULL
GLOBAL_VALUE 1
+@@ -884,7 +1052,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_FILE_FORMAT_MAX
+@@ -912,7 +1080,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_FIL_MAKE_PAGE_DIRTY_DEBUG
@@ -958,11 +1126,11 @@
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
@@ -233,6 +426,24 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Controls the durability/speed trade-off for commits. Set to 0 (write and flush redo log to disk only once per second), 1 (flush to disk at each commit), 2 (write to log at commit but flush to disk only once per second) or 3 (flush to disk at prepare and at commit, slower and usually redundant). 1 and 3 guarantees that after a crash, committed transactions will not be lost and will be consistent with the binlog and other transactional engines. 2 can get inconsistent and lose transactions if there is a power failure or kernel crash but not if mysqld crashes. 0 has no guarantees in case of crash. 0 and 2 can be faster than 1 or 3.
NUMERIC_MIN_VALUE 0
+@@ -1010,7 +1178,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_FORCE_PRIMARY_KEY
+@@ -1024,7 +1192,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_FORCE_RECOVERY
@@ -1055,6 +1223,20 @@
ENUM_VALUE_LIST NULL
READ_ONLY YES
@@ -254,6 +465,42 @@
VARIABLE_NAME INNODB_FT_AUX_TABLE
SESSION_VALUE NULL
GLOBAL_VALUE
+@@ -1094,7 +1276,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_FT_ENABLE_STOPWORD
+@@ -1108,7 +1290,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_FT_MAX_TOKEN_SIZE
+@@ -1248,7 +1430,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_INSTRUMENT_SEMAPHORES
+@@ -1262,7 +1444,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_IO_CAPACITY
@@ -1293,6 +1475,20 @@
ENUM_VALUE_LIST NULL
READ_ONLY NO
@@ -275,6 +522,15 @@
VARIABLE_NAME INNODB_LARGE_PREFIX
SESSION_VALUE NULL
GLOBAL_VALUE OFF
+@@ -1304,7 +1500,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG
@@ -1321,6 +1517,20 @@
ENUM_VALUE_LIST NULL
READ_ONLY NO
@@ -290,12 +546,21 @@
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
-+ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NONE
VARIABLE_NAME INNODB_LOCKS_UNSAFE_FOR_BINLOG
SESSION_VALUE NULL
GLOBAL_VALUE OFF
+@@ -1332,7 +1542,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_LOCK_WAIT_TIMEOUT
@@ -1349,6 +1559,62 @@
ENUM_VALUE_LIST NULL
READ_ONLY NO
@@ -311,7 +576,7 @@
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
-+ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_LOG_ARCH_DIR
@@ -359,8 +624,12 @@
VARIABLE_NAME INNODB_LOG_BUFFER_SIZE
SESSION_VALUE NULL
GLOBAL_VALUE 1048576
-@@ -1377,6 +1643,20 @@
- ENUM_VALUE_LIST NULL
+@@ -1374,9 +1640,23 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_LOG_CHECKSUM_ALGORITHM
@@ -380,6 +649,15 @@
VARIABLE_NAME INNODB_LOG_COMPRESSED_PAGES
SESSION_VALUE NULL
GLOBAL_VALUE OFF
+@@ -1388,7 +1668,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_LOG_FILES_IN_GROUP
@@ -1447,6 +1727,34 @@
ENUM_VALUE_LIST NULL
READ_ONLY NO
@@ -415,10 +693,32 @@
VARIABLE_NAME INNODB_MAX_DIRTY_PAGES_PCT
SESSION_VALUE NULL
GLOBAL_VALUE 75.000000
-@@ -1713,6 +2021,62 @@
- ENUM_VALUE_LIST NULL
+@@ -1654,7 +1962,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_PAGE_HASH_LOCKS
+@@ -1696,7 +2004,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_PRINT_ALL_DEADLOCKS
+@@ -1710,7 +2018,63 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
++READ_ONLY NO
++COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_PRIORITY_CLEANER
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
@@ -430,7 +730,7 @@
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
-+ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_PRIORITY_IO
@@ -444,7 +744,7 @@
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
-+ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_PRIORITY_MASTER
@@ -458,7 +758,7 @@
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
-+ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_PRIORITY_PURGE
@@ -472,12 +772,55 @@
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
-+ENUM_VALUE_LIST NULL
-+READ_ONLY NO
-+COMMAND_LINE_ARGUMENT OPTIONAL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_PURGE_BATCH_SIZE
- SESSION_VALUE NULL
- GLOBAL_VALUE 300
+@@ -1738,7 +2102,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_PURGE_STOP_NOW
+@@ -1752,7 +2116,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_PURGE_THREADS
+@@ -1780,7 +2144,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_READ_AHEAD_THRESHOLD
+@@ -1822,7 +2186,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_REPLICATION_DELAY
+@@ -1850,7 +2214,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_ROLLBACK_SEGMENTS
@@ -1881,6 +2245,48 @@
ENUM_VALUE_LIST NULL
READ_ONLY NO
@@ -527,6 +870,15 @@
VARIABLE_NAME INNODB_SCRUB_LOG
SESSION_VALUE NULL
GLOBAL_VALUE OFF
+@@ -1892,7 +2298,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_SCRUB_LOG_SPEED
@@ -1909,6 +2315,34 @@
ENUM_VALUE_LIST NULL
READ_ONLY NO
@@ -562,6 +914,15 @@
VARIABLE_NAME INNODB_SIMULATE_COMP_FAILURES
SESSION_VALUE NULL
GLOBAL_VALUE 0
+@@ -1962,7 +2396,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_STATS_METHOD
@@ -1972,7 +2406,7 @@
DEFAULT_VALUE nulls_equal
VARIABLE_SCOPE GLOBAL
@@ -571,6 +932,78 @@
NUMERIC_MIN_VALUE NULL
NUMERIC_MAX_VALUE NULL
NUMERIC_BLOCK_SIZE NULL
+@@ -2004,7 +2438,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_STATS_PERSISTENT
+@@ -2018,7 +2452,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_STATS_PERSISTENT_SAMPLE_PAGES
+@@ -2060,7 +2494,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT REQUIRED
+ VARIABLE_NAME INNODB_STATS_TRANSIENT_SAMPLE_PAGES
+@@ -2088,7 +2522,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_STATUS_OUTPUT_LOCKS
+@@ -2102,7 +2536,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_STRICT_MODE
+@@ -2116,7 +2550,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_SUPPORT_XA
+@@ -2130,7 +2564,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_SYNC_ARRAY_SIZE
+@@ -2172,7 +2606,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME INNODB_THREAD_CONCURRENCY
@@ -2217,6 +2651,34 @@
ENUM_VALUE_LIST NULL
READ_ONLY NO
@@ -586,7 +1019,7 @@
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
-+ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_TRACK_REDO_LOG_NOW
@@ -600,13 +1033,22 @@
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
-+ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG
SESSION_VALUE NULL
GLOBAL_VALUE OFF
-@@ -2294,7 +2756,7 @@
+@@ -2228,7 +2690,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
+ COMMAND_LINE_ARGUMENT NULL
+ VARIABLE_NAME INNODB_TRX_RSEG_N_SLOTS_DEBUG
+@@ -2294,11 +2756,11 @@
DEFAULT_VALUE OFF
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE BOOLEAN
@@ -615,8 +1057,17 @@
NUMERIC_MIN_VALUE NULL
NUMERIC_MAX_VALUE NULL
NUMERIC_BLOCK_SIZE NULL
-@@ -2315,6 +2777,20 @@
- ENUM_VALUE_LIST NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_USE_FALLOCATE
+@@ -2312,9 +2774,23 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
READ_ONLY YES
COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_USE_GLOBAL_FLUSH_LOG_AT_TRX_COMMIT
@@ -630,16 +1081,20 @@
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
-+ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT NONE
VARIABLE_NAME INNODB_USE_MTFLUSH
SESSION_VALUE NULL
GLOBAL_VALUE OFF
-@@ -2329,6 +2805,20 @@
- ENUM_VALUE_LIST NULL
- READ_ONLY YES
- COMMAND_LINE_ARGUMENT NONE
+@@ -2326,7 +2802,21 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
++READ_ONLY YES
++COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_USE_STACKTRACE
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
@@ -651,13 +1106,26 @@
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
-+ENUM_VALUE_LIST NULL
-+READ_ONLY YES
-+COMMAND_LINE_ARGUMENT NONE
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
VARIABLE_NAME INNODB_USE_SYS_MALLOC
- SESSION_VALUE NULL
- GLOBAL_VALUE ON
-@@ -2359,12 +2849,12 @@
+@@ -2340,7 +2830,7 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY YES
+ COMMAND_LINE_ARGUMENT NONE
+ VARIABLE_NAME INNODB_USE_TRIM
+@@ -2354,17 +2844,17 @@
+ NUMERIC_MIN_VALUE NULL
+ NUMERIC_MAX_VALUE NULL
+ NUMERIC_BLOCK_SIZE NULL
+-ENUM_VALUE_LIST NULL
++ENUM_VALUE_LIST OFF,ON
+ READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_VERSION
SESSION_VALUE NULL
diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
index e33decf0f0d..0797110926e 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
@@ -230,7 +230,7 @@ VARIABLE_COMMENT Run fast part of group commit in a single thread, to optimize k
NUMERIC_MIN_VALUE NULL
NUMERIC_MAX_VALUE NULL
NUMERIC_BLOCK_SIZE NULL
-ENUM_VALUE_LIST NULL
+ENUM_VALUE_LIST OFF,ON
READ_ONLY YES
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME BINLOG_ROW_IMAGE
@@ -2470,7 +2470,7 @@ VARIABLE_COMMENT Use memory mapping for reading and writing MyISAM tables
NUMERIC_MIN_VALUE NULL
NUMERIC_MAX_VALUE NULL
NUMERIC_BLOCK_SIZE NULL
-ENUM_VALUE_LIST NULL
+ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT NONE
VARIABLE_NAME MYSQL56_TEMPORAL_FORMAT
diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc
index 850d44f83e3..60248f3fef4 100644
--- a/sql/sql_plugin.cc
+++ b/sql/sql_plugin.cc
@@ -3575,6 +3575,7 @@ void plugin_opt_set_limits(struct my_option *options,
case PLUGIN_VAR_BOOL:
options->var_type= GET_BOOL;
options->def_value= ((sysvar_bool_t*) opt)->def_val;
+ options->typelib= &bool_typelib;
break;
case PLUGIN_VAR_STR:
options->var_type= ((opt->flags & PLUGIN_VAR_MEMALLOC) ?
@@ -3623,6 +3624,7 @@ void plugin_opt_set_limits(struct my_option *options,
case PLUGIN_VAR_BOOL | PLUGIN_VAR_THDLOCAL:
options->var_type= GET_BOOL;
options->def_value= ((thdvar_bool_t*) opt)->def_val;
+ options->typelib= &bool_typelib;
break;
case PLUGIN_VAR_STR | PLUGIN_VAR_THDLOCAL:
options->var_type= ((opt->flags & PLUGIN_VAR_MEMALLOC) ?