mirror of
https://github.com/MariaDB/server.git
synced 2025-05-05 16:59:35 +03:00
Renamed the system variable optimizer_use_stat_tables to use_stat_tables. This variable now has only 3 possible values: 'never', 'complementary', 'preferably'. If the server has been launched with --use-stat-tables='complementary'|'preferably' then the statictics tables can be employed by the optimizer and by the ANALYZE command.
100 lines
3.6 KiB
Plaintext
100 lines
3.6 KiB
Plaintext
--source include/load_sysvars.inc
|
|
|
|
#############################################################
|
|
# Save initial value #
|
|
#############################################################
|
|
|
|
SET @start_global_value = @@global.use_stat_tables;
|
|
SELECT @start_global_value;
|
|
SET @start_session_value = @@session.use_stat_tables;
|
|
SELECT @start_session_value;
|
|
|
|
###############################################################
|
|
# Display the DEFAULT value of use_stat_tables #
|
|
###############################################################
|
|
|
|
SET @@global.use_stat_tables = 2;
|
|
SET @@global.use_stat_tables = DEFAULT;
|
|
SELECT @@global.use_stat_tables;
|
|
|
|
|
|
##################################################################################
|
|
# Change the value of use_stat_tables to a valid value for GLOBAL Scope #
|
|
##################################################################################
|
|
|
|
SET @@global.use_stat_tables = 0;
|
|
SELECT @@global.use_stat_tables;
|
|
SET @@global.use_stat_tables = 1;
|
|
SELECT @@global.use_stat_tables;
|
|
SET @@global.use_stat_tables = 2;
|
|
SELECT @@global.use_stat_tables;
|
|
|
|
SET @@global.use_stat_tables = NEVER;
|
|
SELECT @@global.use_stat_tables;
|
|
SET @@global.use_stat_tables = COMPLEMENTARY;
|
|
SELECT @@global.use_stat_tables;
|
|
SET @@global.use_stat_tables = PREFERABLY;
|
|
SELECT @@global.use_stat_tables;
|
|
|
|
####################################################################################
|
|
# Change the value of use_stat_tables to a valid value for SESSION Scope #
|
|
####################################################################################
|
|
|
|
SET @@session.use_stat_tables = 0;
|
|
SELECT @@session.use_stat_tables;
|
|
SET @@session.use_stat_tables = 1;
|
|
SELECT @@session.use_stat_tables;
|
|
SET @@session.use_stat_tables = 2;
|
|
SELECT @@session.use_stat_tables;
|
|
|
|
SET @@session.use_stat_tables = NEVER;
|
|
SELECT @@session.use_stat_tables;
|
|
SET @@session.use_stat_tables = PREFERABLY;
|
|
SELECT @@session.use_stat_tables;
|
|
SET @@session.use_stat_tables = COMPLEMENTARY;
|
|
SELECT @@session.use_stat_tables;
|
|
|
|
#####################################################################
|
|
# Change the value of use_stat_tables to an invalid value #
|
|
#####################################################################
|
|
set sql_mode=TRADITIONAL;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.use_stat_tables = 10;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.use_stat_tables = -1024;
|
|
--Error ER_WRONG_TYPE_FOR_VAR
|
|
SET @@global.use_stat_tables = 2.4;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.use_stat_tables = OFF;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@session.use_stat_tables = 10;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@session.use_stat_tables = -2;
|
|
--Error ER_WRONG_TYPE_FOR_VAR
|
|
SET @@session.use_stat_tables = 1.2;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@session.use_stat_tables = ON;
|
|
|
|
###############################################################################
|
|
# Check if the value in GLOBAL & SESSION Tables matches value in variable #
|
|
###############################################################################
|
|
|
|
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
|
WHERE VARIABLE_NAME='use_stat_tables';
|
|
|
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
|
WHERE VARIABLE_NAME='use_stat_tables';
|
|
|
|
####################################
|
|
# Restore initial value #
|
|
####################################
|
|
|
|
SET @@global.use_stat_tables = @start_global_value;
|
|
SELECT @@global.use_stat_tables;
|
|
SET @@session.use_stat_tables = @start_session_value;
|
|
SELECT @@session.use_stat_tables;
|
|
set sql_mode='';
|
|
|
|
######################################################
|
|
# END OF use_stat_tables TESTS #
|
|
###################################################### |