summaryrefslogtreecommitdiff
path: root/mysql-test/suite/sys_vars/t
diff options
context:
space:
mode:
authorDaniel Black <daniel.black@au.ibm.com>2016-09-23 09:24:22 +1000
committerDaniel Black <daniel.black@au.ibm.com>2016-09-23 09:24:22 +1000
commitf05dfbebccf415ab5f9f9ee4253478636baf9b34 (patch)
tree5f0d2da20d2044cc3beb3454ecf53ccdeecc723f /mysql-test/suite/sys_vars/t
parent633e995c6299afdd2d20ea7b7a46a5359e6eb552 (diff)
parent6304c0bfc7242ad54d93168e97e82022765934e3 (diff)
downloadmariadb-git-f05dfbebccf415ab5f9f9ee4253478636baf9b34.tar.gz
Merge 10.2
Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
Diffstat (limited to 'mysql-test/suite/sys_vars/t')
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_adaptive_hash_index_parts_basic.test75
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_adaptive_max_sleep_delay_basic.test18
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_api_bk_commit_interval_basic.test27
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_api_disable_rowlock_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_api_enable_binlog_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_api_enable_mdl_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_api_trx_level_basic.test6
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_autoextend_increment_basic.test7
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_autoinc_lock_mode_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_autoinc_lock_mode_func-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_chunk_size_basic.test75
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_at_shutdown_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_pct_basic.test67
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_filename_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_instances_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_now_basic.test9
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_size_basic-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_size_basic.test34
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_change_buffer_max_size_basic.test8
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_change_buffering_basic.test6
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test6
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_checksum_algorithm_basic.test1
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_checksums_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_cmp_per_index_enabled_basic.test3
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_commit_concurrency_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_compression_failure_threshold_pct_basic.test14
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_compression_level_basic.test8
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_compression_pad_pct_max_basic.test14
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_concurrency_tickets_basic.test48
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_data_file_path_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_data_home_dir_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_default_row_format_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_disable_resize_buffer_pool_debug_basic.test72
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_doublewrite_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_doublewrite_batch_size_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_fast_shutdown_basic.test14
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_file_format_basic.test6
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_file_format_check_basic.test6
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_file_format_max_basic.test7
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_file_io_threads_basic.test8
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_file_per_table_basic-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_file_per_table_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_fill_factor_basic.test41
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_flush_log_at_timeout_basic.test13
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_flush_log_at_trx_commit_basic.test22
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_flush_method_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_flush_neighbors_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_flush_sync_basic.test77
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_flushing_avg_loops_basic.test10
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_force_load_corrupted_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_force_recovery_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_force_recovery_crash_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_aux_table_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_cache_size_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_enable_diag_print_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_enable_stopword_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_max_token_size_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_min_token_size_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_num_word_optimize_basic.test6
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_server_stopword_table_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_sort_pll_degree_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_total_cache_size_basic.test13
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test5
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_large_prefix_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test6
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_lock_wait_timeout_basic.test71
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_locks_unsafe_for_binlog_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_buffer_size_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_checkpoint_now_basic.test80
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_checksums_basic.test36
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test9
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_file_size_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_files_in_group_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_group_home_dir_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_write_ahead_size_basic.test93
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_lru_scan_depth_basic.test8
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_basic.test93
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_func.test7
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_lwm_basic.test22
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_max_purge_lag_basic.test52
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_max_purge_lag_delay_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_max_undo_log_size_basic.test (renamed from mysql-test/suite/sys_vars/t/innodb_mirrored_log_groups_basic.test)63
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_merge_threshold_set_all_debug_basic.test30
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test5
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test5
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test5
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test5
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_old_blocks_pct_basic.test22
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_old_blocks_time_basic.test6
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_online_alter_log_max_size_basic.test6
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_open_files_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_optimize_fulltext_only_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_page_cleaners_basic.test53
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_page_hash_locks_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_page_size_basic.test17
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_purge_batch_size_basic.test17
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_purge_rseg_truncate_frequency_basic.test161
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_purge_threads_basic.test89
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_random_read_ahead_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_read_ahead_threshold_basic.test19
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_read_io_threads_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_read_only_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_replication_delay_basic.test52
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_rollback_on_timeout_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_rollback_segments_basic.test6
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_simulate_comp_failures_basic.test1
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_sort_buffer_size_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_spin_wait_delay_basic.test51
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_stats_method_basic.test8
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_stats_on_metadata_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_stats_persistent_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_stats_persistent_sample_pages_basic.test34
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_stats_sample_pages_basic.test28
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_stats_transient_sample_pages_basic.test14
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_status_output_basic.test14
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_status_output_locks_basic.test14
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_strict_mode_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_support_xa_basic.test10
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test8
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_sync_debug_basic.test16
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_sync_spin_loops_basic.test50
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_table_locks_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_table_locks_func.test7
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_temp_data_file_path_basic.test (renamed from mysql-test/suite/sys_vars/t/innodb_additional_mem_pool_size_basic.test)56
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_thread_concurrency_basic.test15
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test6
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_trx_rseg_n_slots_debug_basic.test6
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_undo_directory_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_undo_log_truncate_basic.test113
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_undo_tablespaces_basic.test13
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_use_native_aio_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_use_sys_malloc_basic.test31
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_version_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_write_io_threads_basic.test2
138 files changed, 2269 insertions, 347 deletions
diff --git a/mysql-test/suite/sys_vars/t/innodb_adaptive_hash_index_parts_basic.test b/mysql-test/suite/sys_vars/t/innodb_adaptive_hash_index_parts_basic.test
new file mode 100644
index 00000000000..3f4a9283339
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_adaptive_hash_index_parts_basic.test
@@ -0,0 +1,75 @@
+--source include/have_innodb.inc
+
+####################################################################
+# Displaying default value #
+####################################################################
+SELECT COUNT(@@GLOBAL.innodb_adaptive_hash_index_parts);
+--echo 1 Expected
+
+
+####################################################################
+# Check if Value can set #
+####################################################################
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.innodb_adaptive_hash_index_parts=1;
+--echo Expected error 'Read only variable'
+
+SELECT COUNT(@@GLOBAL.innodb_adaptive_hash_index_parts);
+--echo 1 Expected
+
+
+
+
+#################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#################################################################
+
+--disable_warnings
+SELECT @@GLOBAL.innodb_adaptive_hash_index_parts = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_adaptive_hash_index_parts';
+--echo 1 Expected
+
+SELECT COUNT(@@GLOBAL.innodb_adaptive_hash_index_parts);
+--echo 1 Expected
+
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_adaptive_hash_index_parts';
+--echo 1 Expected
+--enable_warnings
+
+
+
+################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+################################################################################
+SELECT @@innodb_adaptive_hash_index_parts = @@GLOBAL.innodb_adaptive_hash_index_parts;
+--echo 1 Expected
+
+
+
+################################################################################
+# Check if innodb_adaptive_hash_index_parts can be accessed with and without @@ sign #
+################################################################################
+
+SELECT COUNT(@@innodb_adaptive_hash_index_parts);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_adaptive_hash_index_parts);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_adaptive_hash_index_parts);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT COUNT(@@GLOBAL.innodb_adaptive_hash_index_parts);
+--echo 1 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_adaptive_hash_index_parts = @@SESSION.innodb_adaptive_hash_index_parts;
+--echo Expected error 'Readonly variable'
+
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_adaptive_max_sleep_delay_basic.test b/mysql-test/suite/sys_vars/t/innodb_adaptive_max_sleep_delay_basic.test
index a2508b073eb..49349d86713 100644
--- a/mysql-test/suite/sys_vars/t/innodb_adaptive_max_sleep_delay_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_adaptive_max_sleep_delay_basic.test
@@ -32,22 +32,40 @@ SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
# Check if value can be set
SET @@GLOBAL.innodb_adaptive_max_sleep_delay=100;
+# Check for valid values
+SET @@GLOBAL.innodb_adaptive_max_sleep_delay=0;
+SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
+SET @@GLOBAL.innodb_adaptive_max_sleep_delay=100000;
+SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
+SET @@GLOBAL.innodb_adaptive_max_sleep_delay=1000000;
+SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
+
# Check for out of bounds
SET @@GLOBAL.innodb_adaptive_max_sleep_delay=1000001;
SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
--echo 1000000 Expected
+SET @@GLOBAL.innodb_adaptive_max_sleep_delay=4294967295;
+SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
+--echo 1000000 Expected
+
SET @@GLOBAL.innodb_adaptive_max_sleep_delay=-1;
SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
--echo 0 Expected
+SET @@GLOBAL.innodb_adaptive_max_sleep_delay=-1024;
+SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
+--echo 0 Expected
+
SELECT COUNT(@@GLOBAL.innodb_adaptive_max_sleep_delay);
--echo 1 Expected
# Check if the value in GLOBAL table matches value in variable
+--disable_warnings
SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_adaptive_max_sleep_delay';
+--enable_warnings
--echo 100 Expected
# Check if accessing variable with and without GLOBAL point to same
diff --git a/mysql-test/suite/sys_vars/t/innodb_api_bk_commit_interval_basic.test b/mysql-test/suite/sys_vars/t/innodb_api_bk_commit_interval_basic.test
index b3a7aebce4e..7c9ae6395be 100644
--- a/mysql-test/suite/sys_vars/t/innodb_api_bk_commit_interval_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_api_bk_commit_interval_basic.test
@@ -19,22 +19,47 @@ SELECT @@global.innodb_api_bk_commit_interval;
SELECT @@session.innodb_api_bk_commit_interval;
SHOW global variables LIKE 'innodb_api_bk_commit_interval';
SHOW session variables LIKE 'innodb_api_bk_commit_interval';
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_api_bk_commit_interval';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_api_bk_commit_interval';
+--enable_warnings
#
# show that it's writable
#
SET global innodb_api_bk_commit_interval=100;
SELECT @@global.innodb_api_bk_commit_interval;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_api_bk_commit_interval';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_api_bk_commit_interval';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
SET session innodb_api_bk_commit_interval=1;
+#
+# Valid values
+#
+SET global innodb_api_bk_commit_interval=1;
+SELECT @@global.innodb_api_bk_commit_interval;
+SET global innodb_api_bk_commit_interval=100000;
+SELECT @@global.innodb_api_bk_commit_interval;
+SET global innodb_api_bk_commit_interval=1073741824;
+SELECT @@global.innodb_api_bk_commit_interval;
+
+#
+# Invalid values
+#
+SET global innodb_api_bk_commit_interval=0;
+SELECT @@global.innodb_api_bk_commit_interval;
+SET global innodb_api_bk_commit_interval=-1024;
+SELECT @@global.innodb_api_bk_commit_interval;
+SET global innodb_api_bk_commit_interval=1073741825;
+SELECT @@global.innodb_api_bk_commit_interval;
+SET global innodb_api_bk_commit_interval=4294967295;
+SELECT @@global.innodb_api_bk_commit_interval;
#
# incorrect types
@@ -47,8 +72,10 @@ SET global innodb_api_bk_commit_interval=1e1;
SET global innodb_api_bk_commit_interval="foo";
SET global innodb_api_bk_commit_interval=-7;
SELECT @@global.innodb_api_bk_commit_interval;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_api_bk_commit_interval';
+--enable_warnings
#
# cleanup
diff --git a/mysql-test/suite/sys_vars/t/innodb_api_disable_rowlock_basic.test b/mysql-test/suite/sys_vars/t/innodb_api_disable_rowlock_basic.test
index c9c04a27229..42e9903df5e 100644
--- a/mysql-test/suite/sys_vars/t/innodb_api_disable_rowlock_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_api_disable_rowlock_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_api_disable_rowlock);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT IF(@@GLOBAL.innodb_api_disable_rowlock, 'ON', 'OFF') = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_api_disable_rowlock';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_api_disable_rowlock);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_api_disable_rowlock';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_api_enable_binlog_basic.test b/mysql-test/suite/sys_vars/t/innodb_api_enable_binlog_basic.test
index 637541ef621..e88d8ecac5c 100644
--- a/mysql-test/suite/sys_vars/t/innodb_api_enable_binlog_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_api_enable_binlog_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_api_enable_binlog);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT IF(@@GLOBAL.innodb_api_enable_binlog, 'ON', 'OFF') = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_api_enable_binlog';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_api_enable_binlog);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_api_enable_binlog';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_api_enable_mdl_basic.test b/mysql-test/suite/sys_vars/t/innodb_api_enable_mdl_basic.test
index 0e440a72cce..d3086878d6a 100644
--- a/mysql-test/suite/sys_vars/t/innodb_api_enable_mdl_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_api_enable_mdl_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_api_enable_mdl);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT IF(@@GLOBAL.innodb_api_enable_mdl, 'ON', 'OFF') = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_api_enable_mdl';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_api_enable_mdl);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_api_enable_mdl';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_api_trx_level_basic.test b/mysql-test/suite/sys_vars/t/innodb_api_trx_level_basic.test
index 49c34b647fd..c77f8471d7b 100644
--- a/mysql-test/suite/sys_vars/t/innodb_api_trx_level_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_api_trx_level_basic.test
@@ -19,20 +19,24 @@ SELECT @@global.innodb_api_trx_level;
SELECT @@session.innodb_api_trx_level;
SHOW global variables LIKE 'innodb_api_trx_level';
SHOW session variables LIKE 'innodb_api_trx_level';
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_api_trx_level';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_api_trx_level';
+--enable_warnings
#
# show that it's writable
#
SET global innodb_api_trx_level=100;
SELECT @@global.innodb_api_trx_level;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_api_trx_level';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_api_trx_level';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
SET session innodb_api_trx_level=1;
@@ -47,8 +51,10 @@ SET global innodb_api_trx_level=1e1;
SET global innodb_api_trx_level="foo";
SET global innodb_api_trx_level=-7;
SELECT @@global.innodb_api_trx_level;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_api_trx_level';
+--enable_warnings
#
# cleanup
diff --git a/mysql-test/suite/sys_vars/t/innodb_autoextend_increment_basic.test b/mysql-test/suite/sys_vars/t/innodb_autoextend_increment_basic.test
index cbe62a105ff..864dd732ec7 100644
--- a/mysql-test/suite/sys_vars/t/innodb_autoextend_increment_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_autoextend_increment_basic.test
@@ -94,18 +94,25 @@ SET @@global.innodb_autoextend_increment = 1001;
SELECT @@global.innodb_autoextend_increment;
+SET @@global.innodb_autoextend_increment = 2000 ;
+SELECT @@global.innodb_autoextend_increment;
+
--echo '#----------------------FN_DYNVARS_046_05------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_autoextend_increment = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_autoextend_increment ';
+--enable_warnings
SELECT @@global.innodb_autoextend_increment ;
+--disable_warnings
SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_autoextend_increment ';
+--enable_warnings
--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
diff --git a/mysql-test/suite/sys_vars/t/innodb_autoinc_lock_mode_basic.test b/mysql-test/suite/sys_vars/t/innodb_autoinc_lock_mode_basic.test
index e07234a9152..81e63ddf858 100644
--- a/mysql-test/suite/sys_vars/t/innodb_autoinc_lock_mode_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_autoinc_lock_mode_basic.test
@@ -75,13 +75,17 @@ SELECT @@global.innodb_autoinc_lock_mode;
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_autoinc_lock_mode = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_autoinc_lock_mode';
+--enable_warnings
SELECT @@global.innodb_autoinc_lock_mode;
+--disable_warnings
SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_autoinc_lock_mode';
+--enable_warnings
###############################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_autoinc_lock_mode_func-master.opt b/mysql-test/suite/sys_vars/t/innodb_autoinc_lock_mode_func-master.opt
index f0b6727d6d8..ab9fcb75678 100644
--- a/mysql-test/suite/sys_vars/t/innodb_autoinc_lock_mode_func-master.opt
+++ b/mysql-test/suite/sys_vars/t/innodb_autoinc_lock_mode_func-master.opt
@@ -1,2 +1,2 @@
---loose-innodb-autoinc-lock-mode=1
+--innodb-autoinc-lock-mode=1
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_chunk_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_chunk_size_basic.test
new file mode 100644
index 00000000000..561786ee6e5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_chunk_size_basic.test
@@ -0,0 +1,75 @@
+--source include/have_innodb.inc
+
+####################################################################
+# Displaying default value #
+####################################################################
+SELECT COUNT(@@GLOBAL.innodb_buffer_pool_chunk_size);
+--echo 1 Expected
+
+
+####################################################################
+# Check if Value can set #
+####################################################################
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.innodb_buffer_pool_chunk_size=1;
+--echo Expected error 'Read only variable'
+
+SELECT COUNT(@@GLOBAL.innodb_buffer_pool_chunk_size);
+--echo 1 Expected
+
+
+
+
+#################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#################################################################
+
+--disable_warnings
+SELECT @@GLOBAL.innodb_buffer_pool_chunk_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_buffer_pool_chunk_size';
+--echo 1 Expected
+
+SELECT COUNT(@@GLOBAL.innodb_buffer_pool_chunk_size);
+--echo 1 Expected
+
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_buffer_pool_chunk_size';
+--echo 1 Expected
+--enable_warnings
+
+
+
+################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+################################################################################
+SELECT @@innodb_buffer_pool_chunk_size = @@GLOBAL.innodb_buffer_pool_chunk_size;
+--echo 1 Expected
+
+
+
+################################################################################
+# Check if innodb_buffer_pool_chunk_size can be accessed with and without @@ sign #
+################################################################################
+
+SELECT COUNT(@@innodb_buffer_pool_chunk_size);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_buffer_pool_chunk_size);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_buffer_pool_chunk_size);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT COUNT(@@GLOBAL.innodb_buffer_pool_chunk_size);
+--echo 1 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_buffer_pool_chunk_size = @@SESSION.innodb_buffer_pool_chunk_size;
+--echo Expected error 'Readonly variable'
+
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_at_shutdown_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_at_shutdown_basic.test
index b69e856be5a..feb7bf05638 100644
--- a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_at_shutdown_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_at_shutdown_basic.test
@@ -40,3 +40,5 @@ SET GLOBAL innodb_buffer_pool_dump_at_shutdown = 5;
-- source include/restart_mysqld.inc
-- file_exists $file
+
+SET GLOBAL innodb_buffer_pool_dump_at_shutdown = default;
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_pct_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_pct_basic.test
index d2f5cb4a0de..ae45be7f2a3 100644
--- a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_pct_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_pct_basic.test
@@ -1,34 +1,57 @@
-#
-# Basic test for innodb_buffer_pool_dump_pct
-#
+############################################
+# Variable Name: innodb_buffer_pool_dump_pct
+# Scope: GLOBAL
+# Access Type: Dynamic
+# Data Type: Integer
+# Default Value: 100
+# Range: 1-100
+############################################
-- source include/have_innodb.inc
# Check the default value
-SET @orig = @@global.innodb_buffer_pool_dump_pct;
-SELECT @orig;
+SELECT @@global.innodb_buffer_pool_dump_pct;
+
+# Set the valid value
+SET GLOBAL innodb_buffer_pool_dump_pct=20;
+
+# Check the value is 20
+SELECT @@global.innodb_buffer_pool_dump_pct;
-# Do the dump
-SET GLOBAL innodb_buffer_pool_dump_pct=3, GLOBAL innodb_buffer_pool_dump_now = ON;
+# Set the lower Boundary value
+SET GLOBAL innodb_buffer_pool_dump_pct=1;
-# Wait for the dump to complete
-let $wait_condition =
- SELECT SUBSTR(variable_value, 1, 33) = 'Buffer pool(s) dump completed at '
- FROM information_schema.global_status
- WHERE LOWER(variable_name) = 'innodb_buffer_pool_dump_status';
--- source include/wait_condition.inc
+# Check the value is 1
+SELECT @@global.innodb_buffer_pool_dump_pct;
-# Confirm that the dump file has been created
--- let $file = `SELECT CONCAT(@@datadir, @@global.innodb_buffer_pool_filename)`
--- file_exists $file
+# Set the upper boundary value
+SET GLOBAL innodb_buffer_pool_dump_pct=100;
---disable_warnings
-SET GLOBAL innodb_buffer_pool_dump_pct=0;
+# Check the value is 100
SELECT @@global.innodb_buffer_pool_dump_pct;
-SHOW WARNINGS;
+
+# Set the beyond upper boundary value
SET GLOBAL innodb_buffer_pool_dump_pct=101;
+
+# Check the value is 100
SELECT @@global.innodb_buffer_pool_dump_pct;
-SHOW WARNINGS;
---enable_warnings
-SET GLOBAL innodb_buffer_pool_dump_pct=@orig;
+# Set the beyond lower boundary value
+SET GLOBAL innodb_buffer_pool_dump_pct=-1;
+
+# Check the value is 1
+SELECT @@global.innodb_buffer_pool_dump_pct;
+
+# Set the Default value
+SET GLOBAL innodb_buffer_pool_dump_pct=Default;
+
+# Check the default value
+SELECT @@global.innodb_buffer_pool_dump_pct;
+
+# Set with some invalid value
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_buffer_pool_dump_pct='foo';
+
+# Set without using Global
+--error ER_GLOBAL_VARIABLE
+SET innodb_buffer_pool_dump_pct=50;
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_filename_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_filename_basic.test
deleted file mode 100644
index c50d2d66dff..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_filename_basic.test
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Basic test for innodb_buffer_pool_filename
-#
-
--- source include/have_innodb.inc
-
-# Check the default value and save for later restoration
-SET @orig = @@global.innodb_buffer_pool_filename;
-SELECT @orig;
-
-let $old_val=query_get_value(SHOW STATUS LIKE 'innodb_buffer_pool_dump_status', Value, 1);
-sleep 1; # to ensure that the previous and the next dumps are at least a second apart
-
-# Try with a non-default filename
-
-SET GLOBAL innodb_buffer_pool_filename = 'innodb_foobar_dump';
-
-SET GLOBAL innodb_buffer_pool_dump_now = ON;
--- let $file = `SELECT CONCAT(@@datadir, @@global.innodb_buffer_pool_filename)`
-
-# Wait for the dump to complete
-let $wait_condition =
- SELECT variable_value LIKE 'Buffer pool(s) dump completed at %'
- AND variable_value <> '$old_val'
- FROM information_schema.global_status
- WHERE variable_name = 'innodb_buffer_pool_dump_status';
--- source include/wait_condition.inc
-
--- file_exists $file
-
-# Restore the env
-SET GLOBAL innodb_buffer_pool_filename = @orig;
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_instances_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_instances_basic.test
index 0960f1fb38b..8785272e10d 100644
--- a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_instances_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_instances_basic.test
@@ -53,17 +53,21 @@ SELECT COUNT(@@GLOBAL.innodb_buffer_pool_instances);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT @@GLOBAL.innodb_buffer_pool_instances = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_buffer_pool_instances';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_buffer_pool_instances);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_buffer_pool_instances';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_now_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_now_basic.test
index a0409901865..701d6a8a96a 100644
--- a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_now_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_load_now_basic.test
@@ -20,13 +20,11 @@ let $old_status= `SELECT variable_value FROM information_schema.global_status
# let $wait_condition =
# SELECT TRIM(SUBSTR('$old_status', -8)) != DATE_FORMAT(CURTIME(), '%k:%i:%s');
# -- source include/wait_condition.inc
-
if (`SELECT variable_value LIKE '%dump completed at%' FROM information_schema.global_status
WHERE LOWER(variable_name) = 'innodb_buffer_pool_dump_status'`)
{
-- sleep 2
}
-
# Do the dump
SET GLOBAL innodb_buffer_pool_dump_now = ON;
@@ -36,7 +34,9 @@ let $wait_condition =
AND SUBSTR(variable_value, 1, 33) = 'Buffer pool(s) dump completed at '
FROM information_schema.global_status
WHERE LOWER(variable_name) = 'innodb_buffer_pool_dump_status';
+--disable_warnings
-- source include/wait_condition.inc
+--enable_warnings
# Confirm the file is really created
-- let $file = `SELECT CONCAT(@@datadir, @@global.innodb_buffer_pool_filename)`
@@ -50,10 +50,15 @@ let $wait_condition =
SELECT SUBSTR(variable_value, 1, 33) = 'Buffer pool(s) load completed at '
FROM information_schema.global_status
WHERE LOWER(variable_name) = 'innodb_buffer_pool_load_status';
+--disable_warnings
-- source include/wait_condition.inc
+--enable_warnings
# Show the status, interesting if the above timed out
+--disable_warnings
-- replace_regex /[0-9]{6}[[:space:]]+[0-9]{1,2}:[0-9]{2}:[0-9]{2}/TIMESTAMP_NOW/
SELECT variable_value
FROM information_schema.global_status
WHERE LOWER(variable_name) = 'innodb_buffer_pool_load_status';
+--enable_warnings
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_size_basic-master.opt b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_size_basic-master.opt
new file mode 100644
index 00000000000..aa536bf0070
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_size_basic-master.opt
@@ -0,0 +1 @@
+--innodb-buffer-pool-chunk-size=2M
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_size_basic.test
index 190b2d19bc4..c5b4c118da2 100644
--- a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_size_basic.test
@@ -24,6 +24,21 @@
--source include/have_innodb.inc
+--disable_query_log
+if (`select (version() like '%debug%') > 0`)
+{
+ set @old_innodb_disable_resize = @@innodb_disable_resize_buffer_pool_debug;
+ set global innodb_disable_resize_buffer_pool_debug = OFF;
+}
+--enable_query_log
+
+let $wait_condition =
+ SELECT SUBSTR(variable_value, 1, 34) = 'Completed resizing buffer pool at '
+ FROM information_schema.global_status
+ WHERE LOWER(variable_name) = 'innodb_buffer_pool_resize_status';
+
+SET @start_buffer_pool_size = @@GLOBAL.innodb_buffer_pool_size;
+
--echo '#---------------------BS_STVARS_022_01----------------------#'
####################################################################
# Displaying default value #
@@ -37,9 +52,9 @@ SELECT COUNT(@@GLOBAL.innodb_buffer_pool_size);
# Check if Value can set #
####################################################################
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SET @@GLOBAL.innodb_buffer_pool_size=1;
---echo Expected error 'Read only variable'
+SET @@GLOBAL.innodb_buffer_pool_size=10485760;
+--echo Expected succeeded
+--source include/wait_condition.inc
SELECT COUNT(@@GLOBAL.innodb_buffer_pool_size);
--echo 1 Expected
@@ -52,17 +67,21 @@ SELECT COUNT(@@GLOBAL.innodb_buffer_pool_size);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT @@GLOBAL.innodb_buffer_pool_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_buffer_pool_size';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_buffer_pool_size);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_buffer_pool_size';
+--enable_warnings
--echo 1 Expected
@@ -100,3 +119,12 @@ SELECT innodb_buffer_pool_size = @@SESSION.innodb_buffer_pool_size;
--echo Expected error 'Readonly variable'
+SET @@GLOBAL.innodb_buffer_pool_size = @start_buffer_pool_size;
+--source include/wait_condition.inc
+
+--disable_query_log
+if (`select (version() like '%debug%') > 0`)
+{
+ set global innodb_disable_resize_buffer_pool_debug = @old_innodb_disable_resize;
+}
+--enable_query_log
diff --git a/mysql-test/suite/sys_vars/t/innodb_change_buffer_max_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_change_buffer_max_size_basic.test
index 5e081b1a0a4..2094ef3dc0b 100644
--- a/mysql-test/suite/sys_vars/t/innodb_change_buffer_max_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_change_buffer_max_size_basic.test
@@ -18,16 +18,20 @@ select @@global.innodb_change_buffer_max_size;
select @@session.innodb_change_buffer_max_size;
show global variables like 'innodb_change_buffer_max_size';
show session variables like 'innodb_change_buffer_max_size';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_change_buffer_max_size';
select * from information_schema.session_variables where variable_name='innodb_change_buffer_max_size';
+--enable_warnings
#
# show that it's writable
#
set global innodb_change_buffer_max_size=10;
select @@global.innodb_change_buffer_max_size;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_change_buffer_max_size';
select * from information_schema.session_variables where variable_name='innodb_change_buffer_max_size';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_change_buffer_max_size=1;
@@ -43,10 +47,14 @@ set global innodb_change_buffer_max_size="foo";
set global innodb_change_buffer_max_size=-7;
select @@global.innodb_change_buffer_max_size;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_change_buffer_max_size';
+--enable_warnings
set global innodb_change_buffer_max_size=56;
select @@global.innodb_change_buffer_max_size;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_change_buffer_max_size';
+--enable_warnings
#
# min/max/DEFAULT values
diff --git a/mysql-test/suite/sys_vars/t/innodb_change_buffering_basic.test b/mysql-test/suite/sys_vars/t/innodb_change_buffering_basic.test
index abdfddb4c4b..aba3b1e3479 100644
--- a/mysql-test/suite/sys_vars/t/innodb_change_buffering_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_change_buffering_basic.test
@@ -18,20 +18,26 @@ select @@global.innodb_change_buffering;
select @@session.innodb_change_buffering;
show global variables like 'innodb_change_buffering';
show session variables like 'innodb_change_buffering';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_change_buffering';
select * from information_schema.session_variables where variable_name='innodb_change_buffering';
+--enable_warnings
#
# show that it's writable
#
set global innodb_change_buffering='none';
select @@global.innodb_change_buffering;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_change_buffering';
select * from information_schema.session_variables where variable_name='innodb_change_buffering';
+--enable_warnings
set @@global.innodb_change_buffering='inserts';
select @@global.innodb_change_buffering;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_change_buffering';
select * from information_schema.session_variables where variable_name='innodb_change_buffering';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_change_buffering='some';
--error ER_GLOBAL_VARIABLE
diff --git a/mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test
index 893d1cb42e3..a6fc09f767e 100644
--- a/mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test
@@ -13,20 +13,26 @@ select @@global.innodb_change_buffering_debug;
select @@session.innodb_change_buffering_debug;
show global variables like 'innodb_change_buffering_debug';
show session variables like 'innodb_change_buffering_debug';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_change_buffering_debug';
select * from information_schema.session_variables where variable_name='innodb_change_buffering_debug';
+--enable_warnings
#
# show that it's writable
#
set global innodb_change_buffering_debug=1;
select @@global.innodb_change_buffering_debug;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_change_buffering_debug';
select * from information_schema.session_variables where variable_name='innodb_change_buffering_debug';
+--enable_warnings
set @@global.innodb_change_buffering_debug=0;
select @@global.innodb_change_buffering_debug;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_change_buffering_debug';
select * from information_schema.session_variables where variable_name='innodb_change_buffering_debug';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_change_buffering_debug='some';
--error ER_GLOBAL_VARIABLE
diff --git a/mysql-test/suite/sys_vars/t/innodb_checksum_algorithm_basic.test b/mysql-test/suite/sys_vars/t/innodb_checksum_algorithm_basic.test
index e7098b7e3b3..bb0f3417f87 100644
--- a/mysql-test/suite/sys_vars/t/innodb_checksum_algorithm_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_checksum_algorithm_basic.test
@@ -1,5 +1,4 @@
--source include/have_innodb.inc
---source include/not_encrypted.inc
# Check the default value
SET @orig = @@global.innodb_checksum_algorithm;
diff --git a/mysql-test/suite/sys_vars/t/innodb_checksums_basic.test b/mysql-test/suite/sys_vars/t/innodb_checksums_basic.test
index c4c39d7d380..5db0a18e8fd 100644
--- a/mysql-test/suite/sys_vars/t/innodb_checksums_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_checksums_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_checksums);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT IF(@@GLOBAL.innodb_checksums, "ON", "OFF") = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_checksums';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_checksums);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_checksums';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_cmp_per_index_enabled_basic.test b/mysql-test/suite/sys_vars/t/innodb_cmp_per_index_enabled_basic.test
index d729acea02c..432c04857ec 100644
--- a/mysql-test/suite/sys_vars/t/innodb_cmp_per_index_enabled_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_cmp_per_index_enabled_basic.test
@@ -26,8 +26,6 @@ SELECT @@global.innodb_cmp_per_index_enabled;
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
SELECT @@global.innodb_cmp_per_index_enabled;
-SET GLOBAL innodb_file_format=Barracuda;
-
-- vertical_results
# Check that enabling after being disabled resets the stats
@@ -65,5 +63,4 @@ DROP TABLE t;
#
-SET GLOBAL innodb_file_format=default;
SET GLOBAL innodb_cmp_per_index_enabled=default;
diff --git a/mysql-test/suite/sys_vars/t/innodb_commit_concurrency_basic.test b/mysql-test/suite/sys_vars/t/innodb_commit_concurrency_basic.test
index 42d172934d1..4ed706b372b 100644
--- a/mysql-test/suite/sys_vars/t/innodb_commit_concurrency_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_commit_concurrency_basic.test
@@ -85,26 +85,38 @@ SELECT @@global.innodb_commit_concurrency;
#
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.innodb_commit_concurrency = 1;
+SELECT @@global.innodb_commit_concurrency;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.innodb_commit_concurrency = -1;
+SELECT @@global.innodb_commit_concurrency;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_commit_concurrency = "T";
+SELECT @@global.innodb_commit_concurrency;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_commit_concurrency = "Y";
+SELECT @@global.innodb_commit_concurrency;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_commit_concurrency = 1.1;
+SELECT @@global.innodb_commit_concurrency;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.innodb_commit_concurrency = 1001;
+SELECT @@global.innodb_commit_concurrency;
+
+
--echo '#----------------------FN_DYNVARS_046_05------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_commit_concurrency =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_commit_concurrency';
SELECT @@global.innodb_commit_concurrency;
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_commit_concurrency';
+--enable_warnings
--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
###################################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_compression_failure_threshold_pct_basic.test b/mysql-test/suite/sys_vars/t/innodb_compression_failure_threshold_pct_basic.test
index 1cdfaa6b31d..315fe2df3c7 100644
--- a/mysql-test/suite/sys_vars/t/innodb_compression_failure_threshold_pct_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_compression_failure_threshold_pct_basic.test
@@ -87,6 +87,9 @@ SELECT @@global.innodb_compression_failure_threshold_pct;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_compression_failure_threshold_pct = "T";
SELECT @@global.innodb_compression_failure_threshold_pct;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_compression_failure_threshold_pct = 1.1;
+SELECT @@global.innodb_compression_failure_threshold_pct;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_compression_failure_threshold_pct = "Y";
@@ -94,19 +97,28 @@ SELECT @@global.innodb_compression_failure_threshold_pct;
SET @@global.innodb_compression_failure_threshold_pct = 101;
SELECT @@global.innodb_compression_failure_threshold_pct;
-
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_compression_failure_threshold_pct = " ";
+SELECT @@global.innodb_compression_failure_threshold_pct;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_compression_failure_threshold_pct = ' ';
+SELECT @@global.innodb_compression_failure_threshold_pct;
--echo '#----------------------FN_DYNVARS_046_05------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_compression_failure_threshold_pct =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_compression_failure_threshold_pct';
+--enable_warnings
SELECT @@global.innodb_compression_failure_threshold_pct;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_compression_failure_threshold_pct';
+--enable_warnings
--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
###################################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_compression_level_basic.test b/mysql-test/suite/sys_vars/t/innodb_compression_level_basic.test
index a90abdde2f1..d19d2971fc9 100644
--- a/mysql-test/suite/sys_vars/t/innodb_compression_level_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_compression_level_basic.test
@@ -18,16 +18,20 @@ select @@global.innodb_compression_level;
select @@session.innodb_compression_level;
show global variables like 'innodb_compression_level';
show session variables like 'innodb_compression_level';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_compression_level';
select * from information_schema.session_variables where variable_name='innodb_compression_level';
+--enable_warnings
#
# show that it's writable
#
set global innodb_compression_level=2;
select @@global.innodb_compression_level;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_compression_level';
select * from information_schema.session_variables where variable_name='innodb_compression_level';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_compression_level=4;
@@ -43,10 +47,14 @@ set global innodb_compression_level="foo";
set global innodb_compression_level=10;
select @@global.innodb_compression_level;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_compression_level';
+--enable_warnings
set global innodb_compression_level=-7;
select @@global.innodb_compression_level;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_compression_level';
+--enable_warnings
#
# min/max values
diff --git a/mysql-test/suite/sys_vars/t/innodb_compression_pad_pct_max_basic.test b/mysql-test/suite/sys_vars/t/innodb_compression_pad_pct_max_basic.test
index 3ca566956ef..1491f705ab2 100644
--- a/mysql-test/suite/sys_vars/t/innodb_compression_pad_pct_max_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_compression_pad_pct_max_basic.test
@@ -84,22 +84,34 @@ SELECT @@global.innodb_compression_pad_pct_max;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_compression_pad_pct_max = "T";
SELECT @@global.innodb_compression_pad_pct_max;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_compression_pad_pct_max = 1.1;
+SELECT @@global.innodb_compression_pad_pct_max;
SET @@global.innodb_compression_pad_pct_max = 76;
SELECT @@global.innodb_compression_pad_pct_max;
-
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_compression_pad_pct_max = " ";
+SELECT @@global.innodb_compression_pad_pct_max;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_compression_pad_pct_max = ' ';
+SELECT @@global.innodb_compression_pad_pct_max;
--echo '#----------------------FN_DYNVARS_046_05------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_compression_pad_pct_max =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_compression_pad_pct_max';
+--enable_warnings
SELECT @@global.innodb_compression_pad_pct_max;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_compression_pad_pct_max';
+--enable_warnings
--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
###################################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_concurrency_tickets_basic.test b/mysql-test/suite/sys_vars/t/innodb_concurrency_tickets_basic.test
index f73e25179ba..d753b8bc344 100644
--- a/mysql-test/suite/sys_vars/t/innodb_concurrency_tickets_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_concurrency_tickets_basic.test
@@ -59,7 +59,6 @@ SELECT @@innodb_concurrency_tickets;
--Error ER_UNKNOWN_TABLE
SELECT local.innodb_concurrency_tickets;
-
SET global innodb_concurrency_tickets = 0;
SELECT @@global.innodb_concurrency_tickets;
@@ -69,7 +68,6 @@ SELECT @@global.innodb_concurrency_tickets;
# change the value of innodb_concurrency_tickets to a valid value #
##########################################################################
-
SET @@global.innodb_concurrency_tickets = 1;
SELECT @@global.innodb_concurrency_tickets;
@@ -79,15 +77,38 @@ SELECT @@global.innodb_concurrency_tickets;
SET @@global.innodb_concurrency_tickets = 4294967295;
SELECT @@global.innodb_concurrency_tickets;
-
--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
###########################################################################
+# Check the value of innodb_concurrency_tickets for out of bounds #
+###########################################################################
+
+# With a 64 bit mysqld:18446744073709551615,with a 32 bit mysqld: 4294967295
+--disable_warnings
+SET @@global.innodb_concurrency_tickets = 4294967296;
+--enable_warnings
+SELECT @@global.innodb_concurrency_tickets IN (4294967296,4294967295);
+
+--disable_warnings
+SET @@global.innodb_concurrency_tickets = 12345678901;
+--enable_warnings
+SELECT @@global.innodb_concurrency_tickets IN (12345678901,4294967295);
+
+--disable_warnings
+SET @@global.innodb_concurrency_tickets = 18446744073709551615;
+--enable_warnings
+SELECT @@global.innodb_concurrency_tickets IN (18446744073709551615,4294967295);
+
+--echo '#--------------------FN_DYNVARS_046_05-------------------------#'
+###########################################################################
# Change the value of innodb_concurrency_tickets to invalid value #
###########################################################################
SET @@global.innodb_concurrency_tickets = -1;
SELECT @@global.innodb_concurrency_tickets;
+SET @@global.innodb_concurrency_tickets = -1024;
+SELECT @@global.innodb_concurrency_tickets;
+
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_concurrency_tickets = "T";
SELECT @@global.innodb_concurrency_tickets;
@@ -96,22 +117,35 @@ SELECT @@global.innodb_concurrency_tickets;
SET @@global.innodb_concurrency_tickets = "Y";
SELECT @@global.innodb_concurrency_tickets;
-SET @@global.innodb_concurrency_tickets = 1001;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_concurrency_tickets = 1.1;
+SELECT @@global.innodb_concurrency_tickets;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_concurrency_tickets = " ";
+SELECT @@global.innodb_concurrency_tickets;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_concurrency_tickets = ' ';
SELECT @@global.innodb_concurrency_tickets;
---echo '#----------------------FN_DYNVARS_046_05------------------------#'
+--echo '#----------------------FN_DYNVARS_046_06------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_concurrency_tickets =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_concurrency_tickets';
+--enable_warnings
SELECT @@global.innodb_concurrency_tickets;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_concurrency_tickets';
+--enable_warnings
---echo '#---------------------FN_DYNVARS_046_06-------------------------#'
+--echo '#---------------------FN_DYNVARS_046_07-------------------------#'
###################################################################
# Check if ON and OFF values can be used on variable #
###################################################################
@@ -124,7 +158,7 @@ SELECT @@global.innodb_concurrency_tickets;
SET @@global.innodb_concurrency_tickets = ON;
SELECT @@global.innodb_concurrency_tickets;
---echo '#---------------------FN_DYNVARS_046_07----------------------#'
+--echo '#---------------------FN_DYNVARS_046_08----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_data_file_path_basic.test b/mysql-test/suite/sys_vars/t/innodb_data_file_path_basic.test
index 1d88c47b1bb..c936744297f 100644
--- a/mysql-test/suite/sys_vars/t/innodb_data_file_path_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_data_file_path_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_data_file_path);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT @@GLOBAL.innodb_data_file_path = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_data_file_path';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_data_file_path);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_data_file_path';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_data_home_dir_basic.test b/mysql-test/suite/sys_vars/t/innodb_data_home_dir_basic.test
index acf3741d5fa..b6b7999900a 100644
--- a/mysql-test/suite/sys_vars/t/innodb_data_home_dir_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_data_home_dir_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_data_home_dir);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT @@GLOBAL.innodb_data_home_dir = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_data_home_dir';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_data_home_dir);
--echo 0 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_data_home_dir';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_default_row_format_basic.test b/mysql-test/suite/sys_vars/t/innodb_default_row_format_basic.test
new file mode 100644
index 00000000000..f9aabf49ba4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_default_row_format_basic.test
@@ -0,0 +1,41 @@
+--source include/have_innodb.inc
+
+# Check the default value
+SELECT @@global.innodb_default_row_format;
+
+SET GLOBAL innodb_default_row_format = 'redundant';
+SELECT @@global.innodb_default_row_format;
+
+SET GLOBAL innodb_default_row_format = 'dynamic';
+SELECT @@global.innodb_default_row_format;
+
+SET GLOBAL innodb_default_row_format = 'compact';
+SELECT @@global.innodb_default_row_format;
+
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_default_row_format = 'compressed';
+SELECT @@global.innodb_default_row_format;
+
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_default_row_format = 'foobar';
+SELECT @@global.innodb_default_row_format;
+
+SET GLOBAL innodb_default_row_format = 0;
+SELECT @@global.innodb_default_row_format;
+
+SET GLOBAL innodb_default_row_format = 1;
+SELECT @@global.innodb_default_row_format;
+
+SET GLOBAL innodb_default_row_format = 2;
+SELECT @@global.innodb_default_row_format;
+
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_default_row_format = 3;
+SELECT @@global.innodb_default_row_format;
+
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_default_row_format = 123;
+SELECT @@global.innodb_default_row_format;
+
+
+SET GLOBAL innodb_default_row_format = default;
diff --git a/mysql-test/suite/sys_vars/t/innodb_disable_resize_buffer_pool_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_disable_resize_buffer_pool_debug_basic.test
new file mode 100644
index 00000000000..e381e746c06
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_disable_resize_buffer_pool_debug_basic.test
@@ -0,0 +1,72 @@
+--echo #
+--echo # Basic test for innodb_disable_resize_buffer_pool_debug
+--echo #
+
+--source include/have_innodb.inc
+
+# The config variable is a debug variable
+-- source include/have_debug.inc
+
+SET @start_global_value = @@global.innodb_disable_resize_buffer_pool_debug;
+
+# Check if Value can set
+
+SET @@global.innodb_disable_resize_buffer_pool_debug = 0;
+SELECT @@global.innodb_disable_resize_buffer_pool_debug;
+
+SET @@global.innodb_disable_resize_buffer_pool_debug ='On' ;
+SELECT @@global.innodb_disable_resize_buffer_pool_debug;
+
+SET @@global.innodb_disable_resize_buffer_pool_debug ='Off' ;
+SELECT @@global.innodb_disable_resize_buffer_pool_debug;
+
+SET @@global.innodb_disable_resize_buffer_pool_debug = 1;
+SELECT @@global.innodb_disable_resize_buffer_pool_debug;
+
+# Check if the value in GLOBAL Table matches value in variable
+
+--disable_warnings
+SELECT IF(@@GLOBAL.innodb_disable_resize_buffer_pool_debug,'ON','OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_disable_resize_buffer_pool_debug';
+--enable_warnings
+--echo 1 Expected
+
+SELECT COUNT(@@GLOBAL.innodb_disable_resize_buffer_pool_debug);
+--echo 1 Expected
+
+--disable_warnings
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_disable_resize_buffer_pool_debug';
+--enable_warnings
+--echo 1 Expected
+
+# Check if accessing variable with and without GLOBAL point to same variable
+
+SELECT @@innodb_disable_resize_buffer_pool_debug = @@GLOBAL.innodb_disable_resize_buffer_pool_debug;
+--echo 1 Expected
+
+# Check if innodb_disable_resize_buffer_pool_debug can be accessed with and without @@ sign
+
+SELECT COUNT(@@innodb_disable_resize_buffer_pool_debug);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_disable_resize_buffer_pool_debug);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_disable_resize_buffer_pool_debug);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT COUNT(@@GLOBAL.innodb_disable_resize_buffer_pool_debug);
+--echo 1 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_disable_resize_buffer_pool_debug = @@SESSION.innodb_disable_resize_buffer_pool_debug;
+
+# Cleanup
+
+SET @@global.innodb_disable_resize_buffer_pool_debug = @start_global_value;
+SELECT @@global.innodb_disable_resize_buffer_pool_debug;
diff --git a/mysql-test/suite/sys_vars/t/innodb_doublewrite_basic.test b/mysql-test/suite/sys_vars/t/innodb_doublewrite_basic.test
index 72dd22cbeb8..1ae10d0f7cf 100644
--- a/mysql-test/suite/sys_vars/t/innodb_doublewrite_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_doublewrite_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_doublewrite);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT IF(@@GLOBAL.innodb_doublewrite, "ON", "OFF") = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_doublewrite';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_doublewrite);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_doublewrite';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_doublewrite_batch_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_doublewrite_batch_size_basic.test
index ccdab532737..5e9104b5335 100644
--- a/mysql-test/suite/sys_vars/t/innodb_doublewrite_batch_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_doublewrite_batch_size_basic.test
@@ -10,8 +10,10 @@ select @@global.innodb_doublewrite_batch_size;
select @@session.innodb_doublewrite_batch_size;
show global variables like 'innodb_doublewrite_batch_size';
show session variables like 'innodb_doublewrite_batch_size';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_doublewrite_batch_size';
select * from information_schema.session_variables where variable_name='innodb_doublewrite_batch_size';
+--enable_warnings
#
# show that it's read-only
diff --git a/mysql-test/suite/sys_vars/t/innodb_fast_shutdown_basic.test b/mysql-test/suite/sys_vars/t/innodb_fast_shutdown_basic.test
index e1b62046313..9fe9f490aa4 100644
--- a/mysql-test/suite/sys_vars/t/innodb_fast_shutdown_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_fast_shutdown_basic.test
@@ -116,7 +116,15 @@ SELECT @@global.innodb_fast_shutdown;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_fast_shutdown = "0";
SELECT @@global.innodb_fast_shutdown;
-
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_fast_shutdown = 1.1;
+SELECT @@global.innodb_fast_shutdown;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_fast_shutdown = ' ';
+SELECT @@global.innodb_fast_shutdown;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_fast_shutdown = " ";
+SELECT @@global.innodb_fast_shutdown;
--echo '#-------------------FN_DYNVARS_042_05----------------------------#'
###########################################################################
@@ -137,9 +145,11 @@ SET @@local.innodb_fast_shutdown = 0;
# Check if the value in SESSION Table contains variable value #
#########################################################################
+--disable_warnings
SELECT count(VARIABLE_VALUE) AS res_is_0
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='innodb_fast_shutdown';
+--enable_warnings
--echo '#----------------------FN_DYNVARS_042_07------------------------#'
@@ -147,9 +157,11 @@ WHERE VARIABLE_NAME='innodb_fast_shutdown';
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_fast_shutdown =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_fast_shutdown';
+--enable_warnings
--echo '#---------------------FN_DYNVARS_042_08-------------------------#'
diff --git a/mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold.test b/mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold.test
index 3b97a85db01..e9dd0c71936 100644
--- a/mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold.test
+++ b/mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold.test
@@ -82,7 +82,7 @@ let $counter= 80;
let $mysql_errno= 0;
while (!$mysql_errno)
{
- --error 0,1040,1053,2002,2003,2006,2013
+ --error 0,ER_SERVER_SHUTDOWN,ER_CONNECTION_KILLED,2002,2006,2013
show status;
dec $counter;
diff --git a/mysql-test/suite/sys_vars/t/innodb_file_format_basic.test b/mysql-test/suite/sys_vars/t/innodb_file_format_basic.test
index bfc092f2f05..739260c07e5 100644
--- a/mysql-test/suite/sys_vars/t/innodb_file_format_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_file_format_basic.test
@@ -18,20 +18,26 @@ select @@global.innodb_file_format;
select @@session.innodb_file_format;
show global variables like 'innodb_file_format';
show session variables like 'innodb_file_format';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_file_format';
select * from information_schema.session_variables where variable_name='innodb_file_format';
+--enable_warnings
#
# show that it's writable
#
set global innodb_file_format='Antelope';
select @@global.innodb_file_format;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_file_format';
select * from information_schema.session_variables where variable_name='innodb_file_format';
+--enable_warnings
set @@global.innodb_file_format='Barracuda';
select @@global.innodb_file_format;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_file_format';
select * from information_schema.session_variables where variable_name='innodb_file_format';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_file_format='Salmon';
--error ER_GLOBAL_VARIABLE
diff --git a/mysql-test/suite/sys_vars/t/innodb_file_format_check_basic.test b/mysql-test/suite/sys_vars/t/innodb_file_format_check_basic.test
index f9f61b9380c..56afba48e29 100644
--- a/mysql-test/suite/sys_vars/t/innodb_file_format_check_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_file_format_check_basic.test
@@ -19,10 +19,12 @@ SELECT @@global.innodb_file_format_check;
SELECT @@session.innodb_file_format_check;
SHOW global variables LIKE 'innodb_file_format_check';
SHOW session variables LIKE 'innodb_file_format_check';
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_file_format_check';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_file_format_check';
+--enable_warnings
#
# show that it's read only
@@ -53,17 +55,21 @@ SET @@session.innodb_stats_on_metadata='ON';
# Check if the value in GLOBAL Table matches value in variable
#
+--disable_warnings
SELECT IF(@@GLOBAL.innodb_file_format_check, "ON", "OFF") = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_file_format_check';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_file_format_check);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_file_format_check';
+--enable_warnings
--echo 1 Expected
#
diff --git a/mysql-test/suite/sys_vars/t/innodb_file_format_max_basic.test b/mysql-test/suite/sys_vars/t/innodb_file_format_max_basic.test
index 18076cfef7f..494f3817cb8 100644
--- a/mysql-test/suite/sys_vars/t/innodb_file_format_max_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_file_format_max_basic.test
@@ -3,7 +3,6 @@
#
--source include/not_embedded.inc
--source include/have_innodb.inc
---source suite/innodb/include/restart_and_reinit.inc
SET @start_global_value = @@global.innodb_file_format_max;
SELECT @start_global_value;
@@ -18,26 +17,32 @@ SELECT @@global.innodb_file_format_max;
SELECT @@session.innodb_file_format_max;
SHOW global variables LIKE 'innodb_file_format_max';
SHOW session variables LIKE 'innodb_file_format_max';
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_file_format_max';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_file_format_max';
+--enable_warnings
#
# show that it's writable
#
SET global innodb_file_format_max='Antelope';
SELECT @@global.innodb_file_format_max;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_file_format_max';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_file_format_max';
+--enable_warnings
SET @@global.innodb_file_format_max='Barracuda';
SELECT @@global.innodb_file_format_max;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_file_format_max';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_file_format_max';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
SET session innodb_file_format_max='Salmon';
--error ER_GLOBAL_VARIABLE
diff --git a/mysql-test/suite/sys_vars/t/innodb_file_io_threads_basic.test b/mysql-test/suite/sys_vars/t/innodb_file_io_threads_basic.test
index 32cdd0beac4..c701c2ee171 100644
--- a/mysql-test/suite/sys_vars/t/innodb_file_io_threads_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_file_io_threads_basic.test
@@ -61,30 +61,38 @@ SELECT COUNT(@@GLOBAL.innodb_write_io_threads);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT @@GLOBAL.innodb_read_io_threads = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_read_io_threads';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_read_io_threads);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_read_io_threads';
+--enable_warnings
--echo 1 Expected
+--disable_warnings
SELECT @@GLOBAL.innodb_write_io_threads = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_write_io_threads';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_write_io_threads);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_write_io_threads';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_file_per_table_basic-master.opt b/mysql-test/suite/sys_vars/t/innodb_file_per_table_basic-master.opt
new file mode 100644
index 00000000000..9d2c4f807e0
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_file_per_table_basic-master.opt
@@ -0,0 +1 @@
+--innodb_file_per_table=On
diff --git a/mysql-test/suite/sys_vars/t/innodb_file_per_table_basic.test b/mysql-test/suite/sys_vars/t/innodb_file_per_table_basic.test
index 1478d6df2e9..2fd9783e16d 100644
--- a/mysql-test/suite/sys_vars/t/innodb_file_per_table_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_file_per_table_basic.test
@@ -58,17 +58,21 @@ SELECT @@global.innodb_file_per_table;
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT IF(@@GLOBAL.innodb_file_per_table,'ON','OFF') = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_file_per_table';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_file_per_table);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_file_per_table';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_fill_factor_basic.test b/mysql-test/suite/sys_vars/t/innodb_fill_factor_basic.test
new file mode 100644
index 00000000000..8e4caae0088
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_fill_factor_basic.test
@@ -0,0 +1,41 @@
+
+#
+# 2014-03-26 - Added
+#
+
+--source include/have_innodb.inc
+
+#
+# show the global and session values;
+#
+select @@global.innodb_fill_factor;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_fill_factor;
+show global variables like 'innodb_fill_factor';
+show session variables like 'innodb_fill_factor';
+--disable_warnings
+select * from information_schema.global_variables where variable_name='innodb_fill_factor';
+select * from information_schema.session_variables where variable_name='innodb_fill_factor';
+--enable_warnings
+
+#
+# test default, min, max value
+#
+let $innodb_fill_factor_orig=`select @@innodb_fill_factor`;
+
+set global innodb_fill_factor=9;
+select @@innodb_fill_factor;
+
+set global innodb_fill_factor=10;
+select @@innodb_fill_factor;
+
+set global innodb_fill_factor=75;
+select @@innodb_fill_factor;
+
+set global innodb_fill_factor=100;
+select @@innodb_fill_factor;
+
+set global innodb_fill_factor=101;
+select @@innodb_fill_factor;
+
+eval set global innodb_fill_factor=$innodb_fill_factor_orig;
diff --git a/mysql-test/suite/sys_vars/t/innodb_flush_log_at_timeout_basic.test b/mysql-test/suite/sys_vars/t/innodb_flush_log_at_timeout_basic.test
index 0ab079adaa8..09a790fc3b6 100644
--- a/mysql-test/suite/sys_vars/t/innodb_flush_log_at_timeout_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_flush_log_at_timeout_basic.test
@@ -101,18 +101,31 @@ SELECT @@global.innodb_flush_log_at_timeout;
SET @@global.innodb_flush_log_at_timeout = 2701;
SELECT @@global.innodb_flush_log_at_timeout;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flush_log_at_timeout = ' ';
+SELECT @@global.innodb_flush_log_at_timeout;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flush_log_at_timeout = " ";
+SELECT @@global.innodb_flush_log_at_timeout;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flush_log_at_timeout = 1.1;
+SELECT @@global.innodb_flush_log_at_timeout;
--echo '#----------------------FN_DYNVARS_046_05------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_flush_log_at_timeout =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_flush_log_at_timeout';
+--enable_warnings
SELECT @@global.innodb_flush_log_at_timeout;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_flush_log_at_timeout';
+--enable_warnings
--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
###################################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_flush_log_at_trx_commit_basic.test b/mysql-test/suite/sys_vars/t/innodb_flush_log_at_trx_commit_basic.test
index 56cfc2ffebe..34510cdb462 100644
--- a/mysql-test/suite/sys_vars/t/innodb_flush_log_at_trx_commit_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_flush_log_at_trx_commit_basic.test
@@ -56,6 +56,11 @@ SELECT @@global.innodb_flush_log_at_trx_commit;
# Check if variable can be accessed with and without @@ sign #
###############################################################################
+--Error ER_GLOBAL_VARIABLE
+SET innodb_flush_log_at_trx_commit = 1;
+SELECT @@innodb_flush_log_at_trx_commit;
+
+
--Error ER_UNKNOWN_TABLE
SELECT local.innodb_flush_log_at_trx_commit;
@@ -96,18 +101,35 @@ SELECT @@global.innodb_flush_log_at_trx_commit;
SET @@global.innodb_flush_log_at_trx_commit = 1001;
SELECT @@global.innodb_flush_log_at_trx_commit;
+
+SET @@global.innodb_flush_log_at_trx_commit = 100156787;
+SELECT @@global.innodb_flush_log_at_trx_commit;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flush_log_at_trx_commit = " ";
+SELECT @@global.innodb_flush_log_at_trx_commit;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flush_log_at_trx_commit = 1.1;
+SELECT @@global.innodb_flush_log_at_trx_commit;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flush_log_at_trx_commit = ' ';
+SELECT @@global.innodb_flush_log_at_trx_commit;
--echo '#----------------------FN_DYNVARS_046_05------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_flush_log_at_trx_commit =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_flush_log_at_trx_commit';
+--enable_warnings
SELECT @@global.innodb_flush_log_at_trx_commit;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_flush_log_at_trx_commit';
+--enable_warnings
--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
###################################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_flush_method_basic.test b/mysql-test/suite/sys_vars/t/innodb_flush_method_basic.test
index 75af00e33af..9f99c1305fd 100644
--- a/mysql-test/suite/sys_vars/t/innodb_flush_method_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_flush_method_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_flush_method);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT @@GLOBAL.innodb_flush_method = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_flush_method';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_flush_method);
--echo 0 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_flush_method';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_flush_neighbors_basic.test b/mysql-test/suite/sys_vars/t/innodb_flush_neighbors_basic.test
index 698e30b6669..671e6f58310 100644
--- a/mysql-test/suite/sys_vars/t/innodb_flush_neighbors_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_flush_neighbors_basic.test
@@ -16,32 +16,44 @@ select @@global.innodb_flush_neighbors;
select @@session.innodb_flush_neighbors;
show global variables like 'innodb_flush_neighbors';
show session variables like 'innodb_flush_neighbors';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+--enable_warnings
#
# show that it's writable
#
set global innodb_flush_neighbors=0;
select @@global.innodb_flush_neighbors;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+--enable_warnings
set @@global.innodb_flush_neighbors=TRUE;
select @@global.innodb_flush_neighbors;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+--enable_warnings
set global innodb_flush_neighbors=0;
select @@global.innodb_flush_neighbors;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+--enable_warnings
set @@global.innodb_flush_neighbors=2;
select @@global.innodb_flush_neighbors;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+--enable_warnings
set @@global.innodb_flush_neighbors=DEFAULT;
select @@global.innodb_flush_neighbors;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_flush_neighbors';
select * from information_schema.session_variables where variable_name='innodb_flush_neighbors';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_flush_neighbors=0;
--error ER_GLOBAL_VARIABLE
diff --git a/mysql-test/suite/sys_vars/t/innodb_flush_sync_basic.test b/mysql-test/suite/sys_vars/t/innodb_flush_sync_basic.test
new file mode 100644
index 00000000000..a73575864bd
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_flush_sync_basic.test
@@ -0,0 +1,77 @@
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_flush_sync;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are 'ON' and 'OFF'
+select @@global.innodb_flush_sync in (0, 1);
+select @@global.innodb_flush_sync;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_flush_sync;
+show global variables like 'innodb_flush_sync';
+show session variables like 'innodb_flush_sync';
+--disable_warnings
+select * from information_schema.global_variables where variable_name='innodb_flush_sync';
+select * from information_schema.session_variables where variable_name='innodb_flush_sync';
+--enable_warnings
+
+#
+# show that it's writable
+#
+set global innodb_flush_sync='OFF';
+select @@global.innodb_flush_sync;
+--disable_warnings
+select * from information_schema.global_variables where variable_name='innodb_flush_sync';
+select * from information_schema.session_variables where variable_name='innodb_flush_sync';
+--enable_warnings
+set @@global.innodb_flush_sync=1;
+select @@global.innodb_flush_sync;
+--disable_warnings
+select * from information_schema.global_variables where variable_name='innodb_flush_sync';
+select * from information_schema.session_variables where variable_name='innodb_flush_sync';
+--enable_warnings
+set global innodb_flush_sync=0;
+select @@global.innodb_flush_sync;
+--disable_warnings
+select * from information_schema.global_variables where variable_name='innodb_flush_sync';
+select * from information_schema.session_variables where variable_name='innodb_flush_sync';
+--enable_warnings
+set @@global.innodb_flush_sync='ON';
+select @@global.innodb_flush_sync;
+--disable_warnings
+select * from information_schema.global_variables where variable_name='innodb_flush_sync';
+select * from information_schema.session_variables where variable_name='innodb_flush_sync';
+--enable_warnings
+--error ER_GLOBAL_VARIABLE
+set session innodb_flush_sync='OFF';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_flush_sync='ON';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_flush_sync=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_flush_sync=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_flush_sync=2;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_flush_sync=-3;
+select @@global.innodb_flush_sync;
+--disable_warnings
+select * from information_schema.global_variables where variable_name='innodb_flush_sync';
+select * from information_schema.session_variables where variable_name='innodb_flush_sync';
+--enable_warnings
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_flush_sync='AUTO';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_flush_sync = @start_global_value;
+SELECT @@global.innodb_flush_sync;
diff --git a/mysql-test/suite/sys_vars/t/innodb_flushing_avg_loops_basic.test b/mysql-test/suite/sys_vars/t/innodb_flushing_avg_loops_basic.test
index a84e623f2c3..f23f9697197 100644
--- a/mysql-test/suite/sys_vars/t/innodb_flushing_avg_loops_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_flushing_avg_loops_basic.test
@@ -94,18 +94,28 @@ SELECT @@global.innodb_flushing_avg_loops;
SET @@global.innodb_flushing_avg_loops = 1001;
SELECT @@global.innodb_flushing_avg_loops;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flushing_avg_loops = ' ';
+SELECT @@global.innodb_flushing_avg_loops;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_flushing_avg_loops = " ";
+SELECT @@global.innodb_flushing_avg_loops;
--echo '#----------------------FN_DYNVARS_046_05------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_flushing_avg_loops =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_flushing_avg_loops';
+--enable_warnings
SELECT @@global.innodb_flushing_avg_loops;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_flushing_avg_loops';
+--enable_warnings
--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
###################################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_force_load_corrupted_basic.test b/mysql-test/suite/sys_vars/t/innodb_force_load_corrupted_basic.test
index 1726b320f47..f12f2f670a4 100644
--- a/mysql-test/suite/sys_vars/t/innodb_force_load_corrupted_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_force_load_corrupted_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_force_load_corrupted);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT IF(@@GLOBAL.innodb_force_load_corrupted, "ON", "OFF") = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_force_load_corrupted';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_force_load_corrupted);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_force_load_corrupted';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_force_recovery_basic.test b/mysql-test/suite/sys_vars/t/innodb_force_recovery_basic.test
index f5aa769f09f..a62c895c202 100644
--- a/mysql-test/suite/sys_vars/t/innodb_force_recovery_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_force_recovery_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_force_recovery);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT @@GLOBAL.innodb_force_recovery = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_force_recovery';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_force_recovery);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_force_recovery';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_force_recovery_crash_basic.test b/mysql-test/suite/sys_vars/t/innodb_force_recovery_crash_basic.test
index 5eefe1b9219..cfbd10c4e31 100644
--- a/mysql-test/suite/sys_vars/t/innodb_force_recovery_crash_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_force_recovery_crash_basic.test
@@ -10,8 +10,10 @@ select @@global.innodb_force_recovery_crash;
select @@session.innodb_force_recovery_crash;
show global variables like 'innodb_force_recovery_crash';
show session variables like 'innodb_force_recovery_crash';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_force_recovery_crash';
select * from information_schema.session_variables where variable_name='innodb_force_recovery_crash';
+--enable_warnings
# show that it's read-only
#
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_aux_table_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_aux_table_basic.test
index 2ea99cf9835..04ca34c2b19 100644
--- a/mysql-test/suite/sys_vars/t/innodb_ft_aux_table_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_aux_table_basic.test
@@ -15,8 +15,10 @@ SELECT @start_global_value;
select @@session.innodb_ft_aux_table;
show global variables like 'innodb_ft_aux_table';
show session variables like 'innodb_ft_aux_table';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_aux_table';
select * from information_schema.session_variables where variable_name='innodb_ft_aux_table';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_ft_aux_table='Salmon';
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_cache_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_cache_size_basic.test
index f6d62835f0a..30bcd08d4dd 100644
--- a/mysql-test/suite/sys_vars/t/innodb_ft_cache_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_cache_size_basic.test
@@ -13,8 +13,10 @@ select @@global.innodb_ft_cache_size;
select @@session.innodb_ft_cache_size;
show global variables like 'innodb_ft_cache_size';
show session variables like 'innodb_ft_cache_size';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_cache_size';
select * from information_schema.session_variables where variable_name='innodb_ft_cache_size';
+--enable_warnings
#
# show that it's read-only
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_enable_diag_print_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_enable_diag_print_basic.test
index ebe9cc556ec..630ada004df 100644
--- a/mysql-test/suite/sys_vars/t/innodb_ft_enable_diag_print_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_enable_diag_print_basic.test
@@ -18,28 +18,38 @@ select @@global.innodb_ft_enable_diag_print;
select @@session.innodb_ft_enable_diag_print;
show global variables like 'innodb_ft_enable_diag_print';
show session variables like 'innodb_ft_enable_diag_print';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+--enable_warnings
#
# show that it's writable
#
set global innodb_ft_enable_diag_print='OFF';
select @@global.innodb_ft_enable_diag_print;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+--enable_warnings
set @@global.innodb_ft_enable_diag_print=1;
select @@global.innodb_ft_enable_diag_print;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+--enable_warnings
set global innodb_ft_enable_diag_print=0;
select @@global.innodb_ft_enable_diag_print;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+--enable_warnings
set @@global.innodb_ft_enable_diag_print='ON';
select @@global.innodb_ft_enable_diag_print;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_ft_enable_diag_print='OFF';
--error ER_GLOBAL_VARIABLE
@@ -57,8 +67,10 @@ set global innodb_ft_enable_diag_print=2;
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_ft_enable_diag_print=-3;
select @@global.innodb_ft_enable_diag_print;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+--enable_warnings
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_ft_enable_diag_print='AUTO';
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_enable_stopword_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_enable_stopword_basic.test
index 1a983a3d7e6..5eb5af4df23 100644
--- a/mysql-test/suite/sys_vars/t/innodb_ft_enable_stopword_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_enable_stopword_basic.test
@@ -18,8 +18,10 @@ select @@session.innodb_ft_enable_stopword in (0, 1);
select @@session.innodb_ft_enable_stopword;
show global variables like 'innodb_ft_enable_stopword';
show session variables like 'innodb_ft_enable_stopword';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+--enable_warnings
#
# show that it's writable
@@ -28,26 +30,34 @@ set global innodb_ft_enable_stopword='OFF';
set session innodb_ft_enable_stopword='OFF';
select @@global.innodb_ft_enable_stopword;
select @@session.innodb_ft_enable_stopword;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+--enable_warnings
set @@global.innodb_ft_enable_stopword=1;
set @@session.innodb_ft_enable_stopword=1;
select @@global.innodb_ft_enable_stopword;
select @@session.innodb_ft_enable_stopword;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+--enable_warnings
set global innodb_ft_enable_stopword=0;
set session innodb_ft_enable_stopword=0;
select @@global.innodb_ft_enable_stopword;
select @@session.innodb_ft_enable_stopword;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+--enable_warnings
set @@global.innodb_ft_enable_stopword='ON';
set @@session.innodb_ft_enable_stopword='ON';
select @@global.innodb_ft_enable_stopword;
select @@session.innodb_ft_enable_stopword;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+--enable_warnings
#
# incorrect types
@@ -74,8 +84,10 @@ set global innodb_ft_enable_stopword=-3;
set session innodb_ft_enable_stopword=-7;
select @@global.innodb_ft_enable_stopword;
select @@session.innodb_ft_enable_stopword;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+--enable_warnings
#
# Cleanup
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_max_token_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_max_token_size_basic.test
index e75517466d7..8f6f93f7517 100644
--- a/mysql-test/suite/sys_vars/t/innodb_ft_max_token_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_max_token_size_basic.test
@@ -13,8 +13,10 @@ select @@global.innodb_ft_max_token_size;
select @@session.innodb_ft_max_token_size;
show global variables like 'innodb_ft_max_token_size';
show session variables like 'innodb_ft_max_token_size';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_max_token_size';
select * from information_schema.session_variables where variable_name='innodb_ft_max_token_size';
+--enable_warnings
#
# show that it's read-only
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_min_token_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_min_token_size_basic.test
index edf63c70782..753985e1af0 100644
--- a/mysql-test/suite/sys_vars/t/innodb_ft_min_token_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_min_token_size_basic.test
@@ -13,8 +13,10 @@ select @@global.innodb_ft_min_token_size;
select @@session.innodb_ft_min_token_size;
show global variables like 'innodb_ft_min_token_size';
show session variables like 'innodb_ft_min_token_size';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_min_token_size';
select * from information_schema.session_variables where variable_name='innodb_ft_min_token_size';
+--enable_warnings
#
# show that it's read-only
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_num_word_optimize_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_num_word_optimize_basic.test
index 255caf86116..f288398e595 100644
--- a/mysql-test/suite/sys_vars/t/innodb_ft_num_word_optimize_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_num_word_optimize_basic.test
@@ -18,16 +18,20 @@ select @@global.innodb_ft_num_word_optimize;
select @@session.innodb_ft_num_word_optimize;
show global variables like 'innodb_ft_num_word_optimize';
show session variables like 'innodb_ft_num_word_optimize';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
select * from information_schema.session_variables where variable_name='innodb_ft_num_word_optimize';
+--enable_warnings
#
# show that it's writable
#
set global innodb_ft_num_word_optimize=1000;
select @@global.innodb_ft_num_word_optimize;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
select * from information_schema.session_variables where variable_name='innodb_ft_num_word_optimize';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_ft_num_word_optimize=1000;
@@ -43,7 +47,9 @@ set global innodb_ft_num_word_optimize="foo";
set global innodb_ft_num_word_optimize=-7;
select @@global.innodb_ft_num_word_optimize;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
+--enable_warnings
#
# cleanup
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_basic.test
index 245ed4abdfb..0a797a5ab5d 100644
--- a/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_result_cache_limit_basic.test
@@ -5,11 +5,6 @@
--source include/have_innodb.inc
-if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
-{
- --skip Not fixed in InnoDB 5.6.10 or earlier
-}
-
#
# show the global and session values;
#
@@ -18,8 +13,10 @@ select @@global.innodb_ft_result_cache_limit;
select @@session.innodb_ft_result_cache_limit;
show global variables like 'innodb_ft_result_cache_limit';
show session variables like 'innodb_ft_result_cache_limit';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_result_cache_limit';
select * from information_schema.session_variables where variable_name='innodb_ft_result_cache_limit';
+--enable_warnings
#
# test default, min, max value
@@ -32,7 +29,10 @@ select @@innodb_ft_result_cache_limit;
set global innodb_ft_result_cache_limit=1000000;
select @@innodb_ft_result_cache_limit;
-set global innodb_ft_result_cache_limit=4000000000;
+set global innodb_ft_result_cache_limit=4294967295;
+select @@innodb_ft_result_cache_limit;
+
+set global innodb_ft_result_cache_limit=4*1024*1024*1024;
select @@innodb_ft_result_cache_limit;
eval set global innodb_ft_result_cache_limit=$innodb_ft_result_cache_limit_orig;
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_server_stopword_table_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_server_stopword_table_basic.test
index e227e790a1d..5de822a54e5 100644
--- a/mysql-test/suite/sys_vars/t/innodb_ft_server_stopword_table_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_server_stopword_table_basic.test
@@ -15,8 +15,12 @@ SELECT @start_global_value;
select @@session.innodb_ft_server_stopword_table;
show global variables like 'innodb_ft_server_stopword_table';
show session variables like 'innodb_ft_server_stopword_table';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_server_stopword_table';
select * from information_schema.session_variables where variable_name='innodb_ft_server_stopword_table';
+--enable_warnings
+
+call mtr.add_suppression("\\[ERROR\\] InnoDB: user stopword table Salmon does not exist.");
--error ER_GLOBAL_VARIABLE
set session innodb_ft_server_stopword_table='Salmon';
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_sort_pll_degree_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_sort_pll_degree_basic.test
index 3cf55f6700b..cacd6a690b8 100644
--- a/mysql-test/suite/sys_vars/t/innodb_ft_sort_pll_degree_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_sort_pll_degree_basic.test
@@ -13,8 +13,10 @@ select @@global.innodb_ft_sort_pll_degree;
select @@session.innodb_ft_sort_pll_degree;
show global variables like 'innodb_ft_sort_pll_degree';
show session variables like 'innodb_ft_sort_pll_degree';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_sort_pll_degree';
select * from information_schema.session_variables where variable_name='innodb_ft_sort_pll_degree';
+--enable_warnings
#
# show that it's read-only
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_total_cache_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_total_cache_size_basic.test
index 772ec5a1919..207ec64b705 100644
--- a/mysql-test/suite/sys_vars/t/innodb_ft_total_cache_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_total_cache_size_basic.test
@@ -1,9 +1,9 @@
---source include/have_innodb.inc
-if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
-{
- --skip Not fixed in InnoDB 5.6.10 or earlier
-}
+#
+# 2011-11-17 - Added
+#
+
+--source include/have_innodb.inc
#
# show the global and session values;
@@ -13,8 +13,10 @@ select @@global.innodb_ft_total_cache_size;
select @@session.innodb_ft_total_cache_size;
show global variables like 'innodb_ft_total_cache_size';
show session variables like 'innodb_ft_total_cache_size';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_total_cache_size';
select * from information_schema.session_variables where variable_name='innodb_ft_total_cache_size';
+--enable_warnings
#
# show that it's read-only
@@ -24,4 +26,3 @@ set global innodb_ft_total_cache_size=1;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
set session innodb_ft_total_cache_size=1;
-
diff --git a/mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test b/mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test
index 159e570b3ce..475bf8df526 100644
--- a/mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test
@@ -16,8 +16,12 @@ select @@session.innodb_ft_user_stopword_table;
show global variables like 'innodb_ft_user_stopword_table';
show session variables like 'innodb_ft_user_stopword_table';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_ft_user_stopword_table';
select * from information_schema.session_variables where variable_name='innodb_ft_user_stopword_table';
+--enable_warnings
+
+call mtr.add_suppression("\\[ERROR\\] InnoDB: user stopword table Salmon does not exist.");
--error ER_WRONG_VALUE_FOR_VAR
set session innodb_ft_user_stopword_table='Salmon';
@@ -35,4 +39,3 @@ set global innodb_ft_user_stopword_table=1e1;
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_ft_user_stopword_table='Salmon';
-SET @@session.innodb_ft_user_stopword_table=@start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_large_prefix_basic.test b/mysql-test/suite/sys_vars/t/innodb_large_prefix_basic.test
index 8d3f3afa0a9..877fe17b003 100644
--- a/mysql-test/suite/sys_vars/t/innodb_large_prefix_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_large_prefix_basic.test
@@ -18,28 +18,38 @@ select @@global.innodb_large_prefix;
select @@session.innodb_large_prefix;
show global variables like 'innodb_large_prefix';
show session variables like 'innodb_large_prefix';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_large_prefix';
select * from information_schema.session_variables where variable_name='innodb_large_prefix';
+--enable_warnings
#
# show that it's writable
#
set global innodb_large_prefix='OFF';
select @@global.innodb_large_prefix;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_large_prefix';
select * from information_schema.session_variables where variable_name='innodb_large_prefix';
+--enable_warnings
set @@global.innodb_large_prefix=1;
select @@global.innodb_large_prefix;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_large_prefix';
select * from information_schema.session_variables where variable_name='innodb_large_prefix';
+--enable_warnings
set global innodb_large_prefix=0;
select @@global.innodb_large_prefix;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_large_prefix';
select * from information_schema.session_variables where variable_name='innodb_large_prefix';
+--enable_warnings
set @@global.innodb_large_prefix='ON';
select @@global.innodb_large_prefix;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_large_prefix';
select * from information_schema.session_variables where variable_name='innodb_large_prefix';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_large_prefix='OFF';
--error ER_GLOBAL_VARIABLE
@@ -57,8 +67,10 @@ set global innodb_large_prefix=2;
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_large_prefix=-3;
select @@global.innodb_large_prefix;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_large_prefix';
select * from information_schema.session_variables where variable_name='innodb_large_prefix';
+--enable_warnings
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_large_prefix='AUTO';
diff --git a/mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test
index 7998297c69e..8f2271cbd7f 100644
--- a/mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test
@@ -12,20 +12,26 @@ select @@global.innodb_limit_optimistic_insert_debug;
select @@session.innodb_limit_optimistic_insert_debug;
show global variables like 'innodb_limit_optimistic_insert_debug';
show session variables like 'innodb_limit_optimistic_insert_debug';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+--enable_warnings
#
# show that it's writable
#
set global innodb_limit_optimistic_insert_debug=1;
select @@global.innodb_limit_optimistic_insert_debug;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+--enable_warnings
set @@global.innodb_limit_optimistic_insert_debug=0;
select @@global.innodb_limit_optimistic_insert_debug;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_limit_optimistic_insert_debug='some';
--error ER_GLOBAL_VARIABLE
diff --git a/mysql-test/suite/sys_vars/t/innodb_lock_wait_timeout_basic.test b/mysql-test/suite/sys_vars/t/innodb_lock_wait_timeout_basic.test
index f80b8e48736..a2aecf4ca8a 100644
--- a/mysql-test/suite/sys_vars/t/innodb_lock_wait_timeout_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_lock_wait_timeout_basic.test
@@ -50,17 +50,21 @@ SELECT @@session.innodb_lock_wait_timeout;
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT @@GLOBAL.innodb_lock_wait_timeout = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_lock_wait_timeout';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_lock_wait_timeout);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_lock_wait_timeout';
+--enable_warnings
--echo 1 Expected
@@ -93,6 +97,73 @@ SELECT COUNT(@@GLOBAL.innodb_lock_wait_timeout);
SELECT innodb_lock_wait_timeout = @@SESSION.innodb_lock_wait_timeout;
#
+# check the default value
+#
+set @@global.innodb_lock_wait_timeout=100;
+set @@global.innodb_lock_wait_timeout=DEFAULT;
+select @@global.innodb_lock_wait_timeout;
+set @@session.innodb_lock_wait_timeout=100;
+set @@session.innodb_lock_wait_timeout=DEFAULT;
+select @@session.innodb_lock_wait_timeout;
+
+#
+# check for valid values
+#
+
+SET @@global.innodb_lock_wait_timeout=1;
+SELECT @@global.innodb_lock_wait_timeout;
+SET @@global.innodb_lock_wait_timeout=1024;
+SELECT @@global.innodb_lock_wait_timeout;
+SET @@global.innodb_lock_wait_timeout=1073741824;
+SELECT @@global.innodb_lock_wait_timeout;
+
+SET @@session.innodb_lock_wait_timeout=1;
+SELECT @@session.innodb_lock_wait_timeout;
+SET @@session.innodb_lock_wait_timeout=1024;
+SELECT @@session.innodb_lock_wait_timeout;
+SET @@session.innodb_lock_wait_timeout=1073741824;
+SELECT @@session.innodb_lock_wait_timeout;
+
+#
+# check for invalid values
+#
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_lock_wait_timeout="t";
+SELECT @@global.innodb_lock_wait_timeout;
+SET @@global.innodb_lock_wait_timeout=-1024;
+SELECT @@global.innodb_lock_wait_timeout;
+SET @@global.innodb_lock_wait_timeout=1073741825;
+SELECT @@global.innodb_lock_wait_timeout;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_lock_wait_timeout=" ";
+SELECT @@global.innodb_lock_wait_timeout;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_lock_wait_timeout=' ';
+SELECT @@global.innodb_lock_wait_timeout;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_lock_wait_timeout=1.1;
+SELECT @@global.innodb_lock_wait_timeout;
+
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.innodb_lock_wait_timeout="T";
+SELECT @@session.innodb_lock_wait_timeout;
+SET @@session.innodb_lock_wait_timeout=-1024;
+SELECT @@session.innodb_lock_wait_timeout;
+SET @@session.innodb_lock_wait_timeout=1073999999;
+SELECT @@session.innodb_lock_wait_timeout;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.innodb_lock_wait_timeout=' ';
+SELECT @@session.innodb_lock_wait_timeout;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.innodb_lock_wait_timeout=" ";
+SELECT @@session.innodb_lock_wait_timeout;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.innodb_lock_wait_timeout=1.1;
+SELECT @@session.innodb_lock_wait_timeout;
+
+
+
# Cleanup
#
diff --git a/mysql-test/suite/sys_vars/t/innodb_locks_unsafe_for_binlog_basic.test b/mysql-test/suite/sys_vars/t/innodb_locks_unsafe_for_binlog_basic.test
index 08792d299a1..755c5c62c70 100644
--- a/mysql-test/suite/sys_vars/t/innodb_locks_unsafe_for_binlog_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_locks_unsafe_for_binlog_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_locks_unsafe_for_binlog);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT IF(@@GLOBAL.innodb_locks_unsafe_for_binlog, "ON", "OFF") = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_locks_unsafe_for_binlog';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_locks_unsafe_for_binlog);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_locks_unsafe_for_binlog';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_buffer_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_buffer_size_basic.test
index 74c1aeab87a..550bba0c0b7 100644
--- a/mysql-test/suite/sys_vars/t/innodb_log_buffer_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_log_buffer_size_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_log_buffer_size);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT @@GLOBAL.innodb_log_buffer_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_buffer_size';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_log_buffer_size);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_buffer_size';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_checkpoint_now_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_checkpoint_now_basic.test
index 00aa476e8d2..331803fff86 100644
--- a/mysql-test/suite/sys_vars/t/innodb_log_checkpoint_now_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_log_checkpoint_now_basic.test
@@ -1 +1,79 @@
---echo XtraDB extension
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+SET @start_global_value = @@global.innodb_log_checkpoint_now;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+select @@global.innodb_log_checkpoint_now in (0, 1);
+select @@global.innodb_log_checkpoint_now;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_log_checkpoint_now;
+show global variables like 'innodb_log_checkpoint_now';
+show session variables like 'innodb_log_checkpoint_now';
+--disable_warnings
+select * from information_schema.global_variables where variable_name='innodb_log_checkpoint_now';
+select * from information_schema.session_variables where variable_name='innodb_log_checkpoint_now';
+--enable_warnings
+
+#
+# show that it's writable
+#
+set global innodb_log_checkpoint_now=1;
+# Should always be OFF
+select @@global.innodb_log_checkpoint_now;
+--disable_warnings
+select * from information_schema.global_variables where variable_name='innodb_log_checkpoint_now';
+select * from information_schema.session_variables where variable_name='innodb_log_checkpoint_now';
+--enable_warnings
+
+set @@global.innodb_log_checkpoint_now=0;
+# Should always be OFF
+select @@global.innodb_log_checkpoint_now;
+--disable_warnings
+select * from information_schema.global_variables where variable_name='innodb_log_checkpoint_now';
+select * from information_schema.session_variables where variable_name='innodb_log_checkpoint_now';
+--enable_warnings
+
+set global innodb_log_checkpoint_now=ON;
+# Should always be OFF
+select @@global.innodb_log_checkpoint_now;
+--disable_warnings
+select * from information_schema.global_variables where variable_name='innodb_log_checkpoint_now';
+select * from information_schema.session_variables where variable_name='innodb_log_checkpoint_now';
+--enable_warnings
+
+set global innodb_log_checkpoint_now=OFF;
+# Should always be OFF
+select @@global.innodb_log_checkpoint_now;
+--disable_warnings
+select * from information_schema.global_variables where variable_name='innodb_log_checkpoint_now';
+select * from information_schema.session_variables where variable_name='innodb_log_checkpoint_now';
+--enable_warnings
+
+--error ER_GLOBAL_VARIABLE
+set session innodb_log_checkpoint_now='some';
+
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_log_checkpoint_now='some';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_log_checkpoint_now=1.1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_log_checkpoint_now='foo';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_log_checkpoint_now=-2;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_log_checkpoint_now=1e1;
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_log_checkpoint_now = @start_global_value;
+SELECT @@global.innodb_log_checkpoint_now;
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_checksums_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_checksums_basic.test
new file mode 100644
index 00000000000..8ebc9f1652b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_log_checksums_basic.test
@@ -0,0 +1,36 @@
+--source include/have_innodb.inc
+
+# Check the default value
+SET @orig = @@global.innodb_log_checksums;
+SELECT @orig;
+
+-- error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_log_checksums = 'crc32';
+SELECT @@global.innodb_log_checksums;
+
+-- error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_log_checksums = 2;
+SELECT @@global.innodb_log_checksums;
+
+-- error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_log_checksums = 1e2;
+SELECT @@global.innodb_log_checksums;
+
+-- error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_log_checksums = 1.0;
+SELECT @@global.innodb_log_checksums;
+
+-- error ER_GLOBAL_VARIABLE
+SET innodb_log_checksums = OFF;
+SELECT @@global.innodb_log_checksums;
+
+SET GLOBAL innodb_log_checksums = OFF;
+SELECT @@global.innodb_log_checksums;
+
+SET GLOBAL innodb_log_checksums = default;
+
+SET GLOBAL innodb_log_checksums = ON;
+SELECT @@global.innodb_log_checksums;
+
+SET GLOBAL innodb_log_checksums = @orig;
+SELECT @@global.innodb_log_checksums;
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test
index 8d10309ae02..2c83a36a0fd 100644
--- a/mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test
@@ -1,10 +1,5 @@
--source include/have_innodb.inc
-if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
-{
- --skip Not fixed in InnoDB 5.6.10 or earlier
-}
-
SET @start_global_value = @@global.innodb_log_compressed_pages;
SELECT @start_global_value;
@@ -39,17 +34,21 @@ SELECT @@global.innodb_log_compressed_pages;
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT IF(@@GLOBAL.innodb_log_compressed_pages,'ON','OFF') = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_compressed_pages';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_compressed_pages';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_file_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_file_size_basic.test
index 08925b73957..21fd2a80021 100644
--- a/mysql-test/suite/sys_vars/t/innodb_log_file_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_log_file_size_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_log_file_size);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT @@GLOBAL.innodb_log_file_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_file_size';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_log_file_size);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_file_size';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_files_in_group_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_files_in_group_basic.test
index 67978efe76a..60046bd09e6 100644
--- a/mysql-test/suite/sys_vars/t/innodb_log_files_in_group_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_log_files_in_group_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_log_files_in_group);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT @@GLOBAL.innodb_log_files_in_group = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_files_in_group';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_log_files_in_group);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_files_in_group';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_group_home_dir_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_group_home_dir_basic.test
index 7e3969c6bd7..d6d5446c4c7 100644
--- a/mysql-test/suite/sys_vars/t/innodb_log_group_home_dir_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_log_group_home_dir_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_log_group_home_dir);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT @@GLOBAL.innodb_log_group_home_dir = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_group_home_dir';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_log_group_home_dir);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_group_home_dir';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_write_ahead_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_write_ahead_size_basic.test
new file mode 100644
index 00000000000..8693c6a7b1b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_log_write_ahead_size_basic.test
@@ -0,0 +1,93 @@
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_log_write_ahead_size;
+
+# default value is limited by innodb_page_size and varying along with the page size.
+#SELECT @start_global_value;
+
+#set common valid value
+SET global innodb_log_write_ahead_size=4096;
+
+#
+# exists as global only
+#
+--echo Valid values are positive number
+SELECT @@global.innodb_log_write_ahead_size >= 512;
+SELECT @@global.innodb_log_write_ahead_size <= 16*1024;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.innodb_log_write_ahead_size;
+SHOW global variables LIKE 'innodb_log_write_ahead_size';
+SHOW session variables LIKE 'innodb_log_write_ahead_size';
+--disable_warnings
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_log_write_ahead_size';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_log_write_ahead_size';
+--enable_warnings
+
+#
+# show that it's writable
+#
+SET global innodb_log_write_ahead_size=1024;
+SELECT @@global.innodb_log_write_ahead_size;
+--disable_warnings
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_log_write_ahead_size';
+SELECT * FROM information_schema.session_variables
+WHERE variable_name='innodb_log_write_ahead_size';
+--enable_warnings
+--error ER_GLOBAL_VARIABLE
+SET session innodb_log_write_ahead_size=2048;
+
+#
+# Valid values
+#
+SET global innodb_log_write_ahead_size=512;
+SELECT @@global.innodb_log_write_ahead_size;
+SET global innodb_log_write_ahead_size=2048;
+SELECT @@global.innodb_log_write_ahead_size;
+SET global innodb_log_write_ahead_size=4096;
+SELECT @@global.innodb_log_write_ahead_size;
+
+# limited by innodb_page_size, and the followings are occationally invalid
+#SET global innodb_log_write_ahead_size=8192;
+#SELECT @@global.innodb_log_write_ahead_size;
+#SET global innodb_log_write_ahead_size=16384;
+#SELECT @@global.innodb_log_write_ahead_size;
+
+#
+# Invalid values
+#
+SET global innodb_log_write_ahead_size=0;
+SELECT @@global.innodb_log_write_ahead_size;
+SET global innodb_log_write_ahead_size=-1024;
+SELECT @@global.innodb_log_write_ahead_size;
+SET global innodb_log_write_ahead_size=3000;
+SELECT @@global.innodb_log_write_ahead_size;
+
+# limited by innodb_page_size, and the followings result occationally different
+#SET global innodb_log_write_ahead_size=32768;
+#SELECT @@global.innodb_log_write_ahead_size;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_log_write_ahead_size=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_log_write_ahead_size=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_log_write_ahead_size="foo";
+SET global innodb_log_write_ahead_size=-7;
+SELECT @@global.innodb_log_write_ahead_size;
+--disable_warnings
+SELECT * FROM information_schema.global_variables
+WHERE variable_name='innodb_log_write_ahead_size';
+--enable_warnings
+
+#
+# cleanup
+#
+
+SET @@global.innodb_log_write_ahead_size = @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_lru_scan_depth_basic.test b/mysql-test/suite/sys_vars/t/innodb_lru_scan_depth_basic.test
index 12211308410..8f08a1bff14 100644
--- a/mysql-test/suite/sys_vars/t/innodb_lru_scan_depth_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_lru_scan_depth_basic.test
@@ -18,16 +18,20 @@ select @@global.innodb_lru_scan_depth;
select @@session.innodb_lru_scan_depth;
show global variables like 'innodb_lru_scan_depth';
show session variables like 'innodb_lru_scan_depth';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_lru_scan_depth';
select * from information_schema.session_variables where variable_name='innodb_lru_scan_depth';
+--enable_warnings
#
# show that it's writable
#
set global innodb_lru_scan_depth=325;
select @@global.innodb_lru_scan_depth;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_lru_scan_depth';
select * from information_schema.session_variables where variable_name='innodb_lru_scan_depth';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_lru_scan_depth=444;
@@ -43,10 +47,14 @@ set global innodb_lru_scan_depth="foo";
set global innodb_lru_scan_depth=7;
select @@global.innodb_lru_scan_depth;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_lru_scan_depth';
+--enable_warnings
set global innodb_lru_scan_depth=-7;
select @@global.innodb_lru_scan_depth;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_lru_scan_depth';
+--enable_warnings
#
# min/max values
diff --git a/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_basic.test b/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_basic.test
index 5b4eaa41598..e8cc46086bc 100644
--- a/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_basic.test
@@ -31,20 +31,29 @@
######################################################################
-################################################################################
+################################################################################
# Saving initial value of innodb_max_dirty_pages_pct in a temporary variable #
-################################################################################
+################################################################################
SET @global_start_value = @@global.innodb_max_dirty_pages_pct;
SELECT @global_start_value;
+# need this because setting innodb_max_dirty_pages_pct to lower than this
+# should cause a warning
+SET @global_start_max_dirty_lwm_value = @@global.innodb_max_dirty_pages_pct_lwm;
+SELECT @global_start_max_dirty_lwm_value;
+
+
+SET @@global.innodb_max_dirty_pages_pct_lwm = 0;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
--echo '#--------------------FN_DYNVARS_046_01------------------------#'
-########################################################################
+########################################################################
# Display the DEFAULT value of innodb_max_dirty_pages_pct #
-########################################################################
+########################################################################
SET @@global.innodb_max_dirty_pages_pct = 0;
-SET @@global.innodb_max_dirty_pages_pct = @global_start_value;
+SET @@global.innodb_max_dirty_pages_pct = DEFAULT;
SELECT @@global.innodb_max_dirty_pages_pct;
--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
@@ -63,11 +72,11 @@ SET global innodb_max_dirty_pages_pct = 0;
SELECT @@global.innodb_max_dirty_pages_pct;
--echo '#--------------------FN_DYNVARS_046_03------------------------#'
-##########################################################################
+##########################################################################
# change the value of innodb_max_dirty_pages_pct to a valid value #
-##########################################################################
+##########################################################################
-SET @@global.innodb_max_dirty_pages_pct = 0;
+SET @@global.innodb_max_dirty_pages_pct = 0.0;
SELECT @@global.innodb_max_dirty_pages_pct;
SET @@global.innodb_max_dirty_pages_pct = 1;
@@ -75,14 +84,26 @@ SELECT @@global.innodb_max_dirty_pages_pct;
SET @@global.innodb_max_dirty_pages_pct = 99;
SELECT @@global.innodb_max_dirty_pages_pct;
---echo '#--------------------FN_DYNVARS_046_04-------------------------#'
-###########################################################################
+--echo '#--------------------FN_DYNVARS_046_04------------------------#'
+##########################################################################
+# change value of based on innodb_max_dirty_pages_pct_lwm #
+##########################################################################
+SET @@global.innodb_max_dirty_pages_pct_lwm = @global_start_value - 1;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+# this should cause warning
+SET @@global.innodb_max_dirty_pages_pct = @global_start_value - 2;
+SELECT @@global.innodb_max_dirty_pages_pct;
+
+--echo '#--------------------FN_DYNVARS_046_05-------------------------#'
+###########################################################################
# Change the value of innodb_max_dirty_pages_pct to invalid value #
-###########################################################################
+###########################################################################
SET @@global.innodb_max_dirty_pages_pct = -1;
SELECT @@global.innodb_max_dirty_pages_pct;
-
+SET @@global.innodb_max_dirty_pages_pct = -1024;
+SELECT @@global.innodb_max_dirty_pages_pct;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_max_dirty_pages_pct = "T";
SELECT @@global.innodb_max_dirty_pages_pct;
@@ -91,26 +112,49 @@ SELECT @@global.innodb_max_dirty_pages_pct;
SET @@global.innodb_max_dirty_pages_pct = "Y";
SELECT @@global.innodb_max_dirty_pages_pct;
+SET @@global.innodb_max_dirty_pages_pct = 100;
+SELECT @@global.innodb_max_dirty_pages_pct;
SET @@global.innodb_max_dirty_pages_pct = 1001;
SELECT @@global.innodb_max_dirty_pages_pct;
+SET @@global.innodb_max_dirty_pages_pct = 100000;
+SELECT @@global.innodb_max_dirty_pages_pct;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_max_dirty_pages_pct = ' ';
+SELECT @@global.innodb_max_dirty_pages_pct;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_max_dirty_pages_pct = " ";
+SELECT @@global.innodb_max_dirty_pages_pct;
+SET @@global.innodb_max_dirty_pages_pct = 1.1;
+SELECT @@global.innodb_max_dirty_pages_pct;
+set global innodb_max_dirty_pages_pct = 0.1;
+SELECT @@global.innodb_max_dirty_pages_pct;
+set global innodb_max_dirty_pages_pct = 31.34;
+SELECT @@global.innodb_max_dirty_pages_pct;
+set global innodb_max_dirty_pages_pct = 100;
+SELECT @@global.innodb_max_dirty_pages_pct;
+set global innodb_max_dirty_pages_pct = 99.999;
+SELECT @@global.innodb_max_dirty_pages_pct;
-
---echo '#----------------------FN_DYNVARS_046_05------------------------#'
-#########################################################################
+--echo '#----------------------FN_DYNVARS_046_06------------------------#'
+#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_max_dirty_pages_pct =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_max_dirty_pages_pct';
+--enable_warnings
SELECT @@global.innodb_max_dirty_pages_pct;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_max_dirty_pages_pct';
+--enable_warnings
---echo '#---------------------FN_DYNVARS_046_06-------------------------#'
-###################################################################
+--echo '#---------------------FN_DYNVARS_046_07-------------------------#'
+###################################################################
# Check if ON and OFF values can be used on variable #
-###################################################################
+###################################################################
--ERROR ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_max_dirty_pages_pct = OFF;
@@ -120,23 +164,26 @@ SELECT @@global.innodb_max_dirty_pages_pct;
SET @@global.innodb_max_dirty_pages_pct = ON;
SELECT @@global.innodb_max_dirty_pages_pct;
---echo '#---------------------FN_DYNVARS_046_07----------------------#'
-###################################################################
+--echo '#---------------------FN_DYNVARS_046_08----------------------#'
+###################################################################
# Check if TRUE and FALSE values can be used on variable #
-###################################################################
+###################################################################
SET @@global.innodb_max_dirty_pages_pct = TRUE;
SELECT @@global.innodb_max_dirty_pages_pct;
SET @@global.innodb_max_dirty_pages_pct = FALSE;
SELECT @@global.innodb_max_dirty_pages_pct;
-##############################
+##############################
# Restore initial value #
##############################
SET @@global.innodb_max_dirty_pages_pct = @global_start_value;
SELECT @@global.innodb_max_dirty_pages_pct;
+SET @@global.innodb_max_dirty_pages_pct_lwm = @global_start_max_dirty_lwm_value;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
###############################################################
# END OF innodb_max_dirty_pages_pct TESTS #
-###############################################################
+###############################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_func.test b/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_func.test
index 62c88f43ebd..c7a9e567e69 100644
--- a/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_func.test
+++ b/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_func.test
@@ -33,15 +33,22 @@ SET @innodb_max_dirty_pages_pct = @@global.innodb_max_dirty_pages_pct;
############################################################################
SET @@global.innodb_max_dirty_pages_pct = 80;
+--echo 'connect (con1,localhost,root,,,,)'
connect (con1,localhost,root,,,,);
+--echo 'connection con1'
connection con1;
SELECT @@global.innodb_max_dirty_pages_pct;
SET @@global.innodb_max_dirty_pages_pct = 70;
+--echo 'connect (con2,localhost,root,,,,)'
connect (con2,localhost,root,,,,);
+--echo 'connection con2'
connection con2;
SELECT @@global.innodb_max_dirty_pages_pct;
+--echo 'connection default'
connection default;
+--echo 'disconnect con2'
disconnect con2;
+--echo 'disconnect con1'
disconnect con1;
# restore initial value
SET @@global.innodb_max_dirty_pages_pct = @innodb_max_dirty_pages_pct;
diff --git a/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_lwm_basic.test b/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_lwm_basic.test
index d81b6cc725b..b06f209a263 100644
--- a/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_lwm_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_lwm_basic.test
@@ -47,7 +47,7 @@ SELECT @pct_start_value;
########################################################################
SET @@global.innodb_max_dirty_pages_pct_lwm = 0;
-SET @@global.innodb_max_dirty_pages_pct_lwm = @pct_lwm_start_value;
+SET @@global.innodb_max_dirty_pages_pct_lwm = DEFAULT;
SELECT @@global.innodb_max_dirty_pages_pct_lwm;
--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
@@ -96,22 +96,40 @@ SELECT @@global.innodb_max_dirty_pages_pct_lwm;
SET @@global.innodb_max_dirty_pages_pct_lwm = @pct_start_value + 1;
SELECT @@global.innodb_max_dirty_pages_pct_lwm;
-SET @@global.innodb_max_dirty_pages_pct_lwm = 100;
+
+SET @@global.innodb_max_dirty_pages_pct_lwm = 0.0;
SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+SET @@global.innodb_max_dirty_pages_pct_lwm = 1.1;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+
+SET @@global.innodb_max_dirty_pages_pct_lwm = 51.12;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+SET @@global.innodb_max_dirty_pages_pct_lwm = 100;
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_max_dirty_pages_pct_lwm = " ";
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_max_dirty_pages_pct_lwm = ' ';
+SELECT @@global.innodb_max_dirty_pages_pct_lwm;
--echo '#----------------------FN_DYNVARS_046_05------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_max_dirty_pages_pct_lwm =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_max_dirty_pages_pct_lwm';
+--enable_warnings
SELECT @@global.innodb_max_dirty_pages_pct_lwm;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_max_dirty_pages_pct_lwm';
+--enable_warnings
--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
###################################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_max_purge_lag_basic.test b/mysql-test/suite/sys_vars/t/innodb_max_purge_lag_basic.test
index 9e6b8201e3d..6c7676f113d 100644
--- a/mysql-test/suite/sys_vars/t/innodb_max_purge_lag_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_max_purge_lag_basic.test
@@ -66,16 +66,37 @@ SELECT @@global.innodb_max_purge_lag;
# change the value of innodb_max_purge_lag to a valid value #
##########################################################################
-
SET @@global.innodb_max_purge_lag = 0;
SELECT @@global.innodb_max_purge_lag;
SET @@global.innodb_max_purge_lag = 1;
SELECT @@global.innodb_max_purge_lag;
+
SET @@global.innodb_max_purge_lag = 4294967295;
SELECT @@global.innodb_max_purge_lag;
---echo '#--------------------FN_DYNVARS_046_04-------------------------#'
+--echo '#--------------------FN_DYNVARS_046_04------------------------#'
+##########################################################################
+# check the value of innodb_concurrency_tickets for out of bounds #
+##########################################################################
+
+# With a 64 bit mysqld:18446744073709551615,with a 32 bit mysqld: 4294967295
+--disable_warnings
+SET @@global.innodb_max_purge_lag = 4294967296;
+--enable_warnings
+SELECT @@global.innodb_max_purge_lag IN (4294967296,4294967295);
+
+--disable_warnings
+SET @@global.innodb_max_purge_lag = 12345678901;
+--enable_warnings
+SELECT @@global.innodb_max_purge_lag IN (12345678901,4294967295);
+
+--disable_warnings
+SET @@global.innodb_max_purge_lag = 18446744073709551615;
+--enable_warnings
+SELECT @@global.innodb_max_purge_lag IN (18446744073709551615,4294967295);
+
+--echo '#--------------------FN_DYNVARS_046_05-------------------------#'
###########################################################################
# Change the value of innodb_max_purge_lag to invalid value #
###########################################################################
@@ -83,6 +104,9 @@ SELECT @@global.innodb_max_purge_lag;
SET @@global.innodb_max_purge_lag = -1;
SELECT @@global.innodb_max_purge_lag;
+SET @@global.innodb_max_purge_lag = -1024;
+SELECT @@global.innodb_max_purge_lag;
+
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_max_purge_lag = "T";
SELECT @@global.innodb_max_purge_lag;
@@ -91,26 +115,35 @@ SELECT @@global.innodb_max_purge_lag;
SET @@global.innodb_max_purge_lag = "Y";
SELECT @@global.innodb_max_purge_lag;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_max_purge_lag = 1.1;
+SELECT @@global.innodb_max_purge_lag;
-SET @@global.innodb_max_purge_lag = 1001;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_max_purge_lag = ' ';
SELECT @@global.innodb_max_purge_lag;
---echo '#----------------------FN_DYNVARS_046_05------------------------#'
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_max_purge_lag = " ";
+SELECT @@global.innodb_max_purge_lag;
+
+--echo '#----------------------FN_DYNVARS_046_06------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_max_purge_lag =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_max_purge_lag';
+--enable_warnings
SELECT @@global.innodb_max_purge_lag;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_max_purge_lag';
+--enable_warnings
-
-
-
---echo '#---------------------FN_DYNVARS_046_06-------------------------#'
+--echo '#---------------------FN_DYNVARS_046_07-------------------------#'
###################################################################
# Check if ON and OFF values can be used on variable #
###################################################################
@@ -123,12 +156,11 @@ SELECT @@global.innodb_max_purge_lag;
SET @@global.innodb_max_purge_lag = ON;
SELECT @@global.innodb_max_purge_lag;
---echo '#---------------------FN_DYNVARS_046_07----------------------#'
+--echo '#---------------------FN_DYNVARS_046_08----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
-
SET @@global.innodb_max_purge_lag = TRUE;
SELECT @@global.innodb_max_purge_lag;
SET @@global.innodb_max_purge_lag = FALSE;
diff --git a/mysql-test/suite/sys_vars/t/innodb_max_purge_lag_delay_basic.test b/mysql-test/suite/sys_vars/t/innodb_max_purge_lag_delay_basic.test
index 6374e3716df..f7580c99507 100644
--- a/mysql-test/suite/sys_vars/t/innodb_max_purge_lag_delay_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_max_purge_lag_delay_basic.test
@@ -13,9 +13,11 @@ SET @@GLOBAL.innodb_max_purge_lag_delay=1;
SELECT COUNT(@@GLOBAL.innodb_max_purge_lag_delay);
--echo 1 Expected
+--disable_warnings
SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_max_purge_lag_delay';
+--enable_warnings
--echo 1 Expected
SELECT @@innodb_max_purge_lag_delay = @@GLOBAL.innodb_max_purge_lag_delay;
diff --git a/mysql-test/suite/sys_vars/t/innodb_mirrored_log_groups_basic.test b/mysql-test/suite/sys_vars/t/innodb_max_undo_log_size_basic.test
index 6edb07ac39f..9882578923e 100644
--- a/mysql-test/suite/sys_vars/t/innodb_mirrored_log_groups_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_max_undo_log_size_basic.test
@@ -1,18 +1,18 @@
-################## mysql-test\t\innodb_mirrored_log_groups_basic.test #########
+############### mysql-test\t\innodb_max_undo_log_size_basic.test ###############
# #
-# Variable Name: innodb_mirrored_log_groups #
+# Variable Name: innodb_max_undo_log_size #
# Scope: Global #
# Access Type: Static #
# Data Type: numeric #
# #
# #
-# Creation Date: 2008-02-07 #
-# Author : Sharique Abdullah #
+# Creation Date: 2014-27-05 #
+# Author : Krunal Bauskar #
# #
# #
-# Description:Test Cases of Dynamic System Variable innodb_mirrored_log_groups#
+# Description:Test Cases of Dynamic System Variable innodb_max_undo_log_size #
# that checks the behavior of this variable in the following ways #
# * Value Check #
# * Scope Check #
@@ -24,79 +24,76 @@
--source include/have_innodb.inc
---echo '#---------------------BS_STVARS_037_01----------------------#'
+--echo '#---------------------BS_STVARS_035_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
-SELECT COUNT(@@GLOBAL.innodb_mirrored_log_groups);
+SELECT COUNT(@@GLOBAL.innodb_max_undo_log_size);
--echo 1 Expected
---echo '#---------------------BS_STVARS_037_02----------------------#'
+--echo '#---------------------BS_STVARS_035_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SET @@GLOBAL.innodb_mirrored_log_groups=1;
---echo Expected error 'Read only variable'
+SET @@GLOBAL.innodb_max_undo_log_size=1073741824;
-SELECT COUNT(@@GLOBAL.innodb_mirrored_log_groups);
+SELECT COUNT(@@GLOBAL.innodb_max_undo_log_size);
--echo 1 Expected
+SET @@GLOBAL.innodb_max_undo_log_size=18446744073709551615;
+SELECT @@GLOBAL.innodb_max_undo_log_size;
+--echo 18446744073709551615 Expected
+SET @@GLOBAL.innodb_max_undo_log_size=1073741824;
-
---echo '#---------------------BS_STVARS_037_03----------------------#'
+--echo '#---------------------BS_STVARS_035_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
-SELECT @@GLOBAL.innodb_mirrored_log_groups = VARIABLE_VALUE
+--disable_warnings
+SELECT @@GLOBAL.innodb_max_undo_log_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_mirrored_log_groups';
+WHERE VARIABLE_NAME='innodb_max_undo_log_size';
--echo 1 Expected
-SELECT COUNT(@@GLOBAL.innodb_mirrored_log_groups);
+SELECT COUNT(@@GLOBAL.innodb_max_undo_log_size);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_mirrored_log_groups';
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_max_undo_log_size';
--echo 1 Expected
+--enable_warnings
-
---echo '#---------------------BS_STVARS_037_04----------------------#'
+--echo '#---------------------BS_STVARS_035_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
-SELECT @@innodb_mirrored_log_groups = @@GLOBAL.innodb_mirrored_log_groups;
+SELECT @@innodb_max_undo_log_size = @@GLOBAL.innodb_max_undo_log_size;
--echo 1 Expected
---echo '#---------------------BS_STVARS_037_05----------------------#'
+--echo '#---------------------BS_STVARS_035_05----------------------#'
################################################################################
-# Check if innodb_mirrored_log_groups can be accessed with and without @@ sign #
+# Check if innodb_max_undo_log_size can be accessed with and without @@ sign #
################################################################################
-SELECT COUNT(@@innodb_mirrored_log_groups);
+SELECT COUNT(@@innodb_max_undo_log_size);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@local.innodb_mirrored_log_groups);
+SELECT COUNT(@@local.innodb_max_undo_log_size);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@SESSION.innodb_mirrored_log_groups);
+SELECT COUNT(@@SESSION.innodb_max_undo_log_size);
--echo Expected error 'Variable is a GLOBAL variable'
-SELECT COUNT(@@GLOBAL.innodb_mirrored_log_groups);
+SELECT COUNT(@@GLOBAL.innodb_max_undo_log_size);
--echo 1 Expected
---Error ER_BAD_FIELD_ERROR
-SELECT innodb_mirrored_log_groups = @@SESSION.innodb_mirrored_log_groups;
---echo Expected error 'Readonly variable'
-
-
diff --git a/mysql-test/suite/sys_vars/t/innodb_merge_threshold_set_all_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_merge_threshold_set_all_debug_basic.test
new file mode 100644
index 00000000000..0ea30277801
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_merge_threshold_set_all_debug_basic.test
@@ -0,0 +1,30 @@
+--echo #
+--echo # Basic test for innodb_merge_threshold_set_all_debug
+--echo #
+
+--source include/have_innodb.inc
+
+# The config variable is a debug variable
+-- source include/have_debug.inc
+
+SELECT @@global.innodb_merge_threshold_set_all_debug;
+
+set global innodb_merge_threshold_set_all_debug = 1;
+
+SELECT @@global.innodb_merge_threshold_set_all_debug;
+
+set global innodb_merge_threshold_set_all_debug = 51;
+
+SELECT @@global.innodb_merge_threshold_set_all_debug;
+
+set global innodb_merge_threshold_set_all_debug = 0;
+
+SELECT @@global.innodb_merge_threshold_set_all_debug;
+
+--error ER_GLOBAL_VARIABLE
+set innodb_merge_threshold_set_all_debug = 50;
+
+set global innodb_merge_threshold_set_all_debug = 50;
+
+SELECT @@global.innodb_merge_threshold_set_all_debug;
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test b/mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test
index 0615d62a0e1..1b23ae14e49 100644
--- a/mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test
@@ -2,11 +2,6 @@
# Test the metrics monitor system's control system
# and counter accuracy.
-if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
-{
- --skip Not fixed in InnoDB 5.6.10 or earlier
-}
-
--source include/have_innodb.inc
set global innodb_monitor_disable = All;
# Test turn on/off the monitor counter with "all" option
diff --git a/mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test b/mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test
index 0615d62a0e1..1b23ae14e49 100644
--- a/mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test
@@ -2,11 +2,6 @@
# Test the metrics monitor system's control system
# and counter accuracy.
-if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
-{
- --skip Not fixed in InnoDB 5.6.10 or earlier
-}
-
--source include/have_innodb.inc
set global innodb_monitor_disable = All;
# Test turn on/off the monitor counter with "all" option
diff --git a/mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test b/mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test
index 868f69300fa..1b23ae14e49 100644
--- a/mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test
@@ -2,11 +2,6 @@
# Test the metrics monitor system's control system
# and counter accuracy.
-if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
-{
- --skip not fixed in innodb 5.6.10 or earlier
-}
-
--source include/have_innodb.inc
set global innodb_monitor_disable = All;
# Test turn on/off the monitor counter with "all" option
diff --git a/mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test b/mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test
index 868f69300fa..1b23ae14e49 100644
--- a/mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test
@@ -2,11 +2,6 @@
# Test the metrics monitor system's control system
# and counter accuracy.
-if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
-{
- --skip not fixed in innodb 5.6.10 or earlier
-}
-
--source include/have_innodb.inc
set global innodb_monitor_disable = All;
# Test turn on/off the monitor counter with "all" option
diff --git a/mysql-test/suite/sys_vars/t/innodb_old_blocks_pct_basic.test b/mysql-test/suite/sys_vars/t/innodb_old_blocks_pct_basic.test
index 0dcef3bb09f..1f72fc250ce 100644
--- a/mysql-test/suite/sys_vars/t/innodb_old_blocks_pct_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_old_blocks_pct_basic.test
@@ -18,20 +18,30 @@ select @@global.innodb_old_blocks_pct;
select @@session.innodb_old_blocks_pct;
show global variables like 'innodb_old_blocks_pct';
show session variables like 'innodb_old_blocks_pct';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_old_blocks_pct';
select * from information_schema.session_variables where variable_name='innodb_old_blocks_pct';
+--enable_warnings
#
# show that it's writable
#
set global innodb_old_blocks_pct=10;
select @@global.innodb_old_blocks_pct;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_old_blocks_pct';
select * from information_schema.session_variables where variable_name='innodb_old_blocks_pct';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_old_blocks_pct=1;
#
+# check the default value
+#
+set @@global.innodb_old_blocks_pct=DEFAULT;
+select @@global.innodb_old_blocks_pct;
+
+#
# incorrect types
#
--error ER_WRONG_TYPE_FOR_VAR
@@ -40,16 +50,26 @@ set global innodb_old_blocks_pct=1.1;
set global innodb_old_blocks_pct=1e1;
--error ER_WRONG_TYPE_FOR_VAR
set global innodb_old_blocks_pct="foo";
-
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_old_blocks_pct=" ";
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_old_blocks_pct='';
+
set global innodb_old_blocks_pct=4;
select @@global.innodb_old_blocks_pct;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_old_blocks_pct';
+--enable_warnings
set global innodb_old_blocks_pct=-7;
select @@global.innodb_old_blocks_pct;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_old_blocks_pct';
+--enable_warnings
set global innodb_old_blocks_pct=96;
select @@global.innodb_old_blocks_pct;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_old_blocks_pct';
+--enable_warnings
#
# min/max values
diff --git a/mysql-test/suite/sys_vars/t/innodb_old_blocks_time_basic.test b/mysql-test/suite/sys_vars/t/innodb_old_blocks_time_basic.test
index 3efec2bbf15..d05e7244b93 100644
--- a/mysql-test/suite/sys_vars/t/innodb_old_blocks_time_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_old_blocks_time_basic.test
@@ -18,16 +18,20 @@ select @@global.innodb_old_blocks_time;
select @@session.innodb_old_blocks_time;
show global variables like 'innodb_old_blocks_time';
show session variables like 'innodb_old_blocks_time';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_old_blocks_time';
select * from information_schema.session_variables where variable_name='innodb_old_blocks_time';
+--enable_warnings
#
# show that it's writable
#
set global innodb_old_blocks_time=10;
select @@global.innodb_old_blocks_time;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_old_blocks_time';
select * from information_schema.session_variables where variable_name='innodb_old_blocks_time';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_old_blocks_time=1;
@@ -43,7 +47,9 @@ set global innodb_old_blocks_time="foo";
set global innodb_old_blocks_time=-7;
select @@global.innodb_old_blocks_time;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_old_blocks_time';
+--enable_warnings
#
# cleanup
diff --git a/mysql-test/suite/sys_vars/t/innodb_online_alter_log_max_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_online_alter_log_max_size_basic.test
index aa1cc83819e..b86f04cac15 100644
--- a/mysql-test/suite/sys_vars/t/innodb_online_alter_log_max_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_online_alter_log_max_size_basic.test
@@ -12,20 +12,26 @@ select @@global.innodb_online_alter_log_max_size;
select @@session.innodb_online_alter_log_max_size;
show global variables like 'innodb_online_alter_log_max_size';
show session variables like 'innodb_online_alter_log_max_size';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_online_alter_log_max_size';
select * from information_schema.session_variables where variable_name='innodb_online_alter_log_max_size';
+--enable_warnings
#
# show that it's writable
#
set global innodb_online_alter_log_max_size=1048576;
select @@global.innodb_online_alter_log_max_size;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_online_alter_log_max_size';
select * from information_schema.session_variables where variable_name='innodb_online_alter_log_max_size';
+--enable_warnings
set @@global.innodb_online_alter_log_max_size=524288;
select @@global.innodb_online_alter_log_max_size;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_online_alter_log_max_size';
select * from information_schema.session_variables where variable_name='innodb_online_alter_log_max_size';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_online_alter_log_max_size='some';
--error ER_GLOBAL_VARIABLE
diff --git a/mysql-test/suite/sys_vars/t/innodb_open_files_basic.test b/mysql-test/suite/sys_vars/t/innodb_open_files_basic.test
index c55b7e55937..d6b7c857fb4 100644
--- a/mysql-test/suite/sys_vars/t/innodb_open_files_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_open_files_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_open_files);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT @@GLOBAL.innodb_open_files = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_open_files';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_open_files);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_open_files';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_optimize_fulltext_only_basic.test b/mysql-test/suite/sys_vars/t/innodb_optimize_fulltext_only_basic.test
index e9ff8a651bc..08b8c137342 100644
--- a/mysql-test/suite/sys_vars/t/innodb_optimize_fulltext_only_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_optimize_fulltext_only_basic.test
@@ -18,28 +18,38 @@ select @@global.innodb_optimize_fulltext_only;
select @@session.innodb_optimize_fulltext_only;
show global variables like 'innodb_optimize_fulltext_only';
show session variables like 'innodb_optimize_fulltext_only';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+--enable_warnings
#
# show that it's writable
#
set global innodb_optimize_fulltext_only='ON';
select @@global.innodb_optimize_fulltext_only;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+--enable_warnings
set @@global.innodb_optimize_fulltext_only=0;
select @@global.innodb_optimize_fulltext_only;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+--enable_warnings
set global innodb_optimize_fulltext_only=1;
select @@global.innodb_optimize_fulltext_only;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+--enable_warnings
set @@global.innodb_optimize_fulltext_only='OFF';
select @@global.innodb_optimize_fulltext_only;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_optimize_fulltext_only='OFF';
--error ER_GLOBAL_VARIABLE
@@ -57,8 +67,10 @@ set global innodb_optimize_fulltext_only=2;
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_optimize_fulltext_only=-3;
select @@global.innodb_optimize_fulltext_only;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+--enable_warnings
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_optimize_fulltext_only='AUTO';
diff --git a/mysql-test/suite/sys_vars/t/innodb_page_cleaners_basic.test b/mysql-test/suite/sys_vars/t/innodb_page_cleaners_basic.test
new file mode 100644
index 00000000000..716492ba1b3
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_page_cleaners_basic.test
@@ -0,0 +1,53 @@
+# Variable name: innodb_page_cleaners
+# Scope: Global
+# Access type: Static
+# Data type: numeric
+
+--source include/have_innodb.inc
+
+SELECT COUNT(@@GLOBAL.innodb_page_cleaners);
+--echo 1 Expected
+
+SELECT COUNT(@@innodb_page_cleaners);
+--echo 1 Expected
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET @@GLOBAL.innodb_page_cleaners=1;
+--echo Expected error 'Read-only variable'
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_page_cleaners = @@SESSION.innodb_page_cleaners;
+--echo Expected error 'Read-only variable'
+
+--disable_warnings
+SELECT @@GLOBAL.innodb_page_cleaners = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_page_cleaners';
+--enable_warnings
+--echo 1 Expected
+
+--disable_warnings
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_page_cleaners';
+--enable_warnings
+--echo 1 Expected
+
+SELECT @@innodb_page_cleaners = @@GLOBAL.innodb_page_cleaners;
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_page_cleaners);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_page_cleaners);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+# Check the default value
+--disable_warnings
+SELECT VARIABLE_NAME, VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME = 'innodb_page_cleaners';
+--enable_warnings
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_page_hash_locks_basic.test b/mysql-test/suite/sys_vars/t/innodb_page_hash_locks_basic.test
index 1479cbad744..ee4798c1f90 100644
--- a/mysql-test/suite/sys_vars/t/innodb_page_hash_locks_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_page_hash_locks_basic.test
@@ -10,8 +10,10 @@ select @@global.innodb_page_hash_locks;
select @@session.innodb_page_hash_locks;
show global variables like 'innodb_page_hash_locks';
show session variables like 'innodb_page_hash_locks';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_page_hash_locks';
select * from information_schema.session_variables where variable_name='innodb_page_hash_locks';
+--enable_warnings
#
# show that it's read-only
diff --git a/mysql-test/suite/sys_vars/t/innodb_page_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_page_size_basic.test
index 00aa476e8d2..1d4f9353f53 100644
--- a/mysql-test/suite/sys_vars/t/innodb_page_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_page_size_basic.test
@@ -1 +1,16 @@
---echo XtraDB extension
+#
+# Basic test for innodb_page_size
+#
+
+-- source include/have_innodb.inc
+
+# Check the default value
+SET @orig = @@global.innodb_page_size;
+--replace_result 65536 {valid_page_size} 32768 {valid_page_size} 16384 {valid_page_size} 8192 {valid_page_size} 4096 {valid_page_size}
+SELECT @orig;
+
+# Confirm that we can not change the value
+-- error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET GLOBAL innodb_page_size = 4k;
+-- error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET GLOBAL innodb_page_size = 8k;
diff --git a/mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test b/mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test
index 4cbd7062108..5693a829373 100644
--- a/mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test
@@ -17,38 +17,48 @@ SELECT @@global.innodb_print_all_deadlocks;
SELECT @@session.innodb_print_all_deadlocks;
SHOW global variables LIKE 'innodb_print_all_deadlocks';
SHOW session variables LIKE 'innodb_print_all_deadlocks';
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_print_all_deadlocks';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_print_all_deadlocks';
+--enable_warnings
#
# SHOW that it's writable
#
SET global innodb_print_all_deadlocks='OFF';
SELECT @@global.innodb_print_all_deadlocks;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_print_all_deadlocks';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_print_all_deadlocks';
+--enable_warnings
SET @@global.innodb_print_all_deadlocks=1;
SELECT @@global.innodb_print_all_deadlocks;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_print_all_deadlocks';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_print_all_deadlocks';
+--enable_warnings
SET global innodb_print_all_deadlocks=0;
SELECT @@global.innodb_print_all_deadlocks;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_print_all_deadlocks';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_print_all_deadlocks';
+--enable_warnings
SET @@global.innodb_print_all_deadlocks='ON';
SELECT @@global.innodb_print_all_deadlocks;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_print_all_deadlocks';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_print_all_deadlocks';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
SET session innodb_print_all_deadlocks='OFF';
--error ER_GLOBAL_VARIABLE
@@ -66,10 +76,12 @@ SET global innodb_print_all_deadlocks=2;
--error ER_WRONG_VALUE_FOR_VAR
SET global innodb_print_all_deadlocks=-3;
SELECT @@global.innodb_print_all_deadlocks;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_print_all_deadlocks';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_print_all_deadlocks';
+--enable_warnings
--error ER_WRONG_VALUE_FOR_VAR
SET global innodb_print_all_deadlocks='AUTO';
diff --git a/mysql-test/suite/sys_vars/t/innodb_purge_batch_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_purge_batch_size_basic.test
index 88271d26965..4f3dc9f364b 100644
--- a/mysql-test/suite/sys_vars/t/innodb_purge_batch_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_purge_batch_size_basic.test
@@ -72,7 +72,7 @@ SELECT @@global.innodb_purge_batch_size;
SET @@global.innodb_purge_batch_size = 5000;
SELECT @@global.innodb_purge_batch_size;
-SET @@global.innodb_purge_batch_size = 1000;
+SET @@global.innodb_purge_batch_size = 4294967295;
SELECT @@global.innodb_purge_batch_size;
--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
@@ -90,8 +90,17 @@ SELECT @@global.innodb_purge_batch_size;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_purge_batch_size = "Y";
SELECT @@global.innodb_purge_batch_size;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_purge_batch_size = ' ';
+SELECT @@global.innodb_purge_batch_size;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_purge_batch_size = " ";
+SELECT @@global.innodb_purge_batch_size;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_purge_batch_size = 1.1;
+SELECT @@global.innodb_purge_batch_size;
-SET @@global.innodb_purge_batch_size = 5001;
+SET @@global.innodb_purge_batch_size = 4294967297;
SELECT @@global.innodb_purge_batch_size;
--echo '#----------------------FN_DYNVARS_046_05------------------------#'
@@ -99,12 +108,16 @@ SELECT @@global.innodb_purge_batch_size;
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_purge_batch_size =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_purge_batch_size';
+--enable_warnings
SELECT @@global.innodb_purge_batch_size;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_purge_batch_size';
+--enable_warnings
--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
###################################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_purge_rseg_truncate_frequency_basic.test b/mysql-test/suite/sys_vars/t/innodb_purge_rseg_truncate_frequency_basic.test
new file mode 100644
index 00000000000..e0871ba4ab5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_purge_rseg_truncate_frequency_basic.test
@@ -0,0 +1,161 @@
+###### mysql-test\t\innodb_purge_rseg_truncate_frequency_basic.test ###########
+# #
+# Variable Name: innodb_purge_rseg_truncate_frequency #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: Numeric #
+# Default Value: 128 #
+# Range: 1 - 128 #
+# #
+# #
+# Creation Date: 2014-27-05 #
+# Author: Krunal Bauskar #
+# #
+#Description:Test Cases of Dynamic System Variable #
+# innodb_purge_rseg_truncate_frequency #
+# that checks the behavior of this variable in the following ways #
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/have_innodb.inc
+--source include/load_sysvars.inc
+
+########################################################################
+# START OF innodb_purge_rseg_truncate_frequency TESTS #
+########################################################################
+
+###############################################################################
+# Saving initial value of innodb_purge_rseg_truncate_frequency in a #
+# temporary variable #
+###############################################################################
+
+SET @global_start_value = @@global.innodb_purge_rseg_truncate_frequency;
+SELECT @global_start_value;
+
+--echo '#--------------------FN_DYNVARS_046_01------------------------#'
+########################################################################
+# Display the DEFAULT value of innodb_purge_rseg_truncate_frequency #
+########################################################################
+
+SET @@global.innodb_purge_rseg_truncate_frequency = 1;
+SET @@global.innodb_purge_rseg_truncate_frequency = DEFAULT;
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
+############################################################################
+# Check if innodb_purge_rseg_truncate_frequency can be accessed with and #
+# without @@ sign #
+############################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET innodb_purge_rseg_truncate_frequency = 1;
+SELECT @@innodb_purge_rseg_truncate_frequency;
+
+--Error ER_UNKNOWN_TABLE
+SELECT local.innodb_purge_rseg_truncate_frequency;
+
+SET global innodb_purge_rseg_truncate_frequency = 1;
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+--echo '#--------------------FN_DYNVARS_046_03------------------------#'
+##########################################################################
+# change the value of innodb_purge_rseg_truncate_frequency to a valid #
+# value #
+##########################################################################
+
+SET @@global.innodb_purge_rseg_truncate_frequency = 1;
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+SET @@global.innodb_purge_rseg_truncate_frequency = 1;
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+SET @@global.innodb_purge_rseg_truncate_frequency = 128;
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+--echo '#--------------------FN_DYNVARS_046_05-------------------------#'
+###########################################################################
+# Change the value of innodb_purge_rseg_truncate_frequency to #
+# invalid value #
+###########################################################################
+
+SET @@global.innodb_purge_rseg_truncate_frequency = -1;
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+SET @@global.innodb_purge_rseg_truncate_frequency = -1024;
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_purge_rseg_truncate_frequency = "T";
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_purge_rseg_truncate_frequency = "Y";
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_purge_rseg_truncate_frequency = 1.1;
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_purge_rseg_truncate_frequency = ' ';
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_purge_rseg_truncate_frequency = " ";
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+--echo '#----------------------FN_DYNVARS_046_06------------------------#'
+#########################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#########################################################################
+
+--disable_warnings
+SELECT @@global.innodb_purge_rseg_truncate_frequency =
+ VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='innodb_purge_rseg_truncate_frequency';
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE VARIABLE_NAME='innodb_purge_rseg_truncate_frequency';
+--enable_warnings
+
+--echo '#---------------------FN_DYNVARS_046_07-------------------------#'
+###################################################################
+# Check if ON and OFF values can be used on variable #
+###################################################################
+
+--ERROR ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_purge_rseg_truncate_frequency = OFF;
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+--ERROR ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_purge_rseg_truncate_frequency = ON;
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+--echo '#---------------------FN_DYNVARS_046_08----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@global.innodb_purge_rseg_truncate_frequency = TRUE;
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+SET @@global.innodb_purge_rseg_truncate_frequency = FALSE;
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+##############################
+# Restore initial value #
+##############################
+
+
+SET @@global.innodb_purge_rseg_truncate_frequency = @global_start_value;
+SELECT @@global.innodb_purge_rseg_truncate_frequency;
+
+###############################################################
+# END OF innodb_purge_rseg_truncate_frequency TESTS #
+###############################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_purge_threads_basic.test b/mysql-test/suite/sys_vars/t/innodb_purge_threads_basic.test
index 64d834c6344..4d039601e40 100644
--- a/mysql-test/suite/sys_vars/t/innodb_purge_threads_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_purge_threads_basic.test
@@ -1,89 +1,41 @@
-
-
-################## mysql-test\t\innodb_log_purge_threads_basic.test ###########
-# #
-# Variable Name: innodb_purge_threads #
-# Scope: Global #
-# Access Type: Static #
-# Data Type: numeric #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author : Sharique Abdullah #
-# #
-# #
-# Description:Test Cases of Dynamic System Variable innodb_purge_threads #
-# that checks the behavior of this variable in the following ways #
-# * Value Check #
-# * Scope Check #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-###############################################################################
+# Variable name: innodb_purge_threads
+# Scope: Global
+# Access type: Static
+# Data type: numeric
--source include/have_innodb.inc
---echo '#---------------------BS_STVARS_035_01----------------------#'
-####################################################################
-# Displaying default value #
-####################################################################
SELECT COUNT(@@GLOBAL.innodb_purge_threads);
--echo 1 Expected
-
---echo '#---------------------BS_STVARS_035_02----------------------#'
-####################################################################
-# Check if Value can set #
-####################################################################
+SELECT COUNT(@@innodb_purge_threads);
+--echo 1 Expected
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.innodb_purge_threads=1;
---echo Expected error 'Read only variable'
-
-SELECT COUNT(@@GLOBAL.innodb_purge_threads);
---echo 1 Expected
+--echo Expected error 'Read-only variable'
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_purge_threads = @@SESSION.innodb_purge_threads;
+--echo Expected error 'Read-only variable'
-
-
---echo '#---------------------BS_STVARS_035_03----------------------#'
-#################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#################################################################
-
+--disable_warnings
SELECT @@GLOBAL.innodb_purge_threads = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_purge_threads';
+--enable_warnings
--echo 1 Expected
-SELECT COUNT(@@GLOBAL.innodb_purge_threads);
---echo 1 Expected
-
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_purge_threads';
+--enable_warnings
--echo 1 Expected
-
-
---echo '#---------------------BS_STVARS_035_04----------------------#'
-################################################################################
-# Check if accessing variable with and without GLOBAL point to same variable #
-################################################################################
SELECT @@innodb_purge_threads = @@GLOBAL.innodb_purge_threads;
--echo 1 Expected
-
-
---echo '#---------------------BS_STVARS_035_05----------------------#'
-################################################################################
-# Check if innodb_purge_threads can be accessed with and without @@ sign #
-################################################################################
-
-SELECT COUNT(@@innodb_purge_threads);
---echo 1 Expected
-
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.innodb_purge_threads);
--echo Expected error 'Variable is a GLOBAL variable'
@@ -92,11 +44,10 @@ SELECT COUNT(@@local.innodb_purge_threads);
SELECT COUNT(@@SESSION.innodb_purge_threads);
--echo Expected error 'Variable is a GLOBAL variable'
-SELECT COUNT(@@GLOBAL.innodb_purge_threads);
---echo 1 Expected
-
---Error ER_BAD_FIELD_ERROR
-SELECT innodb_purge_threads = @@SESSION.innodb_purge_threads;
---echo Expected error 'Readonly variable'
-
+# Check the default value
+--disable_warnings
+SELECT VARIABLE_NAME, VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME = 'innodb_purge_threads';
+--enable_warnings
diff --git a/mysql-test/suite/sys_vars/t/innodb_random_read_ahead_basic.test b/mysql-test/suite/sys_vars/t/innodb_random_read_ahead_basic.test
index b7ba6f36b15..a805fc80314 100644
--- a/mysql-test/suite/sys_vars/t/innodb_random_read_ahead_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_random_read_ahead_basic.test
@@ -18,28 +18,38 @@ select @@global.innodb_random_read_ahead;
select @@session.innodb_random_read_ahead;
show global variables like 'innodb_random_read_ahead';
show session variables like 'innodb_random_read_ahead';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_random_read_ahead';
select * from information_schema.session_variables where variable_name='innodb_random_read_ahead';
+--enable_warnings
#
# show that it's writable
#
set global innodb_random_read_ahead='ON';
select @@global.innodb_random_read_ahead;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_random_read_ahead';
select * from information_schema.session_variables where variable_name='innodb_random_read_ahead';
+--enable_warnings
set @@global.innodb_random_read_ahead=0;
select @@global.innodb_random_read_ahead;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_random_read_ahead';
select * from information_schema.session_variables where variable_name='innodb_random_read_ahead';
+--enable_warnings
set global innodb_random_read_ahead=1;
select @@global.innodb_random_read_ahead;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_random_read_ahead';
select * from information_schema.session_variables where variable_name='innodb_random_read_ahead';
+--enable_warnings
set @@global.innodb_random_read_ahead='OFF';
select @@global.innodb_random_read_ahead;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_random_read_ahead';
select * from information_schema.session_variables where variable_name='innodb_random_read_ahead';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_random_read_ahead='OFF';
--error ER_GLOBAL_VARIABLE
@@ -57,8 +67,10 @@ set global innodb_random_read_ahead=2;
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_random_read_ahead=-3;
select @@global.innodb_random_read_ahead;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_random_read_ahead';
select * from information_schema.session_variables where variable_name='innodb_random_read_ahead';
+--enable_warnings
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_random_read_ahead='AUTO';
diff --git a/mysql-test/suite/sys_vars/t/innodb_read_ahead_threshold_basic.test b/mysql-test/suite/sys_vars/t/innodb_read_ahead_threshold_basic.test
index 1298a28b3d3..65bb9c03115 100644
--- a/mysql-test/suite/sys_vars/t/innodb_read_ahead_threshold_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_read_ahead_threshold_basic.test
@@ -18,18 +18,27 @@ select @@global.innodb_read_ahead_threshold;
select @@session.innodb_read_ahead_threshold;
show global variables like 'innodb_read_ahead_threshold';
show session variables like 'innodb_read_ahead_threshold';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_read_ahead_threshold';
select * from information_schema.session_variables where variable_name='innodb_read_ahead_threshold';
+--enable_warnings
#
# show that it's writable
#
set global innodb_read_ahead_threshold=10;
select @@global.innodb_read_ahead_threshold;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_read_ahead_threshold';
select * from information_schema.session_variables where variable_name='innodb_read_ahead_threshold';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_read_ahead_threshold=1;
+#
+# check the default value
+#
+set global innodb_read_ahead_threshold=DEFAULT;
+select @@global.innodb_read_ahead_threshold;
#
# incorrect types
@@ -40,13 +49,23 @@ set global innodb_read_ahead_threshold=1.1;
set global innodb_read_ahead_threshold=1e1;
--error ER_WRONG_TYPE_FOR_VAR
set global innodb_read_ahead_threshold="foo";
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_read_ahead_threshold=' ';
+select @@global.innodb_read_ahead_threshold;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_read_ahead_threshold=" ";
+select @@global.innodb_read_ahead_threshold;
set global innodb_read_ahead_threshold=-7;
select @@global.innodb_read_ahead_threshold;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_read_ahead_threshold';
+--enable_warnings
set global innodb_read_ahead_threshold=96;
select @@global.innodb_read_ahead_threshold;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_read_ahead_threshold';
+--enable_warnings
#
# min/max values
diff --git a/mysql-test/suite/sys_vars/t/innodb_read_io_threads_basic.test b/mysql-test/suite/sys_vars/t/innodb_read_io_threads_basic.test
index 14426395d6c..c4c49d5bb20 100644
--- a/mysql-test/suite/sys_vars/t/innodb_read_io_threads_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_read_io_threads_basic.test
@@ -13,8 +13,10 @@ select @@global.innodb_read_io_threads;
select @@session.innodb_read_io_threads;
show global variables like 'innodb_read_io_threads';
show session variables like 'innodb_read_io_threads';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_read_io_threads';
select * from information_schema.session_variables where variable_name='innodb_read_io_threads';
+--enable_warnings
#
# show that it's read-only
diff --git a/mysql-test/suite/sys_vars/t/innodb_read_only_basic.test b/mysql-test/suite/sys_vars/t/innodb_read_only_basic.test
index 581eb3538b8..31cbe779ef7 100644
--- a/mysql-test/suite/sys_vars/t/innodb_read_only_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_read_only_basic.test
@@ -9,8 +9,10 @@ select @@global.innodb_read_only;
select @@session.innodb_read_only;
show global variables like 'innodb_read_only';
show session variables like 'innodb_read_only';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_read_only';
select * from information_schema.session_variables where variable_name='innodb_read_only';
+--enable_warnings
# Show that it's read-only
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
diff --git a/mysql-test/suite/sys_vars/t/innodb_replication_delay_basic.test b/mysql-test/suite/sys_vars/t/innodb_replication_delay_basic.test
index e495de46611..c85cc85e78c 100644
--- a/mysql-test/suite/sys_vars/t/innodb_replication_delay_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_replication_delay_basic.test
@@ -18,20 +18,41 @@ select @@global.innodb_replication_delay;
select @@session.innodb_replication_delay;
show global variables like 'innodb_replication_delay';
show session variables like 'innodb_replication_delay';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_replication_delay';
select * from information_schema.session_variables where variable_name='innodb_replication_delay';
+--enable_warnings
#
# show that it's writable
#
set global innodb_replication_delay=10;
select @@global.innodb_replication_delay;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_replication_delay';
select * from information_schema.session_variables where variable_name='innodb_replication_delay';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_replication_delay=1;
#
+# check the default value
+#
+set global innodb_replication_delay=DEFAULT;
+select @@global.innodb_replication_delay;
+
+#
+# valid values
+#
+
+set global innodb_replication_delay=0;
+select @@global.innodb_replication_delay;
+set global innodb_replication_delay=65535;
+select @@global.innodb_replication_delay;
+set global innodb_replication_delay=4294967295;
+select @@global.innodb_replication_delay;
+
+#
# incorrect types
#
--error ER_WRONG_TYPE_FOR_VAR
@@ -40,10 +61,39 @@ set global innodb_replication_delay=1.1;
set global innodb_replication_delay=1e1;
--error ER_WRONG_TYPE_FOR_VAR
set global innodb_replication_delay="foo";
-
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_replication_delay=' ';
+select @@global.innodb_replication_delay;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_replication_delay=" ";
+select @@global.innodb_replication_delay;
set global innodb_replication_delay=-7;
select @@global.innodb_replication_delay;
+set global innodb_replication_delay=-1024;
+select @@global.innodb_replication_delay;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_replication_delay';
+--enable_warnings
+
+#
+# Check for out of bounds
+#
+
+# With a 64 bit mysqld:18446744073709551615,with a 32 bit mysqld: 4294967295
+--disable_warnings
+SET @@global.innodb_replication_delay = 4294967296;
+--enable_warnings
+SELECT @@global.innodb_replication_delay IN (4294967296,4294967295);
+
+--disable_warnings
+SET @@global.innodb_replication_delay = 12345678901;
+--enable_warnings
+SELECT @@global.innodb_replication_delay IN (12345678901,4294967295);
+
+--disable_warnings
+SET @@global.innodb_replication_delay = 18446744073709551615;
+--enable_warnings
+SELECT @@global.innodb_replication_delay IN (18446744073709551615,4294967295);
#
# cleanup
diff --git a/mysql-test/suite/sys_vars/t/innodb_rollback_on_timeout_basic.test b/mysql-test/suite/sys_vars/t/innodb_rollback_on_timeout_basic.test
index 81025bb9d73..2aee2e25db7 100644
--- a/mysql-test/suite/sys_vars/t/innodb_rollback_on_timeout_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_rollback_on_timeout_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_rollback_on_timeout);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT IF(@@GLOBAL.innodb_rollback_on_timeout, "ON", "OFF") = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_rollback_on_timeout';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_rollback_on_timeout);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_rollback_on_timeout';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_rollback_segments_basic.test b/mysql-test/suite/sys_vars/t/innodb_rollback_segments_basic.test
index 9f0b70a528f..33223d4c064 100644
--- a/mysql-test/suite/sys_vars/t/innodb_rollback_segments_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_rollback_segments_basic.test
@@ -19,20 +19,24 @@ SELECT @@global.innodb_rollback_segments;
SELECT @@session.innodb_rollback_segments;
SHOW global variables LIKE 'innodb_rollback_segments';
SHOW session variables LIKE 'innodb_rollback_segments';
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_rollback_segments';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_rollback_segments';
+--enable_warnings
#
# show that it's writable
#
SET global innodb_rollback_segments=100;
SELECT @@global.innodb_rollback_segments;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_rollback_segments';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_rollback_segments';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
SET session innodb_rollback_segments=1;
@@ -47,8 +51,10 @@ SET global innodb_rollback_segments=1e1;
SET global innodb_rollback_segments="foo";
SET global innodb_rollback_segments=-7;
SELECT @@global.innodb_rollback_segments;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_rollback_segments';
+--enable_warnings
#
# cleanup
diff --git a/mysql-test/suite/sys_vars/t/innodb_simulate_comp_failures_basic.test b/mysql-test/suite/sys_vars/t/innodb_simulate_comp_failures_basic.test
index 97e69e3f324..07e70bf7343 100644
--- a/mysql-test/suite/sys_vars/t/innodb_simulate_comp_failures_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_simulate_comp_failures_basic.test
@@ -1,4 +1,5 @@
--source include/have_innodb.inc
+--source include/have_debug.inc
SET @start_global_value = @@global.innodb_simulate_comp_failures;
SELECT @start_global_value;
diff --git a/mysql-test/suite/sys_vars/t/innodb_sort_buffer_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_sort_buffer_size_basic.test
index 920c992c1f9..49318c00661 100644
--- a/mysql-test/suite/sys_vars/t/innodb_sort_buffer_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_sort_buffer_size_basic.test
@@ -13,8 +13,10 @@ select @@global.innodb_sort_buffer_size;
select @@session.innodb_sort_buffer_size;
show global variables like 'innodb_sort_buffer_size';
show session variables like 'innodb_sort_buffer_size';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_sort_buffer_size';
select * from information_schema.session_variables where variable_name='innodb_sort_buffer_size';
+--enable_warnings
#
# show that it's read-only
diff --git a/mysql-test/suite/sys_vars/t/innodb_spin_wait_delay_basic.test b/mysql-test/suite/sys_vars/t/innodb_spin_wait_delay_basic.test
index 8f2eee08b6a..ab0b38bb6ce 100644
--- a/mysql-test/suite/sys_vars/t/innodb_spin_wait_delay_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_spin_wait_delay_basic.test
@@ -18,20 +18,40 @@ select @@global.innodb_spin_wait_delay;
select @@session.innodb_spin_wait_delay;
show global variables like 'innodb_spin_wait_delay';
show session variables like 'innodb_spin_wait_delay';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_spin_wait_delay';
select * from information_schema.session_variables where variable_name='innodb_spin_wait_delay';
+--enable_warnings
#
# show that it's writable
#
set global innodb_spin_wait_delay=10;
select @@global.innodb_spin_wait_delay;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_spin_wait_delay';
select * from information_schema.session_variables where variable_name='innodb_spin_wait_delay';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_spin_wait_delay=1;
#
+# check the default value
+#
+set global innodb_spin_wait_delay=DEFAULT;
+select @@global.innodb_spin_wait_delay;
+
+#
+# valid values
+#
+set global innodb_spin_wait_delay=0;
+select @@global.innodb_spin_wait_delay;
+set global innodb_spin_wait_delay=65535;
+select @@global.innodb_spin_wait_delay;
+set global innodb_spin_wait_delay=4294967295;
+select @@global.innodb_spin_wait_delay;
+
+#
# incorrect types
#
--error ER_WRONG_TYPE_FOR_VAR
@@ -40,10 +60,39 @@ set global innodb_spin_wait_delay=1.1;
set global innodb_spin_wait_delay=1e1;
--error ER_WRONG_TYPE_FOR_VAR
set global innodb_spin_wait_delay="foo";
-
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_spin_wait_delay=' ';
+select @@global.innodb_spin_wait_delay;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_spin_wait_delay=" ";
+select @@global.innodb_spin_wait_delay;
set global innodb_spin_wait_delay=-7;
select @@global.innodb_spin_wait_delay;
+set global innodb_spin_wait_delay=-1024;
+select @@global.innodb_spin_wait_delay;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_spin_wait_delay';
+--enable_warnings
+
+#
+# Check for out of bounds
+#
+
+# With a 64 bit mysqld:18446744073709551615,with a 32 bit mysqld: 4294967295
+--disable_warnings
+SET @@global.innodb_spin_wait_delay = 4294967296;
+--enable_warnings
+SELECT @@global.innodb_spin_wait_delay IN (4294967296,4294967295);
+
+--disable_warnings
+SET @@global.innodb_spin_wait_delay = 12345678901;
+--enable_warnings
+SELECT @@global.innodb_spin_wait_delay IN (12345678901,4294967295);
+
+--disable_warnings
+SET @@global.innodb_spin_wait_delay = 18446744073709551615;
+--enable_warnings
+SELECT @@global.innodb_spin_wait_delay IN (18446744073709551615,4294967295);
#
# cleanup
diff --git a/mysql-test/suite/sys_vars/t/innodb_stats_method_basic.test b/mysql-test/suite/sys_vars/t/innodb_stats_method_basic.test
index f01574c3683..77288dfb130 100644
--- a/mysql-test/suite/sys_vars/t/innodb_stats_method_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_stats_method_basic.test
@@ -18,32 +18,40 @@ SELECT @@global.innodb_stats_method;
SELECT @@session.innodb_stats_method;
SHOW global variables LIKE 'innodb_stats_method';
SHOW session variables LIKE 'innodb_stats_method';
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_stats_method';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_stats_method';
+--enable_warnings
#
# show that it's writable
#
SET global innodb_stats_method='nulls_equal';
SELECT @@global.innodb_stats_method;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_stats_method';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_stats_method';
+--enable_warnings
SET @@global.innodb_stats_method='nulls_unequal';
SELECT @@global.innodb_stats_method;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_stats_method';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_stats_method';
+--enable_warnings
SET global innodb_stats_method=2;
SELECT @@global.innodb_stats_method;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_stats_method';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_stats_method';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
SET session innodb_stats_method='nulls_equal';
diff --git a/mysql-test/suite/sys_vars/t/innodb_stats_on_metadata_basic.test b/mysql-test/suite/sys_vars/t/innodb_stats_on_metadata_basic.test
index 9028ee7f687..a0bccb50652 100644
--- a/mysql-test/suite/sys_vars/t/innodb_stats_on_metadata_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_stats_on_metadata_basic.test
@@ -18,28 +18,38 @@ select @@global.innodb_stats_on_metadata;
select @@session.innodb_stats_on_metadata;
show global variables like 'innodb_stats_on_metadata';
show session variables like 'innodb_stats_on_metadata';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_stats_on_metadata';
select * from information_schema.session_variables where variable_name='innodb_stats_on_metadata';
+--enable_warnings
#
# show that it's writable
#
set global innodb_stats_on_metadata='OFF';
select @@global.innodb_stats_on_metadata;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_stats_on_metadata';
select * from information_schema.session_variables where variable_name='innodb_stats_on_metadata';
+--enable_warnings
set @@global.innodb_stats_on_metadata=1;
select @@global.innodb_stats_on_metadata;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_stats_on_metadata';
select * from information_schema.session_variables where variable_name='innodb_stats_on_metadata';
+--enable_warnings
set global innodb_stats_on_metadata=0;
select @@global.innodb_stats_on_metadata;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_stats_on_metadata';
select * from information_schema.session_variables where variable_name='innodb_stats_on_metadata';
+--enable_warnings
set @@global.innodb_stats_on_metadata='ON';
select @@global.innodb_stats_on_metadata;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_stats_on_metadata';
select * from information_schema.session_variables where variable_name='innodb_stats_on_metadata';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_stats_on_metadata='OFF';
--error ER_GLOBAL_VARIABLE
@@ -57,8 +67,10 @@ set global innodb_stats_on_metadata=2;
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_stats_on_metadata=-3;
select @@global.innodb_stats_on_metadata;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_stats_on_metadata';
select * from information_schema.session_variables where variable_name='innodb_stats_on_metadata';
+--enable_warnings
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_stats_on_metadata='AUTO';
diff --git a/mysql-test/suite/sys_vars/t/innodb_stats_persistent_basic.test b/mysql-test/suite/sys_vars/t/innodb_stats_persistent_basic.test
index 4277b58de00..c5f977321b7 100644
--- a/mysql-test/suite/sys_vars/t/innodb_stats_persistent_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_stats_persistent_basic.test
@@ -28,4 +28,4 @@ SET GLOBAL innodb_stats_persistent=123;
SET GLOBAL innodb_stats_persistent='foo';
# restore the environment
-SET GLOBAL innodb_stats_persistent=off;
+SET GLOBAL innodb_stats_persistent=OFF; \ No newline at end of file
diff --git a/mysql-test/suite/sys_vars/t/innodb_stats_persistent_sample_pages_basic.test b/mysql-test/suite/sys_vars/t/innodb_stats_persistent_sample_pages_basic.test
index cf223c02090..5fc62f0a571 100644
--- a/mysql-test/suite/sys_vars/t/innodb_stats_persistent_sample_pages_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_stats_persistent_sample_pages_basic.test
@@ -18,23 +18,45 @@ SELECT @@global.innodb_stats_persistent_sample_pages;
SELECT @@session.innodb_stats_persistent_sample_pages;
SHOW global variables LIKE 'innodb_stats_persistent_sample_pages';
SHOW session variables LIKE 'innodb_stats_persistent_sample_pages';
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_stats_persistent_sample_pages';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_stats_persistent_sample_pages';
+--enable_warnings
#
# SHOW that it's writable
#
SET global innodb_stats_persistent_sample_pages=10;
SELECT @@global.innodb_stats_persistent_sample_pages;
-SELECT * FROM information_schema.global_variables
+--disable_warnings
+SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_stats_persistent_sample_pages';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_stats_persistent_sample_pages';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
SET session innodb_stats_persistent_sample_pages=1;
+#
+# show the default value
+#
+set global innodb_stats_persistent_sample_pages=DEFAULT;
+select @@global.innodb_stats_persistent_sample_pages;
+
+#
+# valid values
+#
+SET global innodb_stats_persistent_sample_pages=0;
+SELECT @@global.innodb_stats_persistent_sample_pages;
+
+SET global innodb_stats_persistent_sample_pages=10;
+SELECT @@global.innodb_stats_persistent_sample_pages;
+
+
+
+
#
# incorrect types
#
@@ -44,11 +66,19 @@ SET global innodb_stats_persistent_sample_pages=1.1;
SET global innodb_stats_persistent_sample_pages=1e1;
--error ER_WRONG_TYPE_FOR_VAR
SET global innodb_stats_persistent_sample_pages="foo";
-
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_stats_persistent_sample_pages=' ';
+SELECT @@global.innodb_stats_persistent_sample_pages;
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_stats_persistent_sample_pages=" ";
+SELECT @@global.innodb_stats_persistent_sample_pages;
SET global innodb_stats_persistent_sample_pages=-7;
SELECT @@global.innodb_stats_persistent_sample_pages;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_stats_persistent_sample_pages';
+--enable_warnings
+
#
# cleanup
diff --git a/mysql-test/suite/sys_vars/t/innodb_stats_sample_pages_basic.test b/mysql-test/suite/sys_vars/t/innodb_stats_sample_pages_basic.test
index 2c91f11405d..0e4fcb508ac 100644
--- a/mysql-test/suite/sys_vars/t/innodb_stats_sample_pages_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_stats_sample_pages_basic.test
@@ -18,32 +18,52 @@ select @@global.innodb_stats_sample_pages;
select @@session.innodb_stats_sample_pages;
show global variables like 'innodb_stats_sample_pages';
show session variables like 'innodb_stats_sample_pages';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_stats_sample_pages';
select * from information_schema.session_variables where variable_name='innodb_stats_sample_pages';
+--enable_warnings
#
# show that it's writable
#
set global innodb_stats_sample_pages=10;
select @@global.innodb_stats_sample_pages;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_stats_sample_pages';
select * from information_schema.session_variables where variable_name='innodb_stats_sample_pages';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_stats_sample_pages=1;
+#
+# show the default value
#
-# incorrect types
+set global innodb_stats_sample_pages=DEFAULT;
+select @@global.innodb_stats_sample_pages;
+
+
#
+# invalid values
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_stats_sample_pages = 1.1;
--error ER_WRONG_TYPE_FOR_VAR
-set global innodb_stats_sample_pages=1.1;
+set global innodb_stats_sample_pages = 1e1;
--error ER_WRONG_TYPE_FOR_VAR
-set global innodb_stats_sample_pages=1e1;
+set global innodb_stats_sample_pages = "foo";
--error ER_WRONG_TYPE_FOR_VAR
-set global innodb_stats_sample_pages="foo";
+set global innodb_stats_sample_pages=' ';
+select @@global.innodb_stats_sample_pages;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_stats_sample_pages=" ";
+select @@global.innodb_stats_sample_pages;
set global innodb_stats_sample_pages=-7;
select @@global.innodb_stats_sample_pages;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_stats_sample_pages';
+--enable_warnings
+
#
# cleanup
diff --git a/mysql-test/suite/sys_vars/t/innodb_stats_transient_sample_pages_basic.test b/mysql-test/suite/sys_vars/t/innodb_stats_transient_sample_pages_basic.test
index ff3a50efa1f..897d3de42e0 100644
--- a/mysql-test/suite/sys_vars/t/innodb_stats_transient_sample_pages_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_stats_transient_sample_pages_basic.test
@@ -18,20 +18,30 @@ SELECT @@global.innodb_stats_transient_sample_pages;
SELECT @@session.innodb_stats_transient_sample_pages;
SHOW global variables LIKE 'innodb_stats_transient_sample_pages';
SHOW session variables LIKE 'innodb_stats_transient_sample_pages';
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_stats_transient_sample_pages';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_stats_transient_sample_pages';
+--enable_warnings
+
+#
+# show the default value
+#
+set global innodb_stats_transient_sample_pages=DEFAULT;
+select @@global.innodb_stats_transient_sample_pages;
#
# SHOW that it's writable
#
SET global innodb_stats_transient_sample_pages=10;
SELECT @@global.innodb_stats_transient_sample_pages;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_stats_transient_sample_pages';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_stats_transient_sample_pages';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
SET session innodb_stats_transient_sample_pages=1;
@@ -44,11 +54,15 @@ SET global innodb_stats_transient_sample_pages=1.1;
SET global innodb_stats_transient_sample_pages=1e1;
--error ER_WRONG_TYPE_FOR_VAR
SET global innodb_stats_transient_sample_pages="foo";
+--error ER_WRONG_TYPE_FOR_VAR
+SET global innodb_stats_transient_sample_pages=' ';
SET global innodb_stats_transient_sample_pages=-7;
SELECT @@global.innodb_stats_transient_sample_pages;
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_stats_transient_sample_pages';
+--enable_warnings
#
# cleanup
diff --git a/mysql-test/suite/sys_vars/t/innodb_status_output_basic.test b/mysql-test/suite/sys_vars/t/innodb_status_output_basic.test
index 4459632134d..8e33b364c4e 100644
--- a/mysql-test/suite/sys_vars/t/innodb_status_output_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_status_output_basic.test
@@ -13,28 +13,38 @@ select @@global.innodb_status_output;
select @@session.innodb_status_output;
show global variables like 'innodb_status_output';
show session variables like 'innodb_status_output';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_status_output';
select * from information_schema.session_variables where variable_name='innodb_status_output';
+--enable_warnings
#
# show that it's writable
#
set global innodb_status_output='OFF';
select @@global.innodb_status_output;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_status_output';
select * from information_schema.session_variables where variable_name='innodb_status_output';
+--enable_warnings
set @@global.innodb_status_output=1;
select @@global.innodb_status_output;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_status_output';
select * from information_schema.session_variables where variable_name='innodb_status_output';
+--enable_warnings
set global innodb_status_output=0;
select @@global.innodb_status_output;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_status_output';
select * from information_schema.session_variables where variable_name='innodb_status_output';
+--enable_warnings
set @@global.innodb_status_output='ON';
select @@global.innodb_status_output;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_status_output';
select * from information_schema.session_variables where variable_name='innodb_status_output';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_status_output='OFF';
--error ER_GLOBAL_VARIABLE
@@ -52,12 +62,16 @@ set global innodb_status_output=2;
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_status_output=-3;
select @@global.innodb_status_output;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_status_output';
select * from information_schema.session_variables where variable_name='innodb_status_output';
+--enable_warnings
set global innodb_status_output=DEFAULT;
select @@global.innodb_status_output;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_status_output';
select * from information_schema.session_variables where variable_name='innodb_status_output';
+--enable_warnings
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_status_output='AUTO';
diff --git a/mysql-test/suite/sys_vars/t/innodb_status_output_locks_basic.test b/mysql-test/suite/sys_vars/t/innodb_status_output_locks_basic.test
index 92c82b2ddbf..9f510c2feaa 100644
--- a/mysql-test/suite/sys_vars/t/innodb_status_output_locks_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_status_output_locks_basic.test
@@ -13,28 +13,38 @@ select @@global.innodb_status_output_locks;
select @@session.innodb_status_output_locks;
show global variables like 'innodb_status_output_locks';
show session variables like 'innodb_status_output_locks';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+--enable_warnings
#
# show that it's writable
#
set global innodb_status_output_locks='OFF';
select @@global.innodb_status_output_locks;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+--enable_warnings
set @@global.innodb_status_output_locks=1;
select @@global.innodb_status_output_locks;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+--enable_warnings
set global innodb_status_output_locks=0;
select @@global.innodb_status_output_locks;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+--enable_warnings
set @@global.innodb_status_output_locks='ON';
select @@global.innodb_status_output_locks;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_status_output_locks='OFF';
--error ER_GLOBAL_VARIABLE
@@ -52,12 +62,16 @@ set global innodb_status_output_locks=2;
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_status_output_locks=-3;
select @@global.innodb_status_output_locks;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+--enable_warnings
set global innodb_status_output_locks=DEFAULT;
select @@global.innodb_status_output_locks;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+--enable_warnings
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_status_output_locks='AUTO';
diff --git a/mysql-test/suite/sys_vars/t/innodb_strict_mode_basic.test b/mysql-test/suite/sys_vars/t/innodb_strict_mode_basic.test
index 10f8d1ce4e7..243985f95de 100644
--- a/mysql-test/suite/sys_vars/t/innodb_strict_mode_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_strict_mode_basic.test
@@ -18,8 +18,10 @@ select @@session.innodb_strict_mode in (0, 1);
select @@session.innodb_strict_mode;
show global variables like 'innodb_strict_mode';
show session variables like 'innodb_strict_mode';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_strict_mode';
select * from information_schema.session_variables where variable_name='innodb_strict_mode';
+--enable_warnings
#
# show that it's writable
@@ -28,26 +30,34 @@ set global innodb_strict_mode='OFF';
set session innodb_strict_mode='OFF';
select @@global.innodb_strict_mode;
select @@session.innodb_strict_mode;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_strict_mode';
select * from information_schema.session_variables where variable_name='innodb_strict_mode';
+--enable_warnings
set @@global.innodb_strict_mode=1;
set @@session.innodb_strict_mode=1;
select @@global.innodb_strict_mode;
select @@session.innodb_strict_mode;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_strict_mode';
select * from information_schema.session_variables where variable_name='innodb_strict_mode';
+--enable_warnings
set global innodb_strict_mode=0;
set session innodb_strict_mode=0;
select @@global.innodb_strict_mode;
select @@session.innodb_strict_mode;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_strict_mode';
select * from information_schema.session_variables where variable_name='innodb_strict_mode';
+--enable_warnings
set @@global.innodb_strict_mode='ON';
set @@session.innodb_strict_mode='ON';
select @@global.innodb_strict_mode;
select @@session.innodb_strict_mode;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_strict_mode';
select * from information_schema.session_variables where variable_name='innodb_strict_mode';
+--enable_warnings
#
# incorrect types
@@ -74,8 +84,10 @@ set global innodb_strict_mode=-3;
set session innodb_strict_mode=-7;
select @@global.innodb_strict_mode;
select @@session.innodb_strict_mode;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_strict_mode';
select * from information_schema.session_variables where variable_name='innodb_strict_mode';
+--enable_warnings
#
# Cleanup
diff --git a/mysql-test/suite/sys_vars/t/innodb_support_xa_basic.test b/mysql-test/suite/sys_vars/t/innodb_support_xa_basic.test
index 988b8f01b93..6668d486090 100644
--- a/mysql-test/suite/sys_vars/t/innodb_support_xa_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_support_xa_basic.test
@@ -127,7 +127,7 @@ SET @@session.innodb_support_xa = ÓFF;
# for global
---error ER_WRONG_VALUE_FOR_VAR
+--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.innodb_support_xa = -1;
SELECT @@global.innodb_support_xa;
@@ -166,12 +166,16 @@ SELECT @@session.innodb_support_xa AS res_is_1;
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT IF(@@global.innodb_support_xa, "ON", "OFF") =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_support_xa';
+--enable_warnings
SELECT @@global.innodb_support_xa;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_support_xa';
+--enable_warnings
--echo '#----------------------FN_DYNVARS_046_07------------------------#'
@@ -179,12 +183,16 @@ SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
# Check if the value in SESSION Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT IF(@@session.innodb_support_xa, "ON", "OFF") =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='innodb_support_xa';
+--enable_warnings
SELECT @@session.innodb_support_xa;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='innodb_support_xa';
+--enable_warnings
--echo '#---------------------FN_DYNVARS_046_08-------------------------#'
diff --git a/mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test
index 53011acb576..39ff69affea 100644
--- a/mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test
@@ -2,11 +2,6 @@
--source include/have_innodb.inc
-if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
-{
- --skip Not fixed in InnoDB 5.6.10 or earlier
-}
-
# Exists as global only
#
--echo Valid values are between 0 and 1024
@@ -14,12 +9,15 @@ SELECT @@global.innodb_sync_array_size between 0 and 1024;
SELECT @@global.innodb_sync_array_size;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.innodb_sync_array_size;
+
SHOW GLOBAL variables LIKE 'innodb_sync_array_size';
SHOW SESSION variables LIKE 'innodb_sync_array_size';
+--disable_warnings
SELECT * FROM information_schema.global_variables
WHERE variable_name='innodb_sync_array_size';
SELECT * FROM information_schema.session_variables
WHERE variable_name='innodb_sync_array_size';
+--enable_warnings
#
# Show that it's read-only
diff --git a/mysql-test/suite/sys_vars/t/innodb_sync_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_sync_debug_basic.test
new file mode 100644
index 00000000000..665482e6963
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_sync_debug_basic.test
@@ -0,0 +1,16 @@
+--echo #
+--echo # Basic test for innodb_sync_debug
+--echo #
+
+--source include/have_innodb.inc
+
+# The config variable is a debug read-only variable
+-- source include/have_debug.inc
+
+SELECT @@global.innodb_sync_debug;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_sync_debug = 1;
+
+SELECT @@global.innodb_sync_debug;
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_sync_spin_loops_basic.test b/mysql-test/suite/sys_vars/t/innodb_sync_spin_loops_basic.test
index 35460fe47f2..138e877dd42 100644
--- a/mysql-test/suite/sys_vars/t/innodb_sync_spin_loops_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_sync_spin_loops_basic.test
@@ -70,13 +70,35 @@ SELECT @@global.innodb_sync_spin_loops;
SET @@global.innodb_sync_spin_loops = 0;
SELECT @@global.innodb_sync_spin_loops;
-SET @@global.innodb_sync_spin_loops = 1;
+SET @@global.innodb_sync_spin_loops = 65535;
SELECT @@global.innodb_sync_spin_loops;
-SET @@global.innodb_sync_spin_loops = 1000;
+
+SET @@global.innodb_sync_spin_loops = 4294967295;
SELECT @@global.innodb_sync_spin_loops;
--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
###########################################################################
+# Check the value of innodb_sync_spin_loops for out of bounds #
+###########################################################################
+
+# With a 64 bit mysqld:18446744073709551615,with a 32 bit mysqld: 4294967295
+--disable_warnings
+SET @@global.innodb_sync_spin_loops = 4294967296;
+--enable_warnings
+SELECT @@global.innodb_sync_spin_loops IN (4294967296,4294967295);
+
+--disable_warnings
+SET @@global.innodb_sync_spin_loops = 12345678901;
+--enable_warnings
+SELECT @@global.innodb_sync_spin_loops IN (12345678901,4294967295);
+
+--disable_warnings
+SET @@global.innodb_sync_spin_loops = 18446744073709551615;
+--enable_warnings
+SELECT @@global.innodb_sync_spin_loops IN (18446744073709551615,4294967295);
+
+--echo '#--------------------FN_DYNVARS_046_05-------------------------#'
+###########################################################################
# Change the value of innodb_sync_spin_loops to invalid value #
###########################################################################
@@ -91,22 +113,38 @@ SELECT @@global.innodb_sync_spin_loops;
SET @@global.innodb_sync_spin_loops = "Y";
SELECT @@global.innodb_sync_spin_loops;
-SET @@global.innodb_sync_spin_loops = 1001;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_sync_spin_loops = 65535.01;
+SELECT @@global.innodb_sync_spin_loops;
+
+SET @@global.innodb_sync_spin_loops = -1024;
+SELECT @@global.innodb_sync_spin_loops;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_sync_spin_loops = " ";
+SELECT @@global.innodb_sync_spin_loops;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_sync_spin_loops = ' ';
SELECT @@global.innodb_sync_spin_loops;
---echo '#----------------------FN_DYNVARS_046_05------------------------#'
+--echo '#----------------------FN_DYNVARS_046_06------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_sync_spin_loops =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_sync_spin_loops';
+--enable_warnings
SELECT @@global.innodb_sync_spin_loops;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_sync_spin_loops';
+--enable_warnings
---echo '#---------------------FN_DYNVARS_046_06-------------------------#'
+--echo '#---------------------FN_DYNVARS_046_07-------------------------#'
###################################################################
# Check if ON and OFF values can be used on variable #
###################################################################
@@ -119,7 +157,7 @@ SELECT @@global.innodb_sync_spin_loops;
SET @@global.innodb_sync_spin_loops = ON;
SELECT @@global.innodb_sync_spin_loops;
---echo '#---------------------FN_DYNVARS_046_07----------------------#'
+--echo '#---------------------FN_DYNVARS_046_08----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_table_locks_basic.test b/mysql-test/suite/sys_vars/t/innodb_table_locks_basic.test
index e7503bd334d..e3e4bda345e 100644
--- a/mysql-test/suite/sys_vars/t/innodb_table_locks_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_table_locks_basic.test
@@ -106,7 +106,7 @@ SELECT @@global.innodb_table_locks;
# for session
---error ER_WRONG_VALUE_FOR_VAR
+--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.innodb_table_locks = -6;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.innodb_table_locks = 1.6;
@@ -128,7 +128,7 @@ SET @@session.innodb_table_locks = ÓFF;
# for global
---error ER_WRONG_VALUE_FOR_VAR
+--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.innodb_table_locks = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.innodb_table_locks = 2;
@@ -165,24 +165,32 @@ SELECT @@session.innodb_table_locks AS res_is_1;
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT IF(@@global.innodb_table_locks, "ON", "OFF") =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_table_locks';
+--enable_warnings
SELECT @@global.innodb_table_locks;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_table_locks';
+--enable_warnings
--echo '#----------------------FN_DYNVARS_046_07------------------------#'
#########################################################################
# Check if the value in SESSION Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT IF(@@session.innodb_table_locks, "ON", "OFF") =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='innodb_table_locks';
+--enable_warnings
SELECT @@session.innodb_table_locks;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='innodb_table_locks';
+--enable_warnings
--echo '#---------------------FN_DYNVARS_046_08-------------------------#'
diff --git a/mysql-test/suite/sys_vars/t/innodb_table_locks_func.test b/mysql-test/suite/sys_vars/t/innodb_table_locks_func.test
index d69cacd1377..330addd6b3b 100644
--- a/mysql-test/suite/sys_vars/t/innodb_table_locks_func.test
+++ b/mysql-test/suite/sys_vars/t/innodb_table_locks_func.test
@@ -31,7 +31,9 @@ SET @start_value= @@global.innodb_table_locks;
SELECT @start_value;
SET @@global.innodb_table_locks = OFF;
+--echo 'connect (con1,localhost,root,,,,)'
connect (con1,localhost,root,,,,);
+--echo 'connection con1'
connection con1;
SELECT @@global.innodb_table_locks;
SELECT @@session.innodb_table_locks;
@@ -46,8 +48,10 @@ disconnect con1;
#==============================================================================
--echo '----check when innodb_table_locks = ON and autocommit = OFF---'
#==============================================================================
+--echo 'connect (con2,localhost,root,,,,)'
connect (con2,localhost,root,,,,);
+--echo 'connection default'
connection default;
--disable_warnings
@@ -62,14 +66,17 @@ BEGIN;
INSERT INTO t1 VALUES(1);
SELECT * FROM t1 FOR UPDATE;
+--echo 'CONNECTION con2'
CONNECTION con2;
SET @@innodb_table_locks = ON;
SET @@autocommit = OFF;
send LOCK TABLES t1 WRITE;
+--echo 'CONNECTION default'
CONNECTION default;
COMMIT;
+--echo 'CONNECTION con2'
CONNECTION con2;
reap;
UNLOCK tables;
diff --git a/mysql-test/suite/sys_vars/t/innodb_additional_mem_pool_size_basic.test b/mysql-test/suite/sys_vars/t/innodb_temp_data_file_path_basic.test
index ffb1046ed32..607ee9b27e2 100644
--- a/mysql-test/suite/sys_vars/t/innodb_additional_mem_pool_size_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_temp_data_file_path_basic.test
@@ -1,18 +1,18 @@
-################## mysql-test\t\innodb_additional_mem_pool_size_basic.test ####
+################ mysql-test\t\innodb_temp_data_file_path_basic.test ############
# #
-# Variable Name: innodb_additional_mem_pool_size #
+# Variable Name: innodb_temp_data_file_path #
# Scope: Global #
# Access Type: Static #
-# Data Type: numeric #
+# Data Type: filename #
# #
# #
-# Creation Date: 2008-02-07 #
-# Author : Sharique Abdullah #
+# Creation Date: 2012-12-27 #
+# Author : Krunal Bauskar #
# #
# #
-# Description:Test Cases of Dynamic System Variable innodb_additional_mem_pool_size#
+# Description:Test Cases of Dynamic System Variable innodb_temp_data_file_path#
# that checks the behavior of this variable in the following ways #
# * Value Check #
# * Scope Check #
@@ -24,79 +24,83 @@
--source include/have_innodb.inc
---echo '#---------------------BS_STVARS_020_01----------------------#'
+--echo '#---------------------BS_STVARS_024_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
-SELECT COUNT(@@GLOBAL.innodb_additional_mem_pool_size);
+SELECT COUNT(@@GLOBAL.innodb_temp_data_file_path);
--echo 1 Expected
---echo '#---------------------BS_STVARS_020_02----------------------#'
+--echo '#---------------------BS_STVARS_024_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SET @@GLOBAL.innodb_additional_mem_pool_size=1;
+SET @@GLOBAL.innodb_temp_data_file_path=1;
--echo Expected error 'Read only variable'
-SELECT COUNT(@@GLOBAL.innodb_additional_mem_pool_size);
+SELECT COUNT(@@GLOBAL.innodb_temp_data_file_path);
--echo 1 Expected
---echo '#---------------------BS_STVARS_020_03----------------------#'
+--echo '#---------------------BS_STVARS_024_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
-SELECT @@GLOBAL.innodb_additional_mem_pool_size = VARIABLE_VALUE
+--disable_warnings
+SELECT @@GLOBAL.innodb_temp_data_file_path = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_additional_mem_pool_size';
+WHERE VARIABLE_NAME='innodb_temp_data_file_path';
+--enable_warnings
--echo 1 Expected
-SELECT COUNT(@@GLOBAL.innodb_additional_mem_pool_size);
+SELECT COUNT(@@GLOBAL.innodb_temp_data_file_path);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_additional_mem_pool_size';
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_temp_data_file_path';
+--enable_warnings
--echo 1 Expected
---echo '#---------------------BS_STVARS_020_04----------------------#'
+--echo '#---------------------BS_STVARS_024_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
-SELECT @@innodb_additional_mem_pool_size = @@GLOBAL.innodb_additional_mem_pool_size;
+SELECT @@innodb_temp_data_file_path = @@GLOBAL.innodb_temp_data_file_path;
--echo 1 Expected
---echo '#---------------------BS_STVARS_020_05----------------------#'
+--echo '#---------------------BS_STVARS_024_05----------------------#'
################################################################################
-# Check if innodb_additional_mem_pool_size can be accessed with and without @@ sign #
+#Check if innodb_temp_data_file_path can be accessed with and without @@ sign #
################################################################################
-SELECT COUNT(@@innodb_additional_mem_pool_size);
+SELECT COUNT(@@innodb_temp_data_file_path);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@local.innodb_additional_mem_pool_size);
+SELECT COUNT(@@local.innodb_temp_data_file_path);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@SESSION.innodb_additional_mem_pool_size);
+SELECT COUNT(@@SESSION.innodb_temp_data_file_path);
--echo Expected error 'Variable is a GLOBAL variable'
-SELECT COUNT(@@GLOBAL.innodb_additional_mem_pool_size);
+SELECT COUNT(@@GLOBAL.innodb_temp_data_file_path);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
-SELECT innodb_additional_mem_pool_size = @@SESSION.innodb_additional_mem_pool_size;
+SELECT innodb_temp_data_file_path = @@SESSION.innodb_temp_data_file_path;
--echo Expected error 'Readonly variable'
diff --git a/mysql-test/suite/sys_vars/t/innodb_thread_concurrency_basic.test b/mysql-test/suite/sys_vars/t/innodb_thread_concurrency_basic.test
index d30ec214f4a..0be32543d26 100644
--- a/mysql-test/suite/sys_vars/t/innodb_thread_concurrency_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_thread_concurrency_basic.test
@@ -99,22 +99,35 @@ SELECT @@global.innodb_thread_concurrency;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_thread_concurrency = "Y";
SELECT @@global.innodb_thread_concurrency;
-
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_thread_concurrency = ' ';
+SELECT @@global.innodb_thread_concurrency;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_thread_concurrency = " ";
+SELECT @@global.innodb_thread_concurrency;
SET @@global.innodb_thread_concurrency = 1001;
SELECT @@global.innodb_thread_concurrency;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.innodb_thread_concurrency = 255.01;
+SELECT @@global.innodb_thread_concurrency;
+
--echo '#----------------------FN_DYNVARS_046_05------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
+--disable_warnings
SELECT @@global.innodb_thread_concurrency =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_thread_concurrency';
+--enable_warnings
SELECT @@global.innodb_thread_concurrency;
+--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_thread_concurrency';
+--enable_warnings
--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
###################################################################
diff --git a/mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test
index d7207515fe1..04f406a311d 100644
--- a/mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test
@@ -13,20 +13,26 @@ select @@global.innodb_trx_purge_view_update_only_debug;
select @@session.innodb_trx_purge_view_update_only_debug;
show global variables like 'innodb_trx_purge_view_update_only_debug';
show session variables like 'innodb_trx_purge_view_update_only_debug';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+--enable_warnings
#
# show that it's writable
#
set global innodb_trx_purge_view_update_only_debug=1;
select @@global.innodb_trx_purge_view_update_only_debug;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+--enable_warnings
set @@global.innodb_trx_purge_view_update_only_debug=0;
select @@global.innodb_trx_purge_view_update_only_debug;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_trx_purge_view_update_only_debug='some';
--error ER_GLOBAL_VARIABLE
diff --git a/mysql-test/suite/sys_vars/t/innodb_trx_rseg_n_slots_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_trx_rseg_n_slots_debug_basic.test
index d17917de8e9..858e1b63908 100644
--- a/mysql-test/suite/sys_vars/t/innodb_trx_rseg_n_slots_debug_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_trx_rseg_n_slots_debug_basic.test
@@ -13,20 +13,26 @@ select @@global.innodb_trx_rseg_n_slots_debug;
select @@session.innodb_trx_rseg_n_slots_debug;
show global variables like 'innodb_trx_rseg_n_slots_debug';
show session variables like 'innodb_trx_rseg_n_slots_debug';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_trx_rseg_n_slots_debug';
select * from information_schema.session_variables where variable_name='innodb_trx_rseg_n_slots_debug';
+--enable_warnings
#
# show that it's writable
#
set global innodb_trx_rseg_n_slots_debug=1;
select @@global.innodb_trx_rseg_n_slots_debug;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_trx_rseg_n_slots_debug';
select * from information_schema.session_variables where variable_name='innodb_trx_rseg_n_slots_debug';
+--enable_warnings
set @@global.innodb_trx_rseg_n_slots_debug=0;
select @@global.innodb_trx_rseg_n_slots_debug;
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_trx_rseg_n_slots_debug';
select * from information_schema.session_variables where variable_name='innodb_trx_rseg_n_slots_debug';
+--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_trx_rseg_n_slots_debug='some';
--error ER_GLOBAL_VARIABLE
diff --git a/mysql-test/suite/sys_vars/t/innodb_undo_directory_basic.test b/mysql-test/suite/sys_vars/t/innodb_undo_directory_basic.test
index 583dbe6aa03..0df071c2029 100644
--- a/mysql-test/suite/sys_vars/t/innodb_undo_directory_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_undo_directory_basic.test
@@ -21,8 +21,8 @@
####################################################################
# Display the default value #
####################################################################
-SELECT @@GLOBAL.innodb_undo_directory;
---echo . Expected
+SELECT COUNT(@@GLOBAL.innodb_undo_directory);
+--echo 1 Expected
####################################################################
@@ -41,17 +41,21 @@ SELECT COUNT(@@GLOBAL.innodb_undo_directory);
# Check if the value in GLOBAL table matches value in variable #
################################################################################
-SELECT VARIABLE_VALUE
+--disable_warnings
+SELECT @@GLOBAL.innodb_undo_directory = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_undo_directory';
---echo . Expected
+--enable_warnings
+--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_undo_directory);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_undo_directory';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_undo_log_truncate_basic.test b/mysql-test/suite/sys_vars/t/innodb_undo_log_truncate_basic.test
new file mode 100644
index 00000000000..b60f9be22fa
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_undo_log_truncate_basic.test
@@ -0,0 +1,113 @@
+
+
+############### mysql-test\t\innodb_undo_log_truncate_basic.test ##############
+# #
+# Variable Name: innodb_undo_log_truncate #
+# Scope: Global #
+# Access Type: Dynamic #
+# Data Type: boolean #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author : Sharique Abdullah #
+# #
+# #
+# Description:Test Cases of Dynamic System Variable innodb_undo_log_truncate #
+# that checks the behavior of this variable in the following ways #
+# * Value Check #
+# * Scope Check #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_undo_log_truncate;
+SELECT @start_global_value;
+
+
+--echo '#---------------------BS_STVARS_028_01----------------------#'
+####################################################################
+# Displaying default value #
+####################################################################
+SELECT COUNT(@@GLOBAL.innodb_undo_log_truncate);
+--echo 1 Expected
+
+
+--echo '#---------------------BS_STVARS_028_02----------------------#'
+####################################################################
+# Check if Value can set #
+####################################################################
+
+SET @@global.innodb_undo_log_truncate = 0;
+SELECT @@global.innodb_undo_log_truncate;
+
+SET @@global.innodb_undo_log_truncate ='On' ;
+SELECT @@global.innodb_undo_log_truncate;
+
+SET @@global.innodb_undo_log_truncate ='Off' ;
+SELECT @@global.innodb_undo_log_truncate;
+
+SET @@global.innodb_undo_log_truncate = 1;
+SELECT @@global.innodb_undo_log_truncate;
+
+--echo '#---------------------BS_STVARS_028_03----------------------#'
+#################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#################################################################
+
+--disable_warnings
+SELECT IF(@@GLOBAL.innodb_undo_log_truncate,'ON','OFF') = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_undo_log_truncate';
+--echo 1 Expected
+
+SELECT COUNT(@@GLOBAL.innodb_undo_log_truncate);
+--echo 1 Expected
+
+SELECT COUNT(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='innodb_undo_log_truncate';
+--echo 1 Expected
+--enable_warnings
+
+
+--echo '#---------------------BS_STVARS_028_04----------------------#'
+################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+################################################################################
+SELECT @@innodb_undo_log_truncate = @@GLOBAL.innodb_undo_log_truncate;
+--echo 1 Expected
+
+
+
+--echo '#---------------------BS_STVARS_028_05----------------------#'
+################################################################################
+# Check if innodb_undo_log_truncate can be accessed with and without @@ sign #
+################################################################################
+
+SELECT COUNT(@@innodb_undo_log_truncate);
+--echo 1 Expected
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@local.innodb_undo_log_truncate);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT COUNT(@@SESSION.innodb_undo_log_truncate);
+--echo Expected error 'Variable is a GLOBAL variable'
+
+SELECT COUNT(@@GLOBAL.innodb_undo_log_truncate);
+--echo 1 Expected
+
+--Error ER_BAD_FIELD_ERROR
+SELECT innodb_undo_log_truncate = @@SESSION.innodb_undo_log_truncate;
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_undo_log_truncate = @start_global_value;
+SELECT @@global.innodb_undo_log_truncate;
diff --git a/mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.test b/mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.test
index 77b6af6909c..f83b5ede247 100644
--- a/mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.test
@@ -39,9 +39,11 @@ SELECT COUNT(@@GLOBAL.innodb_undo_logs);
# Check if the value in GLOBAL table matches value in variable #
################################################################################
+--disable_warnings
SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_undo_logs';
+--enable_warnings
--echo 128 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_undo_tablespaces_basic.test b/mysql-test/suite/sys_vars/t/innodb_undo_tablespaces_basic.test
index 53396249e03..e1744b09038 100644
--- a/mysql-test/suite/sys_vars/t/innodb_undo_tablespaces_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_undo_tablespaces_basic.test
@@ -18,11 +18,8 @@
--source include/have_innodb.inc
-####################################################################
-# Display default value #
-####################################################################
-SELECT @@GLOBAL.innodb_undo_tablespaces;
---echo 0 Expected
+SELECT @@GLOBAL.innodb_undo_tablespaces >= 0;
+let $undo_tablespaces=`SELECT @@GLOBAL.innodb_undo_tablespaces`;
####################################################################
@@ -41,9 +38,13 @@ SELECT COUNT(@@GLOBAL.innodb_undo_tablespaces);
# Check if the value in GLOBAL table matches value in variable #
################################################################################
-SELECT VARIABLE_VALUE
+--disable_warnings
+--disable_query_log
+eval SELECT VARIABLE_VALUE-$undo_tablespaces DIFFERENCE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_undo_tablespaces';
+--enable_query_log
+--enable_warnings
--echo 0 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_use_native_aio_basic.test b/mysql-test/suite/sys_vars/t/innodb_use_native_aio_basic.test
index 37879530d75..524b5a7b161 100644
--- a/mysql-test/suite/sys_vars/t/innodb_use_native_aio_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_use_native_aio_basic.test
@@ -52,17 +52,21 @@ SELECT COUNT(@@GLOBAL.innodb_use_native_aio);
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
+--disable_warnings
SELECT IF(@@GLOBAL.innodb_use_native_aio, 'ON', 'OFF') = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_use_native_aio';
+--enable_warnings
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_use_native_aio);
--echo 1 Expected
+--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_use_native_aio';
+--enable_warnings
--echo 1 Expected
diff --git a/mysql-test/suite/sys_vars/t/innodb_use_sys_malloc_basic.test b/mysql-test/suite/sys_vars/t/innodb_use_sys_malloc_basic.test
deleted file mode 100644
index 699773f4a62..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_use_sys_malloc_basic.test
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#
-# 2010-01-27 OBN - Added
-#
-
---source include/have_innodb.inc
-
-# when running with valgring, mtr uses --innodb-use-sys-malloc=0,
-# while below we want to see the default value.
---source include/not_valgrind.inc
-
-#
-# show the global and session values;
-#
---echo Valid values are 'ON' and 'OFF'
-select @@global.innodb_use_sys_malloc;
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-select @@session.innodb_use_sys_malloc;
-show global variables like 'innodb_use_sys_malloc';
-show session variables like 'innodb_use_sys_malloc';
-select * from information_schema.global_variables where variable_name='innodb_use_sys_malloc';
-select * from information_schema.session_variables where variable_name='innodb_use_sys_malloc';
-
-#
-# show that it's read-only
-#
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-set global innodb_use_sys_malloc=1;
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-set session innodb_use_sys_malloc=1;
-
diff --git a/mysql-test/suite/sys_vars/t/innodb_version_basic.test b/mysql-test/suite/sys_vars/t/innodb_version_basic.test
index 6ee2adf6cf9..182841048f7 100644
--- a/mysql-test/suite/sys_vars/t/innodb_version_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_version_basic.test
@@ -15,8 +15,10 @@ select @@global.innodb_version;
select @@session.innodb_version;
--echo show global variables like 'innodb_version' disabled so to not change with every version;
--echo show session variables like 'innodb_version' disabled so to not change with every version;
+--disable_warnings
select VARIABLE_VALUE=@@global.innodb_version from information_schema.global_variables where variable_name='innodb_version';
select VARIABLE_VALUE=@@global.innodb_version from information_schema.session_variables where variable_name='innodb_version';
+--enable_warnings
#
# show that it's read-only
diff --git a/mysql-test/suite/sys_vars/t/innodb_write_io_threads_basic.test b/mysql-test/suite/sys_vars/t/innodb_write_io_threads_basic.test
index 8efa6576a66..d9556af37d1 100644
--- a/mysql-test/suite/sys_vars/t/innodb_write_io_threads_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_write_io_threads_basic.test
@@ -13,8 +13,10 @@ select @@global.innodb_write_io_threads;
select @@session.innodb_write_io_threads;
show global variables like 'innodb_write_io_threads';
show session variables like 'innodb_write_io_threads';
+--disable_warnings
select * from information_schema.global_variables where variable_name='innodb_write_io_threads';
select * from information_schema.session_variables where variable_name='innodb_write_io_threads';
+--enable_warnings
#
# show that it's read-only