1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean

into  hh-nb.hungers:/work/merge/mysql-5.1-build


BitKeeper/etc/ignore:
  auto-union
This commit is contained in:
unknown
2008-04-10 18:32:37 +02:00
517 changed files with 71653 additions and 0 deletions

View File

@ -0,0 +1,190 @@
############## mysql-test\t\auto_commit_basic.test #############################
# #
# Variable Name: autocommit #
# Scope: SESSION #
# Access Type: Dynamic #
# Data Type: Boolean #
# Default Value: NA #
# Range: NA #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "autocommit" #
# that checks behavior of this variable in the following ways #
# * Default Value #
# * Valid & Invalid values #
# * Scope & Access method #
# * Data Integrity #
# #
# Reference: (Not Mentioned on website) #
# #
################################################################################
--source include/load_sysvars.inc
########################################################################
# START OF autocommit TESTS #
########################################################################
########################################################################
# Saving initial value of autocommit in a temporary variable #
########################################################################
SET @start_value = @@autocommit;
SELECT @start_value;
--echo '#--------------------FN_DYNVARS_003_01------------------------#'
########################################################################
# Display the DEFAULT value of autocommit #
########################################################################
SET @@autocommit = 0;
SET @@autocommit = DEFAULT;
SELECT @@autocommit;
echo 'Bug: variable DEFAULT value not working and is not throwing error';
--echo '#---------------------FN_DYNVARS_003_02-------------------------#'
###############################################
# Check default value of variable #
###############################################
SET @@autocommit = @start_value;
SELECT @@autocommit = 1;
--echo '#--------------------FN_DYNVARS_003_03------------------------#'
########################################################################
# Change the value of autocommit to a valid value #
########################################################################
SET @@autocommit = 0;
SELECT @@autocommit;
SET @@autocommit = 1;
SELECT @@autocommit;
--echo '#--------------------FN_DYNVARS_003_04-------------------------#'
###########################################################################
# Change the value of autocommit to invalid value #
###########################################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@autocommit = 2;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@autocommit = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@autocommit = TRUEF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@autocommit = TRUE_F;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@autocommit = FALSE0;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@autocommit = OON;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@autocommit = ONN;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@autocommit = OOFF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@autocommit = 0FF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@autocommit = ' ';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@autocommit = " ";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@autocommit = '';
--echo '#-------------------FN_DYNVARS_003_05----------------------------#'
###########################################################################
# Test if accessing global autocommit gives error #
###########################################################################
--Error ER_LOCAL_VARIABLE
SET @@global.autocommit = 0;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@global.autocommit;
--echo '#----------------------FN_DYNVARS_003_06------------------------#'
#########################################################################
# Check if the value in SESSION Table matches value in variable #
#########################################################################
SELECT @@session.autocommit = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='autocommit';
--echo Bug # 34839: Values in variable and information_schema do not match for autocommit
--echo '#----------------------FN_DYNVARS_003_07------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
SET @@autocommit = 1;
SELECT @@autocommit = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='autocommit';
--echo '#---------------------FN_DYNVARS_003_08-------------------------#'
###################################################################
# Check if ON and OFF values can be used on variable #
###################################################################
SET @@autocommit = OFF;
SELECT @@autocommit;
SET @@autocommit = ON;
SELECT @@autocommit;
--echo '#---------------------FN_DYNVARS_003_09----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@autocommit = TRUE;
SELECT @@autocommit;
SET @@autocommit = FALSE;
SELECT @@autocommit;
--echo '#---------------------FN_DYNVARS_003_10----------------------#'
##############################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points #
# to same session variable #
##############################################################################
SET @@autocommit = 0;
SELECT @@autocommit = @@local.autocommit;
SELECT @@local.autocommit = @@session.autocommit;
SET @@autocommit = 1;
SELECT @@autocommit = @@local.autocommit;
SELECT @@session.autocommit = @@autocommit;
--echo '#---------------------FN_DYNVARS_003_11----------------------#'
#####################################################################
# Check if autocommit can be accessed with and without @@ sign #
#####################################################################
SET autocommit = 1;
SELECT @@autocommit;
--Error ER_UNKNOWN_TABLE
SELECT local.autocommit;
--Error ER_UNKNOWN_TABLE
SELECT session.autocommit;
--Error ER_BAD_FIELD_ERROR
SELECT autocommit = @@session.autocommit;
##############################
# Restore initial value #
##############################
SET @@autocommit = @start_value;
SELECT @@autocommit;
########################################################################
# END OF autocommit TESTS #
########################################################################

View File

@ -0,0 +1,208 @@
############## mysql-test\t\auto_increment_increment_basic.test ################
# #
# Variable Name: auto_increment_increment #
# Scope: GLOBAL & SESSION #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 1 #
# Range: 1 - 65536 #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "auto_increment_increment"#
# that checks 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#option_mysqld_auto-increment-increment #
# #
################################################################################
--source include/load_sysvars.inc
########################################################################
# START OF auto_increment_increment TESTS #
########################################################################
#############################################################
# Save initial value #
#############################################################
SET @start_global_value = @@global.auto_increment_increment;
SELECT @start_global_value;
SET @start_session_value = @@session.auto_increment_increment;
SELECT @start_session_value;
--echo '#--------------------FN_DYNVARS_001_01-------------------------#'
########################################################################
# Display the DEFAULT value of auto_increment_increment #
########################################################################
SET @@global.auto_increment_increment = 100;
SET @@global.auto_increment_increment = DEFAULT;
SELECT @@global.auto_increment_increment;
SET @@session.auto_increment_increment = 200;
SET @@session.auto_increment_increment = DEFAULT;
SELECT @@session.auto_increment_increment;
--echo '#--------------------FN_DYNVARS_001_02-------------------------#'
########################################################################
# Check the DEFAULT value of auto_increment_increment #
########################################################################
SET @@global.auto_increment_increment = DEFAULT;
SELECT @@global.auto_increment_increment = 1;
SET @@session.auto_increment_increment = DEFAULT;
SELECT @@session.auto_increment_increment = 1;
--echo '#--------------------FN_DYNVARS_001_03-------------------------#'
##################################################################
# Change the value of variable to a valid value for GLOBAL Scope #
##################################################################
SET @@global.auto_increment_increment = 1;
SELECT @@global.auto_increment_increment;
SET @@global.auto_increment_increment = 60020;
SELECT @@global.auto_increment_increment;
SET @@global.auto_increment_increment = 65535;
SELECT @@global.auto_increment_increment;
--echo '#--------------------FN_DYNVARS_001_04-------------------------#'
###################################################################
# Change the value of variable to a valid value for SESSION Scope #
###################################################################
SET @@session.auto_increment_increment = 1;
SELECT @@session.auto_increment_increment;
SET @@session.auto_increment_increment = 50050;
SELECT @@session.auto_increment_increment;
SET @@session.auto_increment_increment = 65535;
SELECT @@session.auto_increment_increment;
--echo '#------------------FN_DYNVARS_001_05-----------------------#'
####################################################################
# Change the value of auto_increment_increment to an invalid value #
####################################################################
SET @@global.auto_increment_increment = 0;
SELECT @@global.auto_increment_increment;
SET @@global.auto_increment_increment = -1024;
SELECT @@global.auto_increment_increment;
SET @@global.auto_increment_increment = 65536;
SELECT @@global.auto_increment_increment;
--Error ER_PARSE_ERROR
SET @@global.auto_increment_increment = 65530.34.;
SELECT @@global.auto_increment_increment;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.auto_increment_increment = test;
SELECT @@global.auto_increment_increment;
SET @@session.auto_increment_increment = 0;
SELECT @@session.auto_increment_increment;
SET @@session.auto_increment_increment = -2;
SELECT @@session.auto_increment_increment;
--Error ER_PARSE_ERROR
SET @@session.auto_increment_increment = 65530.34.;
SET @@session.auto_increment_increment = 65550;
SELECT @@session.auto_increment_increment;
--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.auto_increment_increment = test;
SELECT @@session.auto_increment_increment;
--echo '#------------------FN_DYNVARS_001_06-----------------------#'
####################################################################
# Check if the value in GLOBAL Table matches value in variable #
####################################################################
SELECT @@global.auto_increment_increment = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='auto_increment_increment';
--echo '#------------------FN_DYNVARS_001_07-----------------------#'
####################################################################
# Check if the value in SESSION Table matches value in variable #
####################################################################
SELECT @@session.auto_increment_increment = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='auto_increment_increment';
--echo '#------------------FN_DYNVARS_001_08-----------------------#'
####################################################################
# Check if TRUE and FALSE values can be used on variable #
####################################################################
SET @@global.auto_increment_increment = TRUE;
SELECT @@global.auto_increment_increment;
SET @@global.auto_increment_increment = FALSE;
SELECT @@global.auto_increment_increment;
--echo '#---------------------FN_DYNVARS_001_09----------------------#'
###############################################################################
# Check if global and session variables are independant of each other #
###############################################################################
SET @@global.auto_increment_increment = 10;
SET @@session.auto_increment_increment = 11;
SELECT @@auto_increment_increment = @@global.auto_increment_increment;
--echo '#---------------------FN_DYNVARS_001_10----------------------#'
##############################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points #
# to same session variable #
##############################################################################
SET @@auto_increment_increment = 100;
SELECT @@auto_increment_increment = @@local.auto_increment_increment;
SELECT @@local.auto_increment_increment = @@session.auto_increment_increment;
--echo '#---------------------FN_DYNVARS_001_11----------------------#'
###############################################################################
# Check if auto_increment_increment can be accessed with and without @@ sign #
###############################################################################
SET auto_increment_increment = 1;
SELECT @@auto_increment_increment;
--Error ER_UNKNOWN_TABLE
SELECT local.auto_increment_increment;
--Error ER_UNKNOWN_TABLE
SELECT session.auto_increment_increment;
--Error ER_BAD_FIELD_ERROR
SELECT auto_increment_increment = @@session.auto_increment_increment;
####################################
# Restore initial value #
####################################
SET @@global.auto_increment_increment = @start_global_value;
SELECT @@global.auto_increment_increment;
SET @@session.auto_increment_increment = @start_session_value;
SELECT @@session.auto_increment_increment;
#############################################################
# END OF auto_increment_increment TESTS #
#############################################################

View File

@ -0,0 +1,202 @@
############## mysql-test\t\auto_increment_increment_func.test ################
# #
# Variable Name: auto_increment_increment #
# Scope: GLOBAL & SESSION #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 1 #
# Range: 1 - 65536 #
# #
# #
# Creation Date: 2008-03-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "auto_increment_increment"#
# that checks functionality of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html#option_mysqld_auto-increment-increment #
# #
################################################################################
# save vars
SET @global_auto_increment_increment = @@global.auto_increment_increment;
SET @session_auto_increment_increment = @@session.auto_increment_increment;
SET @global_auto_increment_offset = @@global.auto_increment_offset;
SET @session_auto_increment_offset = @@session.auto_increment_offset;
--disable_warnings
drop table if exists t1;
--enable_warnings
#########################
# Creating new table #
#########################
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30)
);
--echo '#--------------------FN_DYNVARS_001_01-------------------------#'
##########################################################
# Setting initial value of auto_increment_increment #
##########################################################
--echo ## Setting initial value of auto_increment_increment to 5 ##
SET @@auto_increment_increment = 5;
--echo '#--------------------FN_DYNVARS_001_02-------------------------#'
###########################################################################
# Inserting first value in table to check auto_increment_increment initial
# behavior
###########################################################################
--echo ## Inserting first record in table to check behavior of the variable ##
INSERT into t1(name) values('Record_1');
SELECT * from t1;
--echo ## Changing value of variable to 10 ##
SET @@global.auto_increment_increment = 10;
--echo ## Inserting record and verifying value of column id ##
INSERT into t1(name) values('Record_2');
SELECT * from t1;
--echo ## Test behavior of variable after assigning some larger value to it ##
SELECT @@auto_increment_increment;
SET @@auto_increment_increment = 100;
INSERT into t1(name) values('Record_5');
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_001_03-------------------------#'
##########################################################
# Test behavior of variable on new connection # 01 #
##########################################################
--echo ## Creating new connection test_con1 ##
CONNECT (test_con1,localhost,root,,);
CONNECTION test_con1;
--echo ## Value of session & global vairable here should be 10 ##
SELECT @@global.auto_increment_increment = 10;
SELECT @@session.auto_increment_increment = 10;
--echo ## Setting global value of variable and inserting data in table ##
SET @@global.auto_increment_increment = 20;
SELECT @@global.auto_increment_increment;
INSERT into t1(name) values('Record_6');
SELECT * from t1;
--echo ## Setting session value of variable and inserting data in table ##
SET @@session.auto_increment_increment = 2;
SELECT @@session.auto_increment_increment;
INSERT into t1(name) values('Record_8');
INSERT into t1(name) values('Record_9');
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_001_04-------------------------#'
##########################################################
# Test behavior of variable on new connection # 02 #
##########################################################
--echo ## Creating another new connection test_con2 ##
CONNECT (test_con2,localhost,root,,);
connection test_con2;
--echo ## Verifying initial values of variable in global & session scope ##
--echo ## global & session initial value should be 20 ##
SELECT @@global.auto_increment_increment = 20;
SELECT @@session.auto_increment_increment = 20;
--echo ## Setting value of session variable to 5 and verifying its behavior ##
SET @@session.auto_increment_increment = 5;
INSERT into t1(name) values('Record_10');
SELECT * from t1;
--echo 'Bug#35362: Here Record_10 id should be 120 instead of 115 because we'
--echo 'have set the value of variable to 5'
SET @@session.auto_increment_increment = 1;
SELECT @@auto_increment_increment;
SELECT @@global.auto_increment_increment;
--echo '#--------------------FN_DYNVARS_001_05-------------------------#'
#####################################################################
# Verify variable's value of connection # 01 after processing on
# connection # 02
#####################################################################
--echo ## Switching to test_con1 ##
connection test_con1;
--echo ## Verifying values of global & session value of variable ##
--echo ## global value should be 20 ##
SELECT @@global.auto_increment_increment = 20;
--echo ## session value should be 2 ##
SELECT @@session.auto_increment_increment = 2;
INSERT into t1(name) values('Record_11');
INSERT into t1(name) values('Record_12');
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_001_06-------------------------#'
###############################################################################
# Altering table field to different datatypes and checking their behavior #
###############################################################################
--echo ## Changing column's datatype to SmallInt and verifying variable's behavior ##
ALTER table t1 MODIFY id SMALLINT NOT NULL auto_increment;
INSERT into t1(name) values('Record_13');
INSERT into t1(name) values('Record_14');
SELECT * from t1;
--echo ## Changing column's datatype to BigInt and verifying variable's behavior ##
ALTER table t1 MODIFY id BIGINT NOT NULL auto_increment;
INSERT into t1(name) values('Record_15');
INSERT into t1(name) values('Record_16');
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_001_07-------------------------#'
###############################################################################
# Check behavior of variable after assigning invalid value #
###############################################################################
--echo ## Verifying behavior of variable with negative value ##
SET @@auto_increment_increment = -10;
INSERT into t1(name) values('Record_17');
INSERT into t1(name) values('Record_18');
SELECT * from t1;
--echo 'Bug#35364: Variable is incrementing some random values on assigning -ve value'
############################################################
# Disconnecting all connection & dropping table #
############################################################
--echo ## Disconnecting test_con2 ##
DISCONNECT test_con2;
--echo ## Dropping table t1 ##
DROP table if exists t1;
--echo ## Disconnecting test_con1 ##
DISCONNECT test_con1;
--echo ## switching to default connection ##
connection default;
# restore vars
SET @@global.auto_increment_increment = @global_auto_increment_increment;
SET @@session.auto_increment_increment = @session_auto_increment_increment;
SET @@global.auto_increment_offset = @global_auto_increment_offset;
SET @@session.auto_increment_offset = @session_auto_increment_offset;

View File

@ -0,0 +1,214 @@
############## mysql-test\t\auto_increment_offset_basic.test ###################
# #
# Variable Name: auto_increment_offset #
# Scope: GLOBAL & SESSION #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 1 #
# Range: 1 - 65536 #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "auto_increment_offset" #
# that checks 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#option_mysqld_auto-increment-offset #
# #
################################################################################
--source include/load_sysvars.inc
#####################################################################
# START OF auto_increment_offset TESTS #
#####################################################################
#############################################################
# Save initial value #
#############################################################
SET @start_global_value = @@global.auto_increment_offset;
SELECT @start_global_value;
SET @start_session_value = @@session.auto_increment_offset;
SELECT @start_session_value;
--echo '#--------------------FN_DYNVARS_002_01-------------------------#'
#####################################################################
# Display the DEFAULT value of auto_increment_offset #
#####################################################################
SET @@global.auto_increment_offset = 100;
SET @@global.auto_increment_offset = DEFAULT;
SELECT @@global.auto_increment_offset;
SET @@session.auto_increment_offset = 200;
SET @@session.auto_increment_offset = DEFAULT;
SELECT @@session.auto_increment_offset;
--echo '#--------------------FN_DYNVARS_002_02-------------------------#'
#####################################################################
# Check the DEFAULT value of auto_increment_offset #
#####################################################################
SET @@global.auto_increment_offset = @start_global_value;
SELECT @@global.auto_increment_offset = 1;
SET @@session.auto_increment_offset = @start_session_value;
SELECT @@session.auto_increment_offset = 1;
--echo '#--------------------FN_DYNVARS_002_03-------------------------#'
###############################################################################
# Change the value of auto_increment_offset to a valid value for GLOBAL Scope #
###############################################################################
SET @@global.auto_increment_offset = 1;
SELECT @@global.auto_increment_offset;
SET @@global.auto_increment_offset = 60020;
SELECT @@global.auto_increment_offset;
SET @@global.auto_increment_offset = 65535;
SELECT @@global.auto_increment_offset;
--echo '#--------------------FN_DYNVARS_002_04-------------------------#'
###############################################################################
# Change the value of auto_increment_offset to a valid value for SESSION Scope#
###############################################################################
SET @@session.auto_increment_offset = 1;
SELECT @@session.auto_increment_offset;
SET @@session.auto_increment_offset = 50050;
SELECT @@session.auto_increment_offset;
SET @@session.auto_increment_offset = 65535;
SELECT @@session.auto_increment_offset;
--echo '#------------------FN_DYNVARS_002_05-----------------------#'
#################################################################
# Change the value of auto_increment_offset to an invalid value #
#################################################################
# for global scope
SET @@global.auto_increment_offset = 0;
SELECT @@global.auto_increment_offset;
SET @@global.auto_increment_offset = -1024;
SELECT @@global.auto_increment_offset;
SET @@global.auto_increment_offset = 65536;
SELECT @@global.auto_increment_offset;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.auto_increment_offset = ON;
SELECT @@global.auto_increment_offset;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.auto_increment_offset = OFF;
SELECT @@global.auto_increment_offset;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.auto_increment_offset = test;
SELECT @@global.auto_increment_offset;
# for session scope
SET @@session.auto_increment_offset = 0;
SELECT @@session.auto_increment_offset;
SET @@session.auto_increment_offset = -2;
SELECT @@session.auto_increment_offset;
SET @@session.auto_increment_offset = 65550;
SELECT @@session.auto_increment_offset;
echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.auto_increment_offset = ON;
SELECT @@session.auto_increment_offset;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.auto_increment_offset = OFF;
SELECT @@session.auto_increment_offset;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.auto_increment_offset = test;
SELECT @@session.auto_increment_offset;
--echo '#------------------FN_DYNVARS_002_06-----------------------#'
####################################################################
# Check if the value in GLOBAL Table matches value in variable #
####################################################################
SELECT @@global.auto_increment_offset = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='auto_increment_offset';
--echo '#------------------FN_DYNVARS_002_07-----------------------#'
####################################################################
# Check if the value in SESSION Table matches value in variable #
####################################################################
SELECT @@session.auto_increment_offset = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='auto_increment_offset';
--echo '#------------------FN_DYNVARS_002_08-----------------------#'
####################################################################
# Check if TRUE and FALSE values can be used on variable #
####################################################################
SET @@global.auto_increment_offset = TRUE;
SELECT @@global.auto_increment_offset;
SET @@global.auto_increment_offset = FALSE;
SELECT @@global.auto_increment_offset;
--echo '#---------------------FN_DYNVARS_001_09----------------------#'
###############################################################################
# Check if global and session variables are independant of each other #
###############################################################################
SET @@global.auto_increment_offset = 10;
SET @@session.auto_increment_offset = 11;
SELECT @@auto_increment_offset = @@global.auto_increment_offset;
--echo '#---------------------FN_DYNVARS_001_10----------------------#'
##############################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points #
# to same session variable #
##############################################################################
SET @@auto_increment_offset = 100;
SELECT @@auto_increment_offset = @@local.auto_increment_offset;
SELECT @@local.auto_increment_offset = @@session.auto_increment_offset;
--echo '#---------------------FN_DYNVARS_001_11----------------------#'
###############################################################################
# Check if auto_increment_offset can be accessed with and without @@ sign #
###############################################################################
SET auto_increment_offset = 1;
SELECT @@auto_increment_offset;
--Error ER_UNKNOWN_TABLE
SELECT local.auto_increment_offset;
--Error ER_UNKNOWN_TABLE
SELECT session.auto_increment_offset;
--Error ER_BAD_FIELD_ERROR
SELECT auto_increment_offset = @@session.auto_increment_offset;
####################################
# Restore initial value #
####################################
SET @@global.auto_increment_offset = @start_global_value;
SELECT @@global.auto_increment_offset;
SET @@session.auto_increment_offset = @start_session_value;
SELECT @@session.auto_increment_offset;
###################################################
# END OF auto_increment_offset TESTS #
###################################################

View File

@ -0,0 +1,200 @@
############## mysql-test\t\auto_increment_offset_func.test ####################
# #
# Variable Name: auto_increment_offset #
# Scope: GLOBAL & SESSION #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 1 #
# Range: 1 - 65536 #
# #
# #
# Creation Date: 2008-03-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "auto_increment_offset" #
# that checks functionality of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html#option_mysqld_auto-increment-offset #
# #
################################################################################
# save vars
SET @global_auto_increment_increment = @@global.auto_increment_increment;
SET @session_auto_increment_increment = @@session.auto_increment_increment;
SET @global_auto_increment_offset = @@global.auto_increment_offset;
SET @session_auto_increment_offset = @@session.auto_increment_offset;
--disable_warnings
drop table if exists t1;
--enable_warnings
#########################
# Creating new table #
#########################
--echo ## Creating New Table ##
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30)
);
--echo '#--------------------FN_DYNVARS_002_01-------------------------#'
#######################################################
# Setting initial value of auto_increment_offset #
#######################################################
--echo ## Setting initial value of variable to 5 ##
SET @@auto_increment_increment = 10;
SET @@auto_increment_offset = 5;
--echo '#--------------------FN_DYNVARS_002_02-------------------------#'
###########################################################################
# Inserting first value in table to check auto_increment_offset initial
# behavior
###########################################################################
--echo ## Inserting records in table and verifying variable's behavior ##
INSERT into t1(name) values('Record_1');
SELECT * from t1;
INSERT into t1(name) values('Record_2');
SELECT * from t1;
--echo ## Test behavior of variable after updating value of variable ##
SET @@auto_increment_offset = 24;
SELECT @@auto_increment_offset;
INSERT into t1(name) values('Record_3');
SELECT * from t1;
INSERT into t1(name) values('Record_4');
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_002_03-------------------------#'
##########################################################
# Test behavior of variable on new connection # 01 #
##########################################################
--echo ## Changing value of global scope before opening new connection ##
SET @@global.auto_increment_increment = 15;
SET @@global.auto_increment_offset = 36;
--echo ## New connection test_con1 ##
CONNECT (test_con1,localhost,root,,);
CONNECTION test_con1;
--echo ## Value of session & global vairable here should be 10 ##
SELECT @@global.auto_increment_offset = 36;
SELECT @@session.auto_increment_offset = 36;
--echo ## Verify global value effect of variable by inserting new rows in table ##
INSERT into t1(name) values('Record_5');
INSERT into t1(name) values('Record_6');
SELECT * from t1;
--echo ## Setting session value of variable and inserting data in table ##
SET @@session.auto_increment_offset = 54;
INSERT into t1(name) values('Record_7');
INSERT into t1(name) values('Record_8');
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_002_04-------------------------#'
######################################################################
# Test behavior of variable on assigning value to variable that is
# less than last index id
######################################################################
--echo ## Setting value of variable less than last insert id ##
SET @@session.auto_increment_offset = 5;
INSERT into t1(name) values('Record_9');
--echo 'Bug#35367: Random value of id is increasing on assigning value to';
--echo 'variable that is less than current offset';
INSERT into t1(name) values('Record_10');
INSERT into t1(name) values('Record_11');
INSERT into t1(name) values('Record_12');
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_002_05-------------------------#'
#####################################################################
# Verify variable's behavior on assigning value greater than
# auto_increment_increment value
#####################################################################
--echo ## Assigning value to variable greater than auto_increment_incrent value ##
SET @@auto_increment_offset = 140;
SET @@auto_increment_increment = 10;
INSERT into t1(name) values('Record_13');
INSERT into t1(name) values('Record_14');
SELECT * from t1;
--echo 'Bug#35369: Some invalid value of id is increasing on assigning value to';
--echo 'variable that is greater than auto_increment_increment';
--echo '#--------------------FN_DYNVARS_002_06-------------------------#'
###############################################################################
# Altering table field to different datatypes and checking their behavior #
###############################################################################
--echo ## Changing datatype of column id with primary key to SmallInt ##
ALTER table t1 modify id SMALLINT NOT NULL auto_increment;
INSERT into t1(name) values('Record_15');
INSERT into t1(name) values('Record_16');
SELECT * from t1;
--echo ## Changing datatype of column id with primary key to BigInt ##
ALTER table t1 modify id BIGINT NOT NULL auto_increment;
INSERT into t1(name) values('Record_17');
INSERT into t1(name) values('Record_18');
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_002_07-------------------------#'
###############################################################################
# Check behavior of variable after assigning invalid values to variable #
###############################################################################
--echo ## Assigning -ve value to variable ##
SET @@auto_increment_offset = -10;
SELECT @@auto_increment_offset = -10;
INSERT into t1(name) values('Record_17');
INSERT into t1(name) values('Record_18');
SELECT * from t1;
--echo 'Bug#35370: Some invalid value of id is increasing on assigning negative';
--echo ' value in variable';
--echo ## Assigning value that is out of range of variable ##
SET @@auto_increment_offset = 65536;
SELECT @@auto_increment_offset;
INSERT into t1(name) values('Record_17');
INSERT into t1(name) values('Record_18');
INSERT into t1(name) values('Record_19');
INSERT into t1(name) values('Record_20');
SELECT * from t1;
--echo ## No effect of auto_increment_offset since value of this variable is greater ##
--echo ## than auto_increment_increment ##
############################################################
# Disconnecting all connection & dropping table #
############################################################
--echo ## Dropping table ##
DROP table if exists t1;
--echo ## Disconnecting connection ##
DISCONNECT test_con1;
--echo ## switching to default connection ##
connection default;
# restore vars
SET @@global.auto_increment_increment = @global_auto_increment_increment;
SET @@session.auto_increment_increment = @session_auto_increment_increment;
SET @@global.auto_increment_offset = @global_auto_increment_offset;
SET @@session.auto_increment_offset = @session_auto_increment_offset;

View File

@ -0,0 +1 @@
--innodb

View File

@ -0,0 +1,164 @@
############## mysql-test\t\auto_commit_func.test #############################
# #
# Variable Name: autocommit #
# Scope: SESSION #
# Access Type: Dynamic #
# Data Type: Boolean #
# Default Value: NA #
# Range: NA #
# #
# #
# Creation Date: 2008-03-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "autocommit" #
# that checks functionality of this variable #
# #
# Reference: (Not Mentioned on website) #
# #
################################################################################
--source include/have_innodb.inc
--disable_warnings
drop table if exists t1;
--enable_warnings
#########################
# Creating new table #
#########################
--echo ## Creating new table ##
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name varchar(30)
) ENGINE = INNODB;
--echo '#--------------------FN_DYNVARS_003_01-------------------------#'
#####################################################
# Setting initial value of auto_commit to zero #
#####################################################
--echo ## Setting variable's value to 0 i.e false ##
SET @@autocommit = 0;
--echo '#--------------------FN_DYNVARS_003_02-------------------------#'
######################################################################
# Creating 2 different connections & testing behavior of autocommit
# after updating record in 1st connection
######################################################################
--echo ## Creating new connection ##
CONNECT (test_con1,localhost,root,,);
CONNECTION test_con1;
--echo ## Checking value of variable after opening new connection ##
SELECT @@autocommit;
--echo ## Setting value of variable to zero and inserting some rows ##
SET @@autocommit = 0;
INSERT into t1(name) values('Record_1');
INSERT into t1(name) values('Record_2');
SELECT * from t1;
--echo ## Creating another connection and verifying records in table ##
--echo ## New Connection test_con2 ##
CONNECT (test_con2,localhost,root,,);
CONNECTION test_con2;
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_003_03-------------------------#'
######################################################################
# Creating 2 different connections & testing behavior of autocommit
# after updating record in 1st connection and using COMMIT in first
# connection
######################################################################
--echo ## Verifying behavior of variable by commiting rows in test_con1 ##
--echo ## Connecting with connection # 01 ##
CONNECTION test_con1;
SELECT * from t1;
COMMIT;
--echo ## New Connection test_con2 ##
--echo ## Now verifying records in table from connection # 02 ##
CONNECTION test_con2;
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_003_04-------------------------#'
######################################################################
# Creating 2 different connections & testing behavior of autocommit
# after updating record in 1st connection and using ROLLBACK in
# first connection
######################################################################
--echo ## Connecting to connection # 01 ##
CONNECTION test_con1;
SELECT * from t1;
--echo ## Updating value of first row ##
UPDATE t1 set name = 'Record_12' where name = 'Record_1';
SELECT * from t1;
--echo ## Connecting to connecting # 02 and verifying effect of update query ##
CONNECTION test_con2;
SELECT * from t1;
--echo ## Now connecting with connection # 01 and using ROLLBACK after it ##
CONNECTION test_con1;
ROLLBACK;
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_003_05-------------------------#'
######################################################################
# Creating 2 different connections & testing behavior of autocommit
# after updating records in 1st connection and setting AUTOCOMMIT
# to 1 in second connection
######################################################################
--echo ## Connecting with connection # 01 ##
CONNECTION test_con1;
INSERT into t1(name) values('Record_3');
--echo ## Connection test_con2 ##
--echo ## Now verifying records in table from connection # 02 and changing value ##
--echo ## of autocommit to true ##
CONNECTION test_con2;
SELECT * from t1;
SET @@autocommit = 1;
INSERT into t1(name) values('Record_4');
INSERT into t1(name) values('Record_5');
SELECT * from t1;
--echo ## Connecting with connection # 01 and inserting few records ##
CONNECTION test_con1;
SELECT * from t1;
--echo 'Bug#35373: Records donot get committed in transaction on switching connections'
INSERT into t1(name) values('Record_6');
SELECT * from t1;
--echo ## Now verifying the effect of these new records in second connection ##
CONNECTION test_con2;
SELECT * from t1;
--echo ## Dropping table t1 ##
DROP table t1;
--echo ## Disconnecting both connections ##
DISCONNECT test_con1;
DISCONNECT test_con2;

View File

@ -0,0 +1,179 @@
############## mysql-test\t\automatic_sp_privileges_basic.test #################
# #
# Variable Name: automatic_sp_privileges #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Boolean #
# Default Value: TRUE #
# Range: NA #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "automatic_sp_privileges" #
# that checks 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#option_mysqld_automatic_sp_privileges #
# #
################################################################################
--source include/load_sysvars.inc
#######################################################################
# START OF automatic_sp_privileges TESTS #
#######################################################################
###############################################################################
# Saving initial value of automatic_sp_privileges in a temporary variable #
###############################################################################
SET @start_value = @@global.automatic_sp_privileges;
SELECT @start_value;
--echo '#--------------------FN_DYNVARS_004_01------------------------#'
###############################################################################
# Display the DEFAULT value of automatic_sp_privileges #
###############################################################################
SET @@global.automatic_sp_privileges = 0;
SET @@global.automatic_sp_privileges = DEFAULT;
SELECT @@global.automatic_sp_privileges;
--echo '#---------------------FN_DYNVARS_004_02-------------------------#'
###############################################
# Verify default value of variable #
###############################################
SET @@global.automatic_sp_privileges = @start_value;
SELECT @@global.automatic_sp_privileges = TRUE;
--echo '#--------------------FN_DYNVARS_004_03------------------------#'
###############################################################################
# Change the value of automatic_sp_privileges to a valid value #
###############################################################################
SET @@global.automatic_sp_privileges = 0;
SELECT @@global.automatic_sp_privileges;
SET @@global.automatic_sp_privileges = 1;
SELECT @@global.automatic_sp_privileges;
--echo '#--------------------FN_DYNVARS_004_04-------------------------#'
###############################################################################
# Change the value of automatic_sp_privileges to invalid value #
###############################################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.automatic_sp_privileges = 2;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.automatic_sp_privileges = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.automatic_sp_privileges = TRUEF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.automatic_sp_privileges = TRUE_F;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.automatic_sp_privileges = FALSE0;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.automatic_sp_privileges = OON;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.automatic_sp_privileges = ONN;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.automatic_sp_privileges = OOFF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.automatic_sp_privileges = 0FF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.automatic_sp_privileges = ' ';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.automatic_sp_privileges = " ";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.automatic_sp_privileges = '';
--echo '#-------------------FN_DYNVARS_004_05----------------------------#'
###########################################################################
# Test if accessing session automatic_sp_privileges gives error #
###########################################################################
--Error ER_GLOBAL_VARIABLE
SET @@session.automatic_sp_privileges = 1;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.automatic_sp_privileges;
--echo '#----------------------FN_DYNVARS_004_06------------------------#'
##############################################################################
# Check if the value in GLOBAL Tables matches values in variable #
##############################################################################
SELECT @@global.automatic_sp_privileges = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='automatic_sp_privileges';
echo 'Bug# 34839: Values in variable and information_schema donot match';
--echo '#---------------------FN_DYNVARS_004_07----------------------#'
###################################################################
# Check if ON and OFF values can be used on variable #
###################################################################
SET @@global.automatic_sp_privileges = OFF;
SELECT @@global.automatic_sp_privileges;
SET @@global.automatic_sp_privileges = ON;
SELECT @@global.automatic_sp_privileges;
--echo '#---------------------FN_DYNVARS_004_08----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.automatic_sp_privileges = TRUE;
SELECT @@global.automatic_sp_privileges;
SET @@global.automatic_sp_privileges = FALSE;
SELECT @@global.automatic_sp_privileges;
--echo '#---------------------FN_DYNVARS_004_09----------------------#'
##############################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points #
# to same session variable #
##############################################################################
SET @@global.automatic_sp_privileges = 1;
SELECT @@automatic_sp_privileges = @@global.automatic_sp_privileges;
--echo '#---------------------FN_DYNVARS_004_10----------------------#'
###############################################################################
# Check if automatic_sp_privileges can be accessed with and without @@ sign #
###############################################################################
--Error ER_GLOBAL_VARIABLE
SET automatic_sp_privileges = 1;
--Error ER_PARSE_ERROR
SET local.automatic_sp_privileges = 1;
--Error ER_UNKNOWN_TABLE
SELECT local.automatic_sp_privileges;
--Error ER_PARSE_ERROR
SET global.automatic_sp_privileges = 1;
--Error ER_UNKNOWN_TABLE
SELECT global.automatic_sp_privileges;
--Error ER_BAD_FIELD_ERROR
SELECT automatic_sp_privileges = @@session.automatic_sp_privileges;
##############################
# Restore initial value #
##############################
SET @@global.automatic_sp_privileges = @start_value;
SELECT @@global.automatic_sp_privileges;
#############################################################
# END OF automatic_sp_privileges TESTS #
#############################################################

View File

@ -0,0 +1,148 @@
############# mysql-test\t\automatic_sp_privileges_func.test ############################
# #
# Variable Name: automatic_sp_privileges #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: BOOLEAN #
# Default Value: 1 TRUE #
# Values: 1 TRUE, 0 FALSE #
# #
# #
# Creation Date: 2008-03-04 #
# Author: Sharique Abdullah #
# #
# Description: Test Cases of Dynamic System Variable "automatic_sp_privileges" #
# that checks behavior of this variable in the following ways #
# * Functionality based on different values #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html#option_mysqld_automatic_sp_privileges #
# #
#########################################################################################
#
# Setup
#
--echo ** Setup **
SET @global_automatic_sp_privileges = @@GLOBAL.automatic_sp_privileges;
CREATE TABLE t1 (a varchar(200));
INSERT INTO t1 VALUES('Procedure Executed.');
#
# Creating test user
#
CREATE USER 'userTest'@'localhost';
CREATE USER 'userTest1'@'localhost';
#
# Value TRUE
#
--echo ** Connection default **
connection default;
SET GLOBAL automatic_sp_privileges = TRUE;
--echo ** Connecting using userTest **
connect (conUser,localhost,userTest,,);
--echo ** Connection conUser **
connection conUser;
delimiter |;
CREATE PROCEDURE testProc ()
BEGIN
SELECT * FROM t1;
END;|
delimiter ;|
CALL testProc();
--echo Expecting SELECT executed
#
# Value FALSE
#
--echo ** Connection default**
connection default;
SET GLOBAL automatic_sp_privileges = FALSE;
--echo ** Connecting using userTest1 **
connect (conUser1,localhost,userTest1,,);
--echo ** Connection conUser1 **
connection conUser1;
delimiter |;
CREATE PROCEDURE testProc1 ()
BEGIN
SELECT * FROM t1;
END;|
delimiter ;|
--echo
--echo Expected error access denied
--error ER_PROCACCESS_DENIED_ERROR
CALL testProc1();
--echo
--echo Expected error access denied
--error ER_PROCACCESS_DENIED_ERROR
ALTER PROCEDURE testProc1 COMMENT 'My Comment';
--echo
--echo Expected error access denied
--error ER_PROCACCESS_DENIED_ERROR
DROP PROCEDURE testProc1;
--echo ** Connection default **
connection default;
GRANT EXECUTE, ALTER ROUTINE ON PROCEDURE testProc1 TO 'userTest1'@'localhost';
--echo ** Connection conUser1 **
connection conUser1;
CALL testProc1();
--echo Expecting seelect executed
ALTER PROCEDURE testProc1 COMMENT 'My Comment';
--echo
#
# Cleanup
#
--echo ** Cleanup **
--echo ** Connection default **
connection default;
--echo disconnecting connections
disconnect conUser;
disconnect conUser1;
SET GLOBAL automatic_sp_privileges = @global_automatic_sp_privileges;
# Disabled due to differences in results: Bug#35384
#SHOW GRANTS FOR 'userTest'@'localhost';
# on Linux (5.1.24) successful, on Windows (5.1.23) error
--error 0,ER_NONEXISTING_PROC_GRANT
REVOKE EXECUTE, ALTER ROUTINE ON PROCEDURE testProc FROM 'userTest'@'localhost';
--error 0,ER_NONEXISTING_PROC_GRANT
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'userTest'@'localhost';
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'userTest1'@'localhost';
--disable_warnings
DROP PROCEDURE testProc;
--enable_warnings
DROP PROCEDURE testProc1;
DROP USER 'userTest'@'localhost';
DROP USER 'userTest1'@'localhost';
DROP TABLE t1;

View File

@ -0,0 +1,100 @@
################## mysql-test\t\basedir_basic.test ############################
# #
# Variable Name: basedir #
# Scope: Global #
# Access Type: Static #
# Data Type: filename #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable basedir #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_001_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.basedir);
--echo 1 Expected
--echo '#---------------------BS_STVARS_001_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.basedir=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.basedir);
--echo 1 Expected
--echo '#---------------------BS_STVARS_001_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.basedir = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='basedir';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.basedir);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='basedir';
--echo 1 Expected
--echo '#---------------------BS_STVARS_001_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@basedir = @@GLOBAL.basedir;
--echo 1 Expected
--echo '#---------------------BS_STVARS_001_05----------------------#'
################################################################################
# Check if basedir can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@basedir);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.basedir);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.basedir);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.basedir);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT basedir = @@SESSION.basedir;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,179 @@
##################### mysql-test\t\big_tables_basic.test #######################
# #
# Variable Name: big_tables #
# Scope: SESSION #
# Access Type: Dynamic #
# Data Type: Boolean #
# Default Value: NA #
# Range: NA #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "big_tables" #
# that checks 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-options.html#option_mysqld_big-tables #
# #
################################################################################
--source include/load_sysvars.inc
##########################################################
# START OF big_tables TESTS #
##########################################################
##################################################################
# Saving initial value of big_tables in a temporary variable #
##################################################################
SET @start_value = @@big_tables;
SELECT @start_value;
--echo '#--------------------FN_DYNVARS_005_01------------------------#'
#############################################################
# Display the DEFAULT value of big_tables #
#############################################################
SET @@big_tables = 1;
SET @@big_tables = DEFAULT;
SELECT @@big_tables;
--echo 'Bug# 34829: No default value for variable and setting default does not raise error';
--echo '#--------------------FN_DYNVARS_005_02------------------------#'
#############################################################
# Change the value of big_tables to a valid value #
#############################################################
SET @@big_tables = 0;
SELECT @@big_tables;
SET @@big_tables = 1;
SELECT @@big_tables;
--echo '#--------------------FN_DYNVARS_005_03-------------------------#'
###########################################################################
# Change the value of big_tables to invalid value #
###########################################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@big_tables = 2;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@big_tables = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@big_tables = TRUEF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@big_tables = TRUE_F;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@big_tables = FALSE0;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@big_tables = OON;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@big_tables = ONN;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@big_tables = OOFF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@big_tables = 0FF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@big_tables = ' ';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@big_tables = " ";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@big_tables = '';
--echo '#-------------------FN_DYNVARS_005_04----------------------------#'
###########################################################################
# Test if accessing global big_tables gives error #
###########################################################################
--Error ER_LOCAL_VARIABLE
SET @@global.big_tables = 0;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@global.big_tables;
--echo '#----------------------FN_DYNVARS_005_05------------------------#'
##############################################################################
# Check if the value in SESSION Tables matches values in variable #
##############################################################################
SELECT @@big_tables = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='big_tables';
--echo Bug # 34839: Values in variable and information_schema do not match for autocommit
--echo '#---------------------FN_DYNVARS_005_06----------------------#'
###################################################################
# Check if ON and OFF values can be used on variable #
###################################################################
SET @@big_tables = OFF;
SELECT @@big_tables;
SET @@big_tables = ON;
SELECT @@big_tables;
--echo '#---------------------FN_DYNVARS_005_07----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@big_tables = TRUE;
SELECT @@big_tables;
SET @@big_tables = FALSE;
SELECT @@big_tables;
--echo '#---------------------FN_DYNVARS_005_08----------------------#'
##############################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points #
# to same session variable #
##############################################################################
SET @@big_tables = 0;
SELECT @@big_tables = @@session.big_tables;
SET @@big_tables = 1;
SELECT @@big_tables = @@local.big_tables and @@local.big_tables = @@session.big_tables;
--echo '#---------------------FN_DYNVARS_005_09----------------------#'
##########################################################################
# Check if big_tables can be accessed with and without @@ sign #
##########################################################################
SET big_tables = 1;
SELECT @@big_tables;
--Error ER_PARSE_ERROR
SET local.big_tables = 1;
--Error ER_UNKNOWN_TABLE
SELECT local.big_tables;
--Error ER_PARSE_ERROR
SET session.big_tables = 1;
--Error ER_UNKNOWN_TABLE
SELECT session.big_tables;
--Error ER_BAD_FIELD_ERROR
select big_tables;
##############################
# Restore initial value #
##############################
SET @@big_tables = @start_value;
SELECT @@big_tables;
#######################################################
# END OF big_tables TESTS #
#######################################################

View File

@ -0,0 +1,113 @@
################## mysql-test\t\binlog_format_basic.test ######################
# #
# Variable Name: binlog_format #
# Scope: Global & Session #
# Access Type: Static #
# Data Type: enumeration #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable binlog_format #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_002_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.binlog_format);
--echo 1 Expected
SELECT COUNT(@@SESSION.binlog_format);
--echo 1 Expected
--echo '#---------------------BS_STVARS_002_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
#--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.binlog_format=1;
--echo Expected error 'Read only variable'
--echo Bug: Writeable static variable
SELECT COUNT(@@GLOBAL.binlog_format);
--echo 1 Expected
#--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@SESSION.binlog_format=1;
--echo Expected error 'Read only variable'
--echo Bug: Writeable static variable
SELECT COUNT(@@SESSION.binlog_format);
--echo 1 Expected
--echo '#---------------------BS_STVARS_002_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.binlog_format = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='binlog_format';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.binlog_format);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='binlog_format';
--echo 1 Expected
--echo '#---------------------BS_STVARS_002_04----------------------#'
#################################################################
# Check if the value in SESSION Table matches value in variable #
#################################################################
SELECT @@SESSION.binlog_format = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='binlog_format';
--echo 1 Expected
SELECT COUNT(@@SESSION.binlog_format);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='binlog_format';
--echo 1 Expected
--echo '#---------------------BS_STVARS_002_05----------------------#'
################################################################################
# Check if binlog_format can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@binlog_format);
--echo 1 Expected
SELECT COUNT(@@local.binlog_format);
--echo 1 Expected
SELECT COUNT(@@SESSION.binlog_format);
--echo 1 Expected
SELECT COUNT(@@GLOBAL.binlog_format);
--echo 1 Expected

View File

@ -0,0 +1,341 @@
############## mysql-test\t\character_set_client_basic.test ###################
# #
# Variable Name: character_set_client #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: utf8 (session), latin1 (global) #
# Range: NA #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable character_set_client #
# 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/load_sysvars.inc
###################################################
## START OF character_set_client TESTS ##
###################################################
#############################################################
# Save initial value #
#############################################################
SET @global_start_value = @@global.character_set_client;
SELECT @global_start_value;
# Save initial session value
SET @session_start_value = @@character_set_client;
SELECT @session_start_value;
# now save using local access
SET @session_start_value = @@local.character_set_client;
SELECT @session_start_value;
# save using default access (session)
SET @session_start_value = @@session.character_set_client;
SELECT @session_start_value;
--echo '#--------------------FN_DYNVARS_010_01------------------#'
###############################################################################
# Test Variable access and assignment with and withoud @@ #
###############################################################################
# select without @@
--error ER_BAD_FIELD_ERROR
SELECT character_set_client;
# assign value without @@
SET character_set_client=utf8;
SELECT @@session.character_set_client;
# assign global variable without @@
--Error ER_PARSE_ERROR
SET global.character_set_client=utf8;
# using another syntax for accessing session variable
SET session character_set_client=utf8;
# accessing variable with scope the wrong way
--Error ER_BAD_FIELD_ERROR
SELECT session character_set_client;
# using another syntax for accessing dynamic variable
SET global character_set_client=utf8;
--Error ER_BAD_FIELD_ERROR
SELECT global character_set_client;
--echo '#--------------------FN_DYNVARS_010_02-------------------------#'
###############################################################################
# Check the DEFAULT value of character_set_client for session and global #
###############################################################################
SET @@character_set_client = latin5;
SET @@character_set_client = DEFAULT;
SELECT @@character_set_client AS DEFAULT_VALUE;
SET @@global.character_set_client = latin5;
SET @@global.character_set_client = DEFAULT;
SELECT @@global.character_set_client;
--echo '#--------------------FN_DYNVARS_010_03-------------------------#'
###############################################################################
# see if setting global value changes session value and vice versa #
###############################################################################
SET @@session.character_set_client = utf8;
SELECT @@session.character_set_client;
SET @@global.character_set_client = latin2;
SELECT @@global.character_set_client;
SELECT @@session.character_set_client AS res_is_utf8;
SET @@session.character_set_client = latin5;
SELECT @@session.character_set_client;
SELECT @@global.character_set_client AS res_is_latin2;
# composite check
SELECT @@global.character_set_client=@@session.character_set_client
AS res_is_false;
--echo '#--------------------FN_DYNVARS_010_04-------------------------#'
##############################################################################
# Check if accessing variable with and without session point to session #
# variable #
##############################################################################
SELECT @@character_set_client = @@session.character_set_client AS res;
SELECT @@character_set_client = @@local.character_set_client AS res;
--echo '#--------------------FN_DYNVARS_010_05-------------------------#'
###########################################################################
# Check if combining character set works #
###########################################################################
--Error ER_BAD_FIELD_ERROR
SET @@character_set_client = utf8 + latin2;
--echo '#--------------------FN_DYNVARS_010_06-------------------------#'
##############################################################################
# Change the value of character_set_client to a valid value for session #
##############################################################################
SET @@character_set_client = big5;
SELECT @@character_set_client;
SET @@character_set_client = dec8;
SELECT @@character_set_client;
SET @@character_set_client = cp850;
SELECT @@character_set_client;
SET @@character_set_client = hp8;
SELECT @@character_set_client;
SET @@character_set_client = koi8r;
SELECT @@character_set_client;
SET @@character_set_client = latin1;
SELECT @@character_set_client;
SET @@character_set_client = latin2;
SELECT @@character_set_client;
SET @@character_set_client = swe7;
SELECT @@character_set_client;
SET @@character_set_client = ascii;
SELECT @@character_set_client;
SET @@character_set_client = ujis;
SELECT @@character_set_client;
SET @@character_set_client = sjis;
SELECT @@character_set_client;
SET @@character_set_client = hebrew;
SELECT @@character_set_client;
SET @@character_set_client = tis620;
SELECT @@character_set_client;
SET @@character_set_client = euckr;
SELECT @@character_set_client;
SET @@character_set_client = koi8u;
SELECT @@character_set_client;
SET @@character_set_client = gb2312;
SELECT @@character_set_client;
SET @@character_set_client = greek;
SELECT @@character_set_client;
SET @@character_set_client = cp1250;
SELECT @@character_set_client;
SET @@character_set_client = gbk;
SELECT @@character_set_client;
SET @@character_set_client = latin5;
SELECT @@character_set_client;
SET @@character_set_client = armscii8;
SELECT @@character_set_client;
SET @@character_set_client = utf8;
SELECT @@character_set_client;
#SET @@character_set_client = ucs2;
#--Error ER_PARSE_ERROR
#SELECT @@session.character_set_client;
--echo 'Bug: Assignment of ucs2 to session character-set does not raise error';
--echo 'but selecting variable after setting it does.';
--echo 'Even catching this does not allow any further character-set to be set.';
--echo 'Offending querry seems to be:';
--echo 'SET @@character_set_client = ucs2;'
SET @@character_set_client = cp866;
SELECT @@character_set_client;
SET @@character_set_client = keybcs2;
SELECT @@character_set_client;
SET @@character_set_client = macce;
SELECT @@character_set_client;
SET @@character_set_client = macroman;
SELECT @@character_set_client;
SET @@character_set_client = cp852;
SELECT @@character_set_client;
SET @@character_set_client = latin7;
SELECT @@character_set_client;
SET @@character_set_client = cp1251;
SELECT @@character_set_client;
SET @@character_set_client = cp1256;
SELECT @@character_set_client;
SET @@character_set_client = cp1257;
SELECT @@character_set_client;
SET @@character_set_client = binary;
SELECT @@character_set_client;
SET @@character_set_client = geostd8;
SELECT @@character_set_client;
SET @@character_set_client = cp932;
SELECT @@character_set_client;
SET @@character_set_client = eucjpms;
SELECT @@character_set_client;
--echo '#--------------------FN_DYNVARS_010_07-------------------------#'
###############################################################################
# Change the value of character_set_client to a valid value for global #
###############################################################################
let charset_variable = @@global.character_set_client;
--source include/charset_basic.inc
--echo '#--------------------FN_DYNVARS_010_08-------------------------#'
################################################################################
# Change the value of character_set_client to a valid value with uppercase,#
# lowercase and mixedcase #
################################################################################
SET @@character_set_client = UTF8;
SELECT @@character_set_client;
SET @@character_set_client = utf8;
SELECT @@character_set_client;
SET @@global.character_set_client = uTf8;
SELECT @@global.character_set_client;
--echo '#--------------------FN_DYNVARS_010_09-------------------------#'
##############################################################
# Check if 1,2,3, ... values can be used on variable #
##############################################################
SET @@character_set_client = 1;
SELECT @@character_set_client;
SET @@character_set_client = 2;
SELECT @@character_set_client;
SET @@character_set_client = 3;
SELECT @@character_set_client;
SET @@character_set_client = 36;
SELECT @@character_set_client;
SET @@character_set_client = 99;
SELECT @@character_set_client;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_client = 100;
SET @@global.character_set_client = 1;
SELECT @@global.character_set_client;
SET @@global.character_set_client = 2;
SELECT @@global.character_set_client;
SET @@global.character_set_client = 3;
SELECT @@global.character_set_client;
SET @@global.character_set_client = 36;
SELECT @@global.character_set_client;
SET @@global.character_set_client = 99;
SELECT @@global.character_set_client;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_client = 100;
SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS);
SELECT @total_charset;
--echo 'Bug # 34843: character sets are mapped in such a way that 100 and following';
--echo 'numbers gives error, and before 100 the 36 mapped wraps arround';
--echo 'several times.';
--echo '#--------------------FN_DYNVARS_010_10-------------------------#'
###############################################################################
# Change the value of character_set_client to an invalid value for session #
###############################################################################
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_client = abc;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_client = 1utf8;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_client = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@character_set_client = 1.1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_client = -1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_client = '';
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_client = 'utf';
SET @@character_set_client = true;
SELECT @@character_set_client AS res_with_true;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_client = ON;
--echo '#--------------------FN_DYNVARS_010_11-------------------------#'
###############################################################################
# Change the value of character_set_client to an invalid value for global #
###############################################################################
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_client = abc;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_client = 1utf8;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_client = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.character_set_client = 1.1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_client = -1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_client = '';
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_client = 'utf';
SET @@global.character_set_client = true;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_client = ON;
--echo '#--------------------FN_DYNVARS_010_12-------------------------#'
##########################################################################
# Check if the value in GLOBAL Table matches value in variable #
##########################################################################
SELECT @@global.character_set_client =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='character_set_client') AS res;
SET @@global.character_set_client = 1;
SELECT @@global.character_set_client;
SELECT @@global.character_set_client =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='character_set_client') AS res;
--echo '#--------------------FN_DYNVARS_010_13-------------------------#'
###############################################################################
# Check if the value in SESSION Table matches value in variable #
###############################################################################
SELECT @@character_set_client =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_client') AS res;
SELECT @@local.character_set_client =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_client') AS res;
SELECT @@session.character_set_client =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_client') AS res;
####################################
# Restore initial value #
####################################
SET @@global.character_set_client = @global_start_value;
SELECT @@global.character_set_client;
SET @@session.character_set_client = @session_start_value;
SELECT @@session.character_set_client;
#############################################################
# END OF character_set_client TESTS #
#############################################################

View File

@ -0,0 +1,84 @@
############## mysql-test\t\character_set_client_func.test ###################
# #
# Variable Name: character_set_client #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: utf8 (session), latin1 (global) #
# Range: NA #
# #
# #
# Creation Date: 2008-03-08 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable character_set_client #
# that checks the behavior of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--echo '#--------------------FN_DYNVARS_010_01-------------------------#'
######################################################################
# Check if setting character_set_client is changed in new connection #
######################################################################
# save
SET @global_character_set_client = @@global.character_set_client;
SET @session_character_set_client = @@session.character_set_client;
SET @@global.character_set_client = utf8;
--echo 'connect (con1,localhost,root,,,,)'
connect (con1,localhost,root,,,,);
--echo 'connection con1'
connection con1;
SELECT @@global.character_set_client;
SELECT @@session.character_set_client;
disconnect con1;
--echo 'Bug# 35372: session character_set_client is not effected by global character_set_client'
--echo '#--------------------FN_DYNVARS_010_02-------------------------#'
#############################################################
# Begin the functionality Testing of character_set_client #
#############################################################
--echo 'connection default'
connection default;
SHOW VARIABLES like 'character_set_client';
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1(a CHAR(3) character set utf8);
#==============================================================================
--echo '---verifying character_set_client with a utf8 character----'
#==============================================================================
--echo 'For latin1 characterset';
SET @@session.character_set_client = latin1;
INSERT INTO t1 values('<03>');
SELECT a,CHAR_LENGTH(a) FROM t1;
DELETE FROM t1;
--echo 'For utf8 characterset';
SET @@session.character_set_client = utf8;
INSERT INTO t1 values('<03>');
SELECT a,CHAR_LENGTH(a) FROM t1;
DELETE FROM t1;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
# restore
SET @@global.character_set_client = @global_character_set_client;
SET @@session.character_set_client = @session_character_set_client;
############################################################
# End of functionality Testing for character_set_client #
############################################################

View File

@ -0,0 +1,268 @@
############## mysql-test\t\character_set_connection_basic.test ###############
# #
# Variable Name: character_set_connection #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: utf8 (session), latin1 (global) #
# Range: NA #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable character_set_connection #
# 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/load_sysvars.inc
###################################################
## START OF character_set_connection TESTS ##
###################################################
#############################################################
# Save initial value #
#############################################################
SET @global_start_value = @@global.character_set_connection;
SELECT @global_start_value;
# Save initial session value
SET @session_start_value = @@character_set_connection;
SELECT @session_start_value;
# now save using local access
SET @session_start_value = @@local.character_set_connection;
SELECT @session_start_value;
# save using default access (session)
SET @session_start_value = @@session.character_set_connection;
SELECT @session_start_value;
--echo '#--------------------FN_DYNVARS_011_01------------------#'
###############################################################################
# Test Variable access and assignment with and withoud @@ #
###############################################################################
# select without @@
--error ER_BAD_FIELD_ERROR
SELECT character_set_connection;
# assign value without @@
SET character_set_connection=utf8;
SELECT @@session.character_set_connection;
# assign global variable without @@
--Error ER_PARSE_ERROR
SET global.character_set_connection=utf8;
# using another syntax for accessing session variable
SET session character_set_connection=utf8;
# accessing variable with scope the wrong way
--Error ER_BAD_FIELD_ERROR
SELECT session character_set_connection;
# using another syntax for accessing dynamic variable
SET global character_set_connection=utf8;
--Error ER_BAD_FIELD_ERROR
SELECT global character_set_connection;
--echo '#--------------------FN_DYNVARS_011_02-------------------------#'
###############################################################################
# Check the DEFAULT value of character_set_connection for session and global #
###############################################################################
SET @@character_set_connection = latin5;
SET @@character_set_connection = DEFAULT;
SELECT @@character_set_connection AS DEFAULT_VALUE;
SET @@global.character_set_connection = latin5;
SET @@global.character_set_connection = DEFAULT;
SELECT @@global.character_set_connection;
--echo '#--------------------FN_DYNVARS_011_03-------------------------#'
###############################################################################
# see if setting global value changes session value and vice versa #
###############################################################################
SET @@session.character_set_connection = utf8;
SELECT @@session.character_set_connection;
SET @@global.character_set_connection = latin2;
SELECT @@global.character_set_connection;
SELECT @@session.character_set_connection AS res_is_utf8;
SET @@session.character_set_connection = latin5;
SELECT @@session.character_set_connection;
SELECT @@global.character_set_connection AS res_is_latin2;
# composite check
SELECT @@global.character_set_connection=@@session.character_set_connection
AS res_is_false;
--echo '#--------------------FN_DYNVARS_011_04-------------------------#'
#############################################################################
# Check if accessing variable with and without session point to #
# session variable #
#############################################################################
SELECT @@character_set_connection = @@session.character_set_connection AS res;
SELECT @@character_set_connection = @@local.character_set_connection AS res;
--echo '#--------------------FN_DYNVARS_011_05-------------------------#'
###########################################################################
# Check if combining character set works #
###########################################################################
--Error ER_BAD_FIELD_ERROR
SET @@character_set_connection = utf8 + latin2;
--echo '#--------------------FN_DYNVARS_011_06-------------------------#'
##############################################################################
# Change the value of character_set_connection to a valid value #
# for session #
##############################################################################
let charset_variable = @@session.character_set_connection;
--source include/charset_basic.inc
--echo '#--------------------FN_DYNVARS_011_07-------------------------#'
##############################################################################
# Change the value of character_set_connection to a valid value for global #
##############################################################################
let charset_variable = @@global.character_set_connection;
--source include/charset_basic.inc
--echo '#--------------------FN_DYNVARS_011_08-------------------------#'
##############################################################################
# Change the value of character_set_connection to a valid value with #
# uppercase,lowercase and mixedcase #
##############################################################################
SET @@character_set_connection = UTF8;
SELECT @@character_set_connection;
SET @@character_set_connection = utf8;
SELECT @@character_set_connection;
SET @@global.character_set_connection = uTf8;
SELECT @@global.character_set_connection;
--echo '#--------------------FN_DYNVARS_011_09-------------------------#'
##############################################################
# Check if 1,2,3, ... values can be used on variable #
##############################################################
SET @@character_set_connection = 1;
SELECT @@character_set_connection;
SET @@character_set_connection = 2;
SELECT @@character_set_connection;
SET @@character_set_connection = 3;
SELECT @@character_set_connection;
SET @@character_set_connection = 36;
SELECT @@character_set_connection;
SET @@character_set_connection = 99;
SELECT @@character_set_connection;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_connection = 100;
SET @@global.character_set_connection = 1;
SELECT @@global.character_set_connection;
SET @@global.character_set_connection = 2;
SELECT @@global.character_set_connection;
SET @@global.character_set_connection = 3;
SELECT @@global.character_set_connection;
SET @@global.character_set_connection = 36;
SELECT @@global.character_set_connection;
SET @@global.character_set_connection = 99;
SELECT @@global.character_set_connection;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_connection = 100;
SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS);
SELECT @total_charset;
--echo 'Bug # 34843: character sets are mapped in such a way that 100 and following ';
--echo 'numbers gives error, and before 100 the 36 mapped wraps arround';
--echo 'several times.';
--echo '#--------------------FN_DYNVARS_011_10-------------------------#'
################################################################################
# Change the value of character_set_connection to an invalid value for session #
################################################################################
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_connection = abc;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_connection = 1utf8;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_connection = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@character_set_connection = 1.1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_connection = -1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_connection = 'utf8 ';
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_connection = 'l<>tin2';
SET @@character_set_connection = true;
SELECT @@character_set_connection AS res_with_true;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_connection = ON;
--echo '#--------------------FN_DYNVARS_011_11-------------------------#'
###############################################################################
# Change the value of character_set_connection to an invalid value for global #
###############################################################################
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_connection = abc;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_connection = 1utf8;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_connection = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.character_set_connection = 1.1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_connection = -1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_connection = '';
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_connection = 'utf';
SET @@global.character_set_connection = true;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_connection = ON;
--echo '#--------------------FN_DYNVARS_011_12-------------------------#'
##########################################################################
# Check if the value in GLOBAL Table matches value in variable #
##########################################################################
SELECT @@global.character_set_connection =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='character_set_connection') AS res;
SET @@global.character_set_connection = 1;
SELECT @@global.character_set_connection;
SELECT @@global.character_set_connection =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='character_set_connection') AS res;
--echo '#--------------------FN_DYNVARS_011_13-------------------------#'
############################################################################
# Check if the value in SESSION Table matches value in variable #
############################################################################
SELECT @@character_set_connection =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_connection') AS res;
SELECT @@local.character_set_connection =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_connection') AS res;
SELECT @@session.character_set_connection =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_connection') AS res;
####################################
# Restore initial value #
####################################
SET @@global.character_set_connection = @global_start_value;
SELECT @@global.character_set_connection;
SET @@session.character_set_connection = @session_start_value;
SELECT @@session.character_set_connection;
#############################################################
# END OF character_set_connection TESTS #
#############################################################

View File

@ -0,0 +1,102 @@
############## mysql-test\t\character_set_connection_func.test ###############
# #
# Variable Name: character_set_connection #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: utf8 (session), latin1 (global) #
# Range: NA #
# #
# #
# Creation Date: 2008-03-08 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable character_set_connection #
# that checks the behavior of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--echo '#--------------------FN_DYNVARS_011_01-------------------------#'
##########################################################################
# Check if setting character_set_connection is changed in new connection #
##########################################################################
#save
SET @global_character_set_connection = @@global.character_set_connection;
SET @session_character_set_connection = @@session.character_set_connection;
SET @session_character_set_client = @@session.character_set_client;
SET @session_character_set_results = @@session.character_set_results;
SET @@global.character_set_connection = utf8;
--echo 'connect (con1,localhost,root,,,,)'
connect (con1,localhost,root,,,,);
--echo 'connection con1'
connection con1;
SELECT @@global.character_set_connection;
SELECT @@session.character_set_connection;
disconnect con1;
--echo '#--------------------FN_DYNVARS_011_02-------------------------#'
###############################################################
# Begin the functionality Testing of character_set_connection #
###############################################################
--echo 'connection default'
connection default;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1(b CHAR(40) character set utf8);
#==============================================================================
--echo '--verify that character_set_connection converts character_set_client--'
#==============================================================================
SET @@session.character_set_client = utf8;
SET @@session.character_set_results = utf8;
SET @@session.character_set_connection = latin1;
SELECT 'ЁЂЃЄ' AS utf_text;
SET @@session.character_set_connection = utf8;
SELECT 'ЁЂЃЄ' AS utf_text;
#==============================================================================
--echo '---now inserting utf8 string with different character_set_connection--'
#==============================================================================
SET @@session.character_set_connection = ascii;
INSERT INTO t1 VALUES('ЁЂЃЄ');
SELECT * FROM t1;
TRUNCATE TABLE t1;
#==============================================================================
--echo '--now client & results charset in latin1 & connection charset in ascii-'
#==============================================================================
SET @@session.character_set_connection = ascii;
SET @@session.character_set_client = latin1;
SET @@session.character_set_results = latin1;
INSERT INTO t1 VALUES('ЁЂЃЄ');
SELECT * FROM t1;
TRUNCATE TABLE t1;
#==============================================================================
# set names should set character sets [client,connection,results]
#==============================================================================
SET NAMES utf8;
INSERT INTO t1 VALUES('ЁЂЃЄ');
SELECT * FROM t1;
TRUNCATE TABLE t1;
#restore
#save
SET @@global.character_set_connection = @global_character_set_connection;
SET @@session.character_set_connection = @session_character_set_connection;
SET @@session.character_set_client = @session_character_set_client;
SET @@session.character_set_results = @session_character_set_results;
#############################################################
# End of functionality Testing for character_set_connection #
#############################################################

View File

@ -0,0 +1,268 @@
############## mysql-test\t\character_set_database_basic.test #################
# #
# Variable Name: character_set_database #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: latin1 (session), latin1 (global) #
# Range: NA #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable character_set_database #
# 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/load_sysvars.inc
###################################################
## START OF character_set_database TESTS ##
###################################################
#############################################################
# Save initial value #
#############################################################
SET @global_start_value = @@global.character_set_database;
SELECT @global_start_value;
# Save initial session value
SET @session_start_value = @@character_set_database;
SELECT @session_start_value;
# now save using local access
SET @session_start_value = @@local.character_set_database;
SELECT @session_start_value;
# save using default access (session)
SET @session_start_value = @@session.character_set_database;
SELECT @session_start_value;
--echo '#--------------------FN_DYNVARS_012_01------------------#'
##############################################################################
# Test Variable access and assignment with and withoud @@ #
##############################################################################
# select without @@
--error ER_BAD_FIELD_ERROR
SELECT character_set_database;
# assign value without @@
SET character_set_database=utf8;
SELECT @@session.character_set_database;
# assign global variable without @@
--Error ER_PARSE_ERROR
SET global.character_set_database=utf8;
# using another syntax for accessing session variable
SET session character_set_database=utf8;
# accessing variable with scope the wrong way
--Error ER_BAD_FIELD_ERROR
SELECT session character_set_database;
# using another syntax for accessing dynamic variable
SET global character_set_database=utf8;
--Error ER_BAD_FIELD_ERROR
SELECT global character_set_database;
--echo '#--------------------FN_DYNVARS_012_02-------------------------#'
###############################################################################
# Check the DEFAULT value of character_set_database for session and global #
###############################################################################
SET @@character_set_database = latin5;
SET @@character_set_database = DEFAULT;
SELECT @@character_set_database AS DEFAULT_VALUE;
SET @@global.character_set_database = latin5;
SET @@global.character_set_database = DEFAULT;
SELECT @@global.character_set_database;
--echo '#--------------------FN_DYNVARS_012_03-------------------------#'
##############################################################################
# see if setting global value changes session value and vice versa #
##############################################################################
SET @@session.character_set_database = utf8;
SELECT @@session.character_set_database;
SET @@global.character_set_database = latin2;
SELECT @@global.character_set_database;
SELECT @@session.character_set_database AS res_is_utf8;
SET @@session.character_set_database = latin5;
SELECT @@session.character_set_database;
SELECT @@global.character_set_database AS res_is_latin2;
# composite check
SELECT @@global.character_set_database=@@session.character_set_database
AS res_is_false;
--echo '#--------------------FN_DYNVARS_012_04-------------------------#'
##############################################################################
# Check if accessing variable with and without session point to session #
# variable #
##############################################################################
SELECT @@character_set_database = @@session.character_set_database AS res;
SELECT @@character_set_database = @@local.character_set_database AS res;
--echo '#--------------------FN_DYNVARS_012_05-------------------------#'
###########################################################################
# Check if combining character set works #
###########################################################################
--Error ER_BAD_FIELD_ERROR
SET @@character_set_database = utf8 + latin2;
--echo '#--------------------FN_DYNVARS_012_06-------------------------#'
#############################################################################
# Change the value of character_set_database to a valid value for session #
#############################################################################
let charset_variable = @@session.character_set_database;
--source include/charset_basic.inc
--echo '#--------------------FN_DYNVARS_012_07-------------------------#'
##############################################################################
# Change the value of character_set_database to a valid value for global #
##############################################################################
let charset_variable = @@global.character_set_database;
--source include/charset_basic.inc
--echo '#--------------------FN_DYNVARS_012_08-------------------------#'
##############################################################################
# Change the value of character_set_database to a valid value with uppercase,#
# lowercase and mixedcase #
##############################################################################
SET @@character_set_database = UTF8;
SELECT @@character_set_database;
SET @@character_set_database = utf8;
SELECT @@character_set_database;
SET @@global.character_set_database = uTf8;
SELECT @@global.character_set_database;
--echo '#--------------------FN_DYNVARS_012_09-------------------------#'
##############################################################
# Check if 1,2,3, ... values can be used on variable #
##############################################################
SET @@character_set_database = 1;
SELECT @@character_set_database;
SET @@character_set_database = 2;
SELECT @@character_set_database;
SET @@character_set_database = 3;
SELECT @@character_set_database;
SET @@character_set_database = 36;
SELECT @@character_set_database;
SET @@character_set_database = 99;
SELECT @@character_set_database;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_database = 100;
SET @@global.character_set_database = 1;
SELECT @@global.character_set_database;
SET @@global.character_set_database = 2;
SELECT @@global.character_set_database;
SET @@global.character_set_database = 3;
SELECT @@global.character_set_database;
SET @@global.character_set_database = 36;
SELECT @@global.character_set_database;
SET @@global.character_set_database = 99;
SELECT @@global.character_set_database;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_database = 100;
SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS);
SELECT @total_charset;
--echo 'Bug # 34843: character sets are mapped in such a way that 100 and following';
--echo 'numbers gives error, and before 100 the 36 mapped wraps arround several times.';
--echo '#--------------------FN_DYNVARS_012_10-------------------------#'
##############################################################################
# Change the value of character_set_database to an invalid value for session #
##############################################################################
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_database = "grek";
--Error ER_PARSE_ERROR
SET @@character_set_database = utf 8;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_database = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@character_set_database = 1.1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_database = -1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_database = '';
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_database = 'latin 2';
SET @@character_set_database = true;
SELECT @@character_set_database AS res_with_true;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_database = ON;
--echo '#--------------------FN_DYNVARS_012_11-------------------------#'
###############################################################################
# Change the value of character_set_database to an invalid value for global #
###############################################################################
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_database = abc;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_database = 1utf8;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_database = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.character_set_database = 1.1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_database = -1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_database = '';
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_database = 'utf';
SET @@global.character_set_database = true;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_database = ON;
--echo '#--------------------FN_DYNVARS_012_12-------------------------#'
############################################################################
# Check if the value in GLOBAL Table matches value in variable #
############################################################################
SELECT @@global.character_set_database =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='character_set_database') AS res;
SET @@global.character_set_database = 1;
SELECT @@global.character_set_database;
SELECT @@global.character_set_database =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='character_set_database') AS res;
--echo '#--------------------FN_DYNVARS_012_13-------------------------#'
##############################################################################
# Check if the value in SESSION Table matches value in variable #
##############################################################################
SELECT @@character_set_database =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_database') AS res;
SELECT @@local.character_set_database =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_database') AS res;
SELECT @@session.character_set_database =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_database') AS res;
####################################
# Restore initial value #
####################################
SET @@global.character_set_database = @global_start_value;
SELECT @@global.character_set_database;
SET @@session.character_set_database = @session_start_value;
SELECT @@session.character_set_database;
#############################################################
# END OF character_set_database TESTS #
#############################################################

View File

@ -0,0 +1,113 @@
############## mysql-test\t\character_set_database_func.test #################
# #
# Variable Name: character_set_database #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: latin1 (session), latin1 (global) #
# Range: NA #
# #
# #
# Creation Date: 2008-03-08 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable character_set_database #
# that checks the behavior of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--echo '#--------------------FN_DYNVARS_008_01-------------------------#'
########################################################################
# Check if setting character_set_database is changed in new connection #
########################################################################
#save
SET @global_character_set_database = @@global.character_set_database;
SET @session_character_set_database = @@session.character_set_database;
SET @session_character_set_server = @@session.character_set_server;
SET @@global.character_set_database = utf8;
--echo 'connect (con1,localhost,root,,,,)'
connect (con1,localhost,root,,,,);
--echo 'connection con1'
connection con1;
SELECT @@global.character_set_database;
SELECT @@session.character_set_database;
--echo 'Bug#35356: session character_set_database differ from global character_set_database'
disconnect con1;
--echo '#--------------------FN_DYNVARS_008_02-------------------------#'
#############################################################
# Begin the functionality Testing of character_set_database #
#############################################################
--echo 'connection default'
connection default;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
#==============================================================================
--echo '--check if setting session character_set_database effects new databases'
#==============================================================================
SET @@session.character_set_server = utf8;
SELECT @@session.character_set_database;
SET @@session.character_set_database = latin5;
SELECT @@session.character_set_database;
CREATE DATABASE db1;
USE db1;
SHOW CREATE DATABASE db1;
CREATE TABLE t1(a INT, b VARCHAR(40));
SHOW CREATE TABLE t1;
DROP TABLE t1;
DROP DATABASE db1;
--echo 'Bug#35357: character_set_database does not effects CREATE DATABASE without characater set'
#==============================================================================
--echo '--ascii character set specified--'
#==============================================================================
CREATE DATABASE db1 CHARACTER SET ascii;
USE db1;
SHOW CREATE DATABASE db1;
CREATE TABLE t1(a INT, b VARCHAR(40));
SHOW CREATE TABLE t1;
DROP TABLE t1;
DROP DATABASE db1;
#==============================================================================
--echo '------Check if load data uses character_set_database----------'
#==============================================================================
USE test;
CREATE TABLE t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
--echo 'Verify with latin';
SET @@session.character_set_database = latin1;
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
eval LOAD DATA INFILE '../std_data_ln/charset_utf8.txt' INTO TABLE t1;
SELECT count(*) FROM t1 WHERE CHAR_LENGTH(a)>1;
TRUNCATE TABLE t1;
--echo 'Verify with utf8';
SET @@session.character_set_database = utf8;
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
eval LOAD DATA INFILE '../std_data_ln/charset_utf8.txt' INTO TABLE t1;
SELECT count(*) FROM t1 WHERE CHAR_LENGTH(a)>1;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
#restore
SET @@global.character_set_database = @global_character_set_database;
SET @@session.character_set_database = @session_character_set_database;
SET @@session.character_set_server = @session_character_set_server;
############################################################
# End of functionality Testing for character_set_database #
############################################################

View File

@ -0,0 +1,250 @@
############## mysql-test\t\character_set_filesystem_basic.test ###############
# #
# Variable Name: character_set_filesystem #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: latin5 #
# Range: #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable character_set_filesystem #
# 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/load_sysvars.inc
###################################################
## START OF character_set_filesystem TESTS ##
###################################################
#############################################################
# Save initial value #
#############################################################
SET @global_start_value = @@global.character_set_filesystem;
SELECT @global_start_value;
# Save initial session value
SET @session_start_value = @@character_set_filesystem;
SELECT @session_start_value;
# now save using local access
SET @session_start_value = @@local.character_set_filesystem;
SELECT @session_start_value;
# save using default access (session)
SET @session_start_value = @@session.character_set_filesystem;
SELECT @session_start_value;
--echo '#--------------------FN_DYNVARS_008_01------------------#'
###############################################################################
# Test Variable access and assignment with and without @@ #
###############################################################################
# select without @@
--error ER_BAD_FIELD_ERROR
SELECT character_set_filesystem;
# assign value without @@
SET character_set_filesystem=utf8;
SELECT @@session.character_set_filesystem;
# assign global variable without @@
--Error ER_PARSE_ERROR
SET global.character_set_filesystem=utf8;
# using another syntax for accessing session variable
SET session character_set_filesystem=utf8;
# accessing variable with scope the wrong way
--Error ER_BAD_FIELD_ERROR
SELECT session character_set_filesystem;
# using another syntax for accessing dynamic variable
SET global character_set_filesystem=utf8;
--Error ER_BAD_FIELD_ERROR
SELECT global character_set_filesystem;
--echo '#--------------------FN_DYNVARS_008_02-------------------------#'
###############################################################################
# Check the DEFAULT value of character_set_filesystem for session and global #
###############################################################################
SET @@character_set_filesystem = latin5;
SET @@character_set_filesystem = DEFAULT;
SELECT @@character_set_filesystem AS DEFAULT_VALUE;
SET @@global.character_set_filesystem = latin5;
SET @@global.character_set_filesystem = DEFAULT;
SELECT @@global.character_set_filesystem AS DEFAULT_VALUE;
--echo '#--------------------FN_DYNVARS_008_03-------------------------#'
############################################################################
# see if setting global value changes session value and vice versa #
############################################################################
SET @@session.character_set_filesystem = utf8;
SELECT @@session.character_set_filesystem;
SET @@global.character_set_filesystem = latin2;
SELECT @@global.character_set_filesystem;
SELECT @@session.character_set_filesystem AS res_is_utf8;
SET @@session.character_set_filesystem = latin5;
SELECT @@session.character_set_filesystem;
SELECT @@global.character_set_filesystem AS res_is_latin2;
# composite check
SELECT @@global.character_set_filesystem=
@@session.character_set_filesystem AS res_is_false;
--echo '#--------------------FN_DYNVARS_008_04-------------------------#'
################################################################################
# Check if accessing variable with & without session point to session variable #
################################################################################
SELECT @@character_set_filesystem = @@session.character_set_filesystem AS res;
SELECT @@character_set_filesystem = @@local.character_set_filesystem AS res;
--echo '#--------------------FN_DYNVARS_008_05-------------------------#'
###########################################################################
# Check if combining character set works #
###########################################################################
--Error ER_BAD_FIELD_ERROR
SET @@character_set_filesystem = utf8 + latin2;
--echo '#--------------------FN_DYNVARS_008_06-------------------------#'
###############################################################################
# Change the value of character_set_filesystem to a valid value for session #
###############################################################################
let charset_variable = @@session.character_set_filesystem;
--source include/charset_basic.inc
--echo '#--------------------FN_DYNVARS_008_07-------------------------#'
##############################################################################
# Change the value of character_set_filesystem to a valid value for global #
##############################################################################
let charset_variable = @@global.character_set_filesystem;
--source include/charset_basic.inc
--echo '#--------------------FN_DYNVARS_008_08-------------------------#'
#########################################################################
# Change the value of character_set_filesystem to a valid value with #
# uppercase,lowercase and mixedcase #
#########################################################################
SET @@character_set_filesystem = UTF8;
SELECT @@character_set_filesystem;
SET @@character_set_filesystem = utf8;
SELECT @@character_set_filesystem;
SET @@character_set_filesystem = uTf8;
SELECT @@character_set_filesystem;
--echo '#--------------------FN_DYNVARS_008_09-------------------------#'
##############################################################
# Check if 1,2,3, ... values can be used on variable #
##############################################################
SET @@character_set_filesystem = 1;
SELECT @@character_set_filesystem;
SET @@character_set_filesystem = 2;
SELECT @@character_set_filesystem;
SET @@character_set_filesystem = 3;
SELECT @@character_set_filesystem;
SET @@character_set_filesystem = 36;
SELECT @@character_set_filesystem;
SET @@character_set_filesystem = 99;
SELECT @@character_set_filesystem;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_filesystem = 100;
SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS);
SELECT @total_charset;
echo 'Bug # 34843: character sets are mapped in such a way that 100 and following ';
echo 'numbers give error, and before 100 the 36 mapped wraps arround several times.';
--echo '#--------------------FN_DYNVARS_008_10-------------------------#'
################################################################################
# Change the value of character_set_filesystem to an invalid value for session #
################################################################################
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_filesystem = abc;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_filesystem = 1utf8;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_filesystem = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@character_set_filesystem = 1.1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_filesystem = -1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_filesystem = '';
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_filesystem = 'utf';
SET @@character_set_filesystem = true;
SELECT @@character_set_filesystem AS res_with_true;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_filesystem = ON;
--echo '#--------------------FN_DYNVARS_008_11-------------------------#'
################################################################################
# Change the value of character_set_filesystem to an invalid value for global #
################################################################################
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_filesystem = abc;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_filesystem = 1utf8;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_filesystem = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.character_set_filesystem = 1.1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_filesystem = -1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_filesystem = '';
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_filesystem = 'utf';
SET @@global.character_set_filesystem = true;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_filesystem = ON;
--echo '#--------------------FN_DYNVARS_008_12-------------------------#'
##############################################################################
# Check if the value in GLOBAL Table matches value in variable #
##############################################################################
SELECT @@global.character_set_filesystem =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='character_set_filesystem') AS res;
SET @@global.character_set_filesystem = 1;
SELECT @@global.character_set_filesystem;
SELECT @@global.character_set_filesystem =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='character_set_filesystem') AS res;
--echo '#--------------------FN_DYNVARS_008_13-------------------------#'
#############################################################################
# Check if the value in SESSION Table matches value in variable #
#############################################################################
SELECT @@character_set_filesystem =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_filesystem') AS res;
SELECT @@local.character_set_filesystem =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_filesystem') AS res;
SELECT @@session.character_set_filesystem =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_filesystem') AS res;
####################################
# Restore initial value #
####################################
SET @@global.character_set_filesystem = @global_start_value;
SELECT @@global.character_set_filesystem;
SET @@session.character_set_filesystem = @session_start_value;
SELECT @@session.character_set_filesystem;
#############################################################
# END OF character_set_filesystem TESTS #
#############################################################

View File

@ -0,0 +1 @@
--secure-file-priv=$MYSQL_TEST_DIR --innodb

View File

@ -0,0 +1,266 @@
############## mysql-test\t\character_set_results_basic.test ##################
# #
# Variable Name: character_set_results #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: utf8 (session), latin1 (global) #
# Range: NA #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable character_set_results #
# 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/load_sysvars.inc
################################################
## START OF character_set_results TESTS ##
################################################
#############################################################
# Save initial value #
#############################################################
SET @global_start_value = @@global.character_set_results;
SELECT @global_start_value;
# Save initial session value
SET @session_start_value = @@character_set_results;
SELECT @session_start_value;
# now save using local access
SET @session_start_value = @@local.character_set_results;
SELECT @session_start_value;
# save using default access (session)
SET @session_start_value = @@session.character_set_results;
SELECT @session_start_value;
--echo '#--------------------FN_DYNVARS_013_01------------------#'
##############################################################################
# Test Variable access and assignment with and withoud @@ #
##############################################################################
# select without @@
--error ER_BAD_FIELD_ERROR
SELECT character_set_results;
# assign value without @@
SET character_set_results=utf8;
SELECT @@session.character_set_results;
# assign global variable without @@
--Error ER_PARSE_ERROR
SET global.character_set_results=utf8;
# using another syntax for accessing session variable
SET session character_set_results=utf8;
# accessing variable with scope the wrong way
--Error ER_BAD_FIELD_ERROR
SELECT session character_set_results;
# using another syntax for accessing dynamic variable
SET global character_set_results=utf8;
--Error ER_BAD_FIELD_ERROR
SELECT global character_set_results;
--echo '#--------------------FN_DYNVARS_013_02-------------------------#'
###############################################################################
# Check the DEFAULT value of character_set_results for session and global #
###############################################################################
SET @@character_set_results = latin5;
SET @@character_set_results = DEFAULT;
SELECT @@character_set_results AS DEFAULT_VALUE;
SET @@global.character_set_results = latin5;
SET @@global.character_set_results = DEFAULT;
SELECT @@global.character_set_results;
--echo '#--------------------FN_DYNVARS_013_03-------------------------#'
###############################################################################
# see if setting global value changes session value and vice versa #
###############################################################################
SET @@session.character_set_results = utf8;
SELECT @@session.character_set_results;
SET @@global.character_set_results = latin2;
SELECT @@global.character_set_results;
SELECT @@session.character_set_results AS res_is_utf8;
SET @@session.character_set_results = latin5;
SELECT @@session.character_set_results;
SELECT @@global.character_set_results AS res_is_latin2;
# composite check
SELECT @@global.character_set_results=@@session.character_set_results
AS res_is_false;
--echo '#--------------------FN_DYNVARS_013_04-------------------------#'
###################################################################
# Check if accessing variable with and without session point to #
# session variable #
###################################################################
SELECT @@character_set_results = @@session.character_set_results AS res;
SELECT @@character_set_results = @@local.character_set_results AS res;
--echo '#--------------------FN_DYNVARS_013_05-------------------------#'
###########################################################################
# Check if combining character set works #
###########################################################################
--Error ER_BAD_FIELD_ERROR
SET @@character_set_results = utf8 + latin2;
--echo '#--------------------FN_DYNVARS_013_06-------------------------#'
##############################################################################
# Change the value of character_set_results to a valid value for session #
##############################################################################
let charset_variable = @@session.character_set_results;
--source include/charset_basic.inc
--echo '#--------------------FN_DYNVARS_013_07-------------------------#'
###############################################################################
# Change the value of character_set_results to a valid value for global #
###############################################################################
let charset_variable = @@global.character_set_results;
--source include/charset_basic.inc
--echo '#--------------------FN_DYNVARS_013_08-------------------------#'
################################################################################
# Change the value of character_set_results to a valid value with uppercase, #
# lowercase and mixedcase #
################################################################################
SET @@character_set_results = UTF8;
SELECT @@character_set_results;
SET @@character_set_results = utf8;
SELECT @@character_set_results;
SET @@global.character_set_results = uTf8;
SELECT @@global.character_set_results;
--echo '#--------------------FN_DYNVARS_013_09-------------------------#'
##############################################################
# Check if 1,2,3, ... values can be used on variable #
##############################################################
SET @@character_set_results = 1;
SELECT @@character_set_results;
SET @@character_set_results = 2;
SELECT @@character_set_results;
SET @@character_set_results = 3;
SELECT @@character_set_results;
SET @@character_set_results = 36;
SELECT @@character_set_results;
SET @@character_set_results = 99;
SELECT @@character_set_results;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_results = 100;
SET @@global.character_set_results = 1;
SELECT @@global.character_set_results;
SET @@global.character_set_results = 2;
SELECT @@global.character_set_results;
SET @@global.character_set_results = 3;
SELECT @@global.character_set_results;
SET @@global.character_set_results = 36;
SELECT @@global.character_set_results;
SET @@global.character_set_results = 99;
SELECT @@global.character_set_results;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_results = 100;
SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS);
SELECT @total_charset;
--echo 'Bug # 34843: character sets are mapped in such a way that 100 and following';
--echo 'numbers gives error, and before 100 the 36 mapped wraps arround several times.';
--echo '#--------------------FN_DYNVARS_013_10-------------------------#'
###############################################################################
# Change the value of character_set_results to an invalid value for session #
###############################################################################
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_results = abc;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_results = 1utf8;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_results = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@character_set_results = .1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_results = -1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_results = "";
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_results = 'utf';
SET @@character_set_results = true;
SELECT @@character_set_results AS res_with_true;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_results = ON;
--echo '#--------------------FN_DYNVARS_013_11-------------------------#'
###############################################################################
# Change the value of character_set_results to an invalid value for global #
###############################################################################
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_results = "'latin2'";
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_results = 1utf8;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_results = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.character_set_results = 0.1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_results = -1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_results = "";
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_results = 'utf';
SET @@global.character_set_results = true;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_results = ON;
--echo '#--------------------FN_DYNVARS_013_12-------------------------#'
##############################################################################
# Check if the value in GLOBAL Table matches value in variable #
##############################################################################
SELECT @@global.character_set_results =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='character_set_results') AS res;
SET @@global.character_set_results = 1;
SELECT @@global.character_set_results;
SELECT @@global.character_set_results =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='character_set_results') AS res;
--echo '#--------------------FN_DYNVARS_013_13-------------------------#'
##############################################################################
# Check if the value in SESSION Table matches value in variable #
##############################################################################
SELECT @@character_set_results =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_results') AS res;
SELECT @@local.character_set_results =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_results') AS res;
SELECT @@session.character_set_results =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_results') AS res;
####################################
# Restore initial value #
####################################
SET @@global.character_set_results = @global_start_value;
SELECT @@global.character_set_results;
SET @@session.character_set_results = @session_start_value;
SELECT @@session.character_set_results;
#############################################################
# END OF character_set_results TESTS #
#############################################################

View File

@ -0,0 +1,102 @@
############## mysql-test\t\character_set_results_func.test ##################
# #
# Variable Name: character_set_results #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: utf8 (session), latin1 (global) #
# Range: NA #
# #
# #
# Creation Date: 2008-03-08 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable character_set_results #
# that checks the behavior of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--echo '#--------------------FN_DYNVARS_012_01-------------------------#'
#######################################################################
# Check if setting character_set_results is changed in new connection #
#######################################################################
# save
SET @global_character_set_results = @@global.character_set_results;
SET @session_character_set_results = @@session.character_set_results;
SET @@global.character_set_results = utf8;
--echo 'connect (con1,localhost,root,,,,)'
connect (con1,localhost,root,,,,);
--echo 'connection con1'
connection con1;
SELECT @@global.character_set_results;
SELECT @@session.character_set_results;
disconnect con1;
--echo '#--------------------FN_DYNVARS_012_02-------------------------#'
#############################################################
# Begin the functionality Testing of character_set_results #
#############################################################
--echo 'connection default'
connection default;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1(b CHAR(40) character set utf8);
SET NAMES utf8;
#==============================================================================
--echo '----check string literals against different character_set_results---'
#==============================================================================
--echo check if results are converted to character_set_results
SET @@session.character_set_results = greek;
SELECT 'ЁЂЃЄ' AS utf_text;
--echo check effect of character_set_results when introducers are used
SET @@session.character_set_results = latin1;
SELECT _latin1'M<>ller' AS latin1_text;
SET @@session.character_set_results = ascii;
SELECT _latin1'M<>ller' AS latin1_text;
--echo check when we dont want any conversion
SET @@session.character_set_results = NULL;
SELECT 'ЁЂЃЄ' AS utf_text;
#==============================================================================
--echo '---check results from table against different character_set_results--'
#==============================================================================
INSERT INTO t1 VALUES(_utf8'ЁЂЃЄ');
INSERT INTO t1 VALUES('ФХЦЧШ');
SET @@session.character_set_results = NULL;
SELECT b, CHAR_LENGTH(b) FROM t1;
SET @@session.character_set_results = utf8;
SELECT b, CHAR_LENGTH(b) FROM t1;
SET @@session.character_set_results = koi8r;
SELECT b, CHAR_LENGTH(b) FROM t1;
SET @@session.character_set_results = cp1250;
SELECT b, CHAR_LENGTH(b) FROM t1;
DROP TABLE t1;
# restore
--echo 'connection default;'
connection default;
SET @@global.character_set_results = @global_character_set_results;
SET @@session.character_set_results = @session_character_set_results;
##########################################################
# End of functionality Testing for character_set_results #
##########################################################

View File

@ -0,0 +1,267 @@
############## mysql-test\t\character_set_server_basic.test ###################
# #
# Variable Name: character_set_server #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: utf8 (session), latin1 (global) #
# Range: NA #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable character_set_server #
# 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/load_sysvars.inc
###################################################
## START OF character_set_server TESTS ##
###################################################
#############################################################
# Save initial value #
#############################################################
SET @global_start_value = @@global.character_set_server;
SELECT @global_start_value;
# Save initial session value
SET @session_start_value = @@character_set_server;
SELECT @session_start_value;
# now save using local access
SET @session_start_value = @@local.character_set_server;
SELECT @session_start_value;
# save using default access (session)
SET @session_start_value = @@session.character_set_server;
SELECT @session_start_value;
--echo '#--------------------FN_DYNVARS_009_01------------------#'
###############################################################################
# Test Variable access and assignment with and withoud @@ #
###############################################################################
# select without @@
--error ER_BAD_FIELD_ERROR
SELECT character_set_server;
# assign value without @@
SET character_set_server=utf8;
SELECT @@session.character_set_server;
# assign global variable without @@
--Error ER_PARSE_ERROR
SET global.character_set_server=utf8;
# using another syntax for accessing session variable
SET session character_set_server=utf8;
# accessing variable with scope the wrong way
--Error ER_BAD_FIELD_ERROR
SELECT session character_set_server;
# using another syntax for accessing dynamic variable
SET global character_set_server=utf8;
--Error ER_BAD_FIELD_ERROR
SELECT global character_set_server;
--echo '#--------------------FN_DYNVARS_009_02-------------------------#'
###############################################################################
# Check the DEFAULT value of character_set_server for session and global #
###############################################################################
SET @@character_set_server = latin5;
SET @@character_set_server = DEFAULT;
SELECT @@character_set_server AS DEFAULT_VALUE;
SET @@global.character_set_server = latin5;
SET @@global.character_set_server = DEFAULT;
SELECT @@global.character_set_server;
--echo '#--------------------FN_DYNVARS_009_03-------------------------#'
###############################################################################
# see if setting global value changes session value and vice versa #
###############################################################################
SET @@session.character_set_server = utf8;
SELECT @@session.character_set_server;
SET @@global.character_set_server = latin2;
SELECT @@global.character_set_server;
SELECT @@session.character_set_server AS res_is_utf8;
SET @@session.character_set_server = latin5;
SELECT @@session.character_set_server;
SELECT @@global.character_set_server AS res_is_latin2;
# composite check
SELECT @@global.character_set_server=@@session.character_set_server
AS res_is_false;
--echo '#--------------------FN_DYNVARS_009_04-------------------------#'
###############################################################################
# Check if accessing variable with and without session point #
# to session variable #
###############################################################################
SELECT @@character_set_server = @@session.character_set_server AS res;
SELECT @@character_set_server = @@local.character_set_server AS res;
--echo '#--------------------FN_DYNVARS_009_05-------------------------#'
###########################################################################
# Check if combining character set works #
###########################################################################
--Error ER_BAD_FIELD_ERROR
SET @@character_set_server = utf8 + latin2;
--echo '#--------------------FN_DYNVARS_009_06-------------------------#'
###############################################################################
# Change the value of character_set_server to a valid value for session #
###############################################################################
let charset_variable = @@session.character_set_server;
--source include/charset_basic.inc
--echo '#--------------------FN_DYNVARS_009_07-------------------------#'
###############################################################################
# Change the value of character_set_server to a valid value for global #
###############################################################################
let charset_variable = @@global.character_set_server;
--source include/charset_basic.inc
--echo '#--------------------FN_DYNVARS_009_08-------------------------#'
###############################################################################
# Change the value of character_set_server to a valid value with uppercase, #
# lowercase and mixedcase #
###############################################################################
SET @@character_set_server = UTF8;
SELECT @@character_set_server;
SET @@character_set_server = utf8;
SELECT @@character_set_server;
SET @@global.character_set_server = uTf8;
SELECT @@global.character_set_server;
--echo '#--------------------FN_DYNVARS_009_09-------------------------#'
##############################################################
# Check if 1,2,3, ... values can be used on variable #
##############################################################
SET @@character_set_server = 1;
SELECT @@character_set_server;
SET @@character_set_server = 2;
SELECT @@character_set_server;
SET @@character_set_server = 3;
SELECT @@character_set_server;
SET @@character_set_server = 36;
SELECT @@character_set_server;
SET @@character_set_server = 99;
SELECT @@character_set_server;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_server = 100;
SET @@global.character_set_server = 1;
SELECT @@global.character_set_server;
SET @@global.character_set_server = 2;
SELECT @@global.character_set_server;
SET @@global.character_set_server = 36;
SELECT @@global.character_set_server;
SET @@global.character_set_server = 99;
SELECT @@global.character_set_server;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_server = 100;
SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS);
SELECT @total_charset;
--echo 'Bug # 34843: character sets are mapped in such a way that 100 and following ';
--echo 'numbers gives error, and before 100 the 36 mapped wraps arround ';
--echo 'several times.';
--echo '#--------------------FN_DYNVARS_009_10-------------------------#'
###############################################################################
# Change the value of character_set_server to an invalid value for session #
###############################################################################
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_server = abc;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_server = 1utf8;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_server = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@character_set_server = 1.1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_server = -1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_server = '';
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_server = 'utf';
SET @@character_set_server = true;
SELECT @@character_set_server AS res_with_true;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@character_set_server = ON;
--echo '#--------------------FN_DYNVARS_009_11-------------------------#'
###############################################################################
# Change the value of character_set_server to an invalid value for global #
###############################################################################
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_server = abc;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_server = 1utf8;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_server = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.character_set_server = 1.1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_server = -1;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_server = '';
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_server = 'utf';
SET @@global.character_set_server = true;
--Error ER_UNKNOWN_CHARACTER_SET
SET @@global.character_set_server = ON;
--echo '#--------------------FN_DYNVARS_009_12-------------------------#'
###############################################################################
# Check if the value in GLOBAL Table matches value in variable #
###############################################################################
SELECT @@global.character_set_server =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='character_set_server') AS res;
SET @@global.character_set_server = 1;
SELECT @@global.character_set_server;
SELECT @@global.character_set_server =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='character_set_server') AS res;
--echo '#--------------------FN_DYNVARS_009_13-------------------------#'
###############################################################################
# Check if the value in SESSION Table matches value in variable #
###############################################################################
SELECT @@character_set_server =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_server') AS res;
SELECT @@local.character_set_server =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_server') AS res;
SELECT @@session.character_set_server =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='character_set_server') AS res;
####################################
# Restore initial value #
####################################
SET @@global.character_set_server = @global_start_value;
SELECT @@global.character_set_server;
SET @@session.character_set_server = @session_start_value;
SELECT @@session.character_set_server;
#############################################################
# END OF character_set_server TESTS #
#############################################################

View File

@ -0,0 +1,106 @@
############## mysql-test\t\character_set_server_func.test ###################
# #
# Variable Name: character_set_server #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: utf8 (session), latin1 (global) #
# Range: NA #
# #
# #
# Creation Date: 2008-03-08 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable character_set_server #
# that checks the behavior of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--echo '#--------------------FN_DYNVARS_009_01-------------------------#'
######################################################################
# Check if setting character_set_server is changed in new connection #
######################################################################
#save
SET @global_character_set_server = @@global.character_set_server;
SET @session_character_set_server = @@session.character_set_server;
SET @@global.character_set_server = utf8;
--echo 'connect (con1,localhost,root,,,,)'
connect (con1,localhost,root,,,,);
--echo 'connection con1'
connection con1;
SELECT @@global.character_set_server;
SELECT @@session.character_set_server;
disconnect con1;
--echo '#--------------------FN_DYNVARS_009_02-------------------------#'
#############################################################
# Begin the functionality Testing of character_set_server #
#############################################################
--echo 'connection default'
connection default;
#The server character set and collation are used as default values if the database
#character set and collation are not specified in CREATE DATABASE statements.
#==============================================================================
--echo '---global character_set_server should not effects current connection---'
#==============================================================================
SET @@global.character_set_server = utf8;
CREATE DATABASE db1;
USE db1;
SHOW CREATE DATABASE db1;
DROP DATABASE db1;
select @@character_set_database;
#==============================================================================
--echo '---session character_set_server should effects current connection---'
#==============================================================================
SET @@session.character_set_server = utf8;
CREATE DATABASE db1;
USE db1;
SHOW CREATE DATABASE db1;
DROP DATABASE db1;
select @@character_set_database;
#==============================================================================
--echo '----test with new connection----'
#==============================================================================
--echo 'connect (con1,localhost,root,,,,)'
connect (con1,localhost,root,,,,);
--echo 'connection con1'
connection con1;
SELECT @@session.character_set_server;
--echo '----------character set not specified---------'
CREATE DATABASE db1;
USE db1;
SHOW CREATE DATABASE db1;
DROP DATABASE db1;
SELECT @@character_set_database;
--echo '----------ascii character set specified----------'
CREATE DATABASE db1 character set ascii;
USE db1;
SHOW CREATE DATABASE db1;
DROP DATABASE db1;
select @@character_set_database;
disconnect con1;
#restore
--echo 'connection default;'
connection default;
SET @@global.character_set_server = @global_character_set_server;
SET @@session.character_set_server = @session_character_set_server;
############################################################
# End of functionality Testing for character_set_server #
############################################################

View File

@ -0,0 +1,100 @@
################## mysql-test\t\character_set_system_basic.test ###############
# #
# Variable Name: character_set_system #
# Scope: Global #
# Access Type: Static #
# Data Type: string #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable character_set_system #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_003_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.character_set_system);
--echo 1 Expected
--echo '#---------------------BS_STVARS_003_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.character_set_system=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.character_set_system);
--echo 1 Expected
--echo '#---------------------BS_STVARS_003_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.character_set_system = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='character_set_system';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.character_set_system);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='character_set_system';
--echo 1 Expected
--echo '#---------------------BS_STVARS_003_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@character_set_system = @@GLOBAL.character_set_system;
--echo 1 Expected
--echo '#---------------------BS_STVARS_003_05----------------------#'
################################################################################
# Check if character_set_system can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@character_set_system);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.character_set_system);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.character_set_system);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.character_set_system);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT character_set_system = @@SESSION.character_set_system;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,260 @@
############## mysql-test\t\collation_connection_basic.test ###################
# #
# Variable Name: collation_connection #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: #
# Range: #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable collation_connection #
# 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/load_sysvars.inc
###################################################
## START OF collation_connection TESTS ##
###################################################
#############################################################
# Save initial value #
#############################################################
SET @global_start_value = @@global.collation_connection;
SELECT @global_start_value;
# Save initial session value
SET @session_start_value = @@collation_connection;
SELECT @session_start_value;
# now save using local access
SET @session_start_value = @@local.collation_connection;
SELECT @session_start_value;
# save using implicit session scope
SET @session_start_value = @@session.collation_connection;
SELECT @session_start_value;
--echo '#--------------------FN_DYNVARS_015_01------------------#'
###############################################################################
# Test Variable access and assignment with and without @@ #
###############################################################################
# select without @@
--error ER_BAD_FIELD_ERROR
SELECT collation_connection;
# assign value without @@
SET collation_connection=utf8_unicode_ci;
SELECT @@session.collation_connection;
# assign global variable without @@
--Error ER_PARSE_ERROR
SET global.collation_connection=utf8_unicode_ci;
# using another syntax for accessing session variable
SET session collation_connection=utf8_unicode_ci;
# accessing variable with scope the wrong way
--Error ER_BAD_FIELD_ERROR
SELECT session collation_connection;
# using another syntax for accessing dynamic variable
SET global collation_connection=utf8_unicode_ci;
--Error ER_BAD_FIELD_ERROR
SELECT global collation_connection;
--echo '#--------------------FN_DYNVARS_015_02-------------------------#'
###############################################################################
# Check the DEFAULT value of collation_connection for session and global #
###############################################################################
SET @@collation_connection = latin1_bin;
SET @@collation_connection = DEFAULT;
SELECT @@collation_connection AS DEFAULT_VALUE;
SET @@global.collation_connection = latin1_bin;
SET @@global.collation_connection = DEFAULT;
SELECT @@global.collation_connection;
--echo '#--------------------FN_DYNVARS_015_03-------------------------#'
##############################################################################
# see if setting global value changes session value and vice versa #
##############################################################################
SET @@session.collation_connection = utf8_polish_ci;
SELECT @@session.collation_connection;
SET @@global.collation_connection = latin7_general_ci;
SELECT @@global.collation_connection;
SELECT @@session.collation_connection AS res_is_utf8_polish_ci;
SET @@session.collation_connection = latin7_bin;
SELECT @@session.collation_connection;
SELECT @@global.collation_connection AS res_is_latin7_general_ci;
# composite check
SELECT @@global.collation_connection=@@session.collation_connection
AS res_is_false;
--echo '#--------------------FN_DYNVARS_015_04-------------------------#'
###############################################################################
# Check if accessing variable with and without session point to session #
# variable #
###############################################################################
SELECT @@collation_connection = @@session.collation_connection AS res;
SELECT @@collation_connection = @@local.collation_connection AS res;
--echo '#--------------------FN_DYNVARS_015_05-------------------------#'
###########################################################################
# Check if combining character set works #
###########################################################################
--Error ER_BAD_FIELD_ERROR
SET @@collation_connection = latin7_general_ci + latin7_general_cs;
--echo '#--------------------FN_DYNVARS_015_06-------------------------#'
###############################################################################
# Change the value of collation_connection to a valid value for session #
###############################################################################
let collation_variable = @@session.collation_connection;
--source include/collation_basic.inc
--echo '#--------------------FN_DYNVARS_015_07-------------------------#'
###############################################################################
# Change the value of collation_connection to a valid value for global #
###############################################################################
let collation_variable = @@global.collation_connection;
--source include/collation_basic.inc
--echo '#--------------------FN_DYNVARS_015_08-------------------------#'
##############################################################################
# Change the value of collation_connection to a valid value with uppercase, #
# lowercase and mixedcase #
##############################################################################
SET @@collation_connection = LATIN7_GENERAL_CS;
SELECT @@collation_connection;
SET @@collation_connection = latin7_general_cs;
SELECT @@collation_connection;
SET @@global.collation_connection = Latin7_GeneRal_cS;
SELECT @@global.collation_connection;
--echo '#--------------------FN_DYNVARS_015_09-------------------------#'
##############################################################
# Check if 1,2,3, ... values can be used on variable #
##############################################################
SET @@collation_connection = 1;
SELECT @@collation_connection;
SET @@collation_connection = 2;
SELECT @@collation_connection;
SET @@collation_connection = 3;
SELECT @@collation_connection;
SET @@collation_connection = 99;
SELECT @@collation_connection;
--Error ER_UNKNOWN_COLLATION
SET @@collation_connection = 100;
SET @@global.collation_connection = 1;
SELECT @@global.collation_connection;
SET @@global.collation_connection = 2;
SELECT @@global.collation_connection;
SET @@global.collation_connection = 3;
SELECT @@global.collation_connection;
SET @@global.collation_connection = 99;
SELECT @@global.collation_connection;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_connection = 100;
SET @total_collations = (SELECT count(*) FROM INFORMATION_SCHEMA.COLLATIONS);
SELECT @total_collations > 120;
--echo '#--------------------FN_DYNVARS_015_10-------------------------#'
###############################################################################
# Change the value of collation_connection to an invalid value for session #
###############################################################################
--Error ER_UNKNOWN_COLLATION
SET @@collation_connection = latin7_binary;
--Error ER_UNKNOWN_COLLATION
SET @@collation_connection = 'eucjpms_japanese_cs';
--Error ER_UNKNOWN_COLLATION
SET @@collation_connection = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@collation_connection = 1.01;
--Error ER_UNKNOWN_COLLATION
SET @@collation_connection = -1;
--Error ER_UNKNOWN_COLLATION
SET @@collation_connection = '';
--Error ER_UNKNOWN_COLLATION
SET @@collation_connection = ' eucjpms_bin';
SET @@collation_connection = true;
SELECT @@collation_connection AS res_with_true;
--Error ER_UNKNOWN_COLLATION
SET @@collation_connection = ON;
--echo '#--------------------FN_DYNVARS_015_11-------------------------#'
###############################################################################
# Change the value of collation_connection to an invalid value for global #
###############################################################################
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_connection = latin7_binary;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_connection = 'eucjpms_japanese_cs';
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_connection = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.collation_connection = 1.1;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_connection = -1;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_connection = "";
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_connection = ' eucjpms_bin';
SET @@global.collation_connection = true;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_connection = ON;
--echo '#--------------------FN_DYNVARS_015_12-------------------------#'
##############################################################################
# Check if the value in GLOBAL Table matches value in variable #
##############################################################################
SELECT @@global.collation_connection =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='collation_connection') AS res;
SET @@global.collation_connection = 1;
SELECT @@global.collation_connection;
SELECT @@global.collation_connection =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='collation_connection') AS res;
--echo '#--------------------FN_DYNVARS_015_13-------------------------#'
###############################################################################
# Check if the value in SESSION Table matches value in variable #
###############################################################################
SELECT @@collation_connection =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='collation_connection') AS res;
SELECT @@local.collation_connection =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='collation_connection') AS res;
SELECT @@session.collation_connection =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='collation_connection') AS res;
####################################
# Restore initial value #
####################################
SET @@global.collation_connection = @global_start_value;
SELECT @@global.collation_connection;
SET @@session.collation_connection = @session_start_value;
SELECT @@session.collation_connection;
#############################################################
# END OF collation_connection TESTS #
#############################################################

View File

@ -0,0 +1,95 @@
############## mysql-test\t\collation_connection_func.test ###################
# #
# Variable Name: collation_connection #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: #
# Range: #
# #
# #
# Creation Date: 2008-03-08 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable collation_connection #
# that checks the behavior of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--echo '#--------------------FN_DYNVARS_015_01-------------------------#'
######################################################################
# Check if setting collation_connection is changed in new connection #
######################################################################
SET @global_collation_connection = @@global.collation_connection;
SET @session_collation_connection = @@session.collation_connection;
SET @@global.collation_connection = latin1_danish_ci;
--echo 'connect (con1,localhost,root,,,,)'
connect (con1,localhost,root,,,,);
--echo 'connection con1'
connection con1;
SELECT @@global.collation_connection;
SELECT @@session.collation_connection;
disconnect con1;
--echo '#--------------------FN_DYNVARS_015_02-------------------------#'
###########################################################
# Begin the functionality Testing of collation_connection #
###########################################################
--echo 'connection default'
connection default;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
#==============================================================================
--echo '----check if collation_connection update character_set_connection---'
#==============================================================================
SET @@session.collation_connection = utf8_spanish_ci;
SELECT @@collation_connection, @@character_set_database;
#==============================================================================
--echo '---check if collation_connection works for literal string comparision--'
#==============================================================================
SET @@session.collation_connection = latin1_swedish_ci;
SELECT 'mysql'='MySql';
SELECT _latin2'mysql' COLLATE latin2_general_ci='MySql';
SELECT _utf8'mysql'=_utf8'MySql' COLLATE utf8_unicode_ci;
SET @@session.collation_connection = latin1_general_cs;
SELECT 'mysql'='MySql';
SELECT _latin2'mysql'COLLATE latin2_general_ci='MySql';
--Error ER_CANT_AGGREGATE_2COLLATIONS
SELECT _utf8'mysql'COLLATE utf8_danish_ci=_utf8'MySql'COLLATE utf8_unicode_ci;
#==============================================================================
--echo '---collation_connection does not effect comparision with column---'
#==============================================================================
# fill table with some test data
CREATE TABLE t1(a CHAR(20)CHARACTER SET latin1 COLLATE latin1_german2_ci);
INSERT INTO t1 VALUES('M<>ller');
SET @@session.collation_connection = latin2_hungarian_ci;
SELECT * FROM t1 WHERE a='M<>ller';
SET @@session.collation_connection = latin1_general_cs;
SELECT * FROM t1 WHERE a='m<>ller';
--echo 'check if string literal collation is used';
SELECT * FROM t1 WHERE a='m<>ller' COLLATE latin1_general_cs;
SELECT * FROM t1 WHERE a='m<>ller' COLLATE latin1_german1_ci;
# clean up
DROP TABLE t1;
SET @@global.collation_connection = @global_collation_connection;
SET @@session.collation_connection = @session_collation_connection;
#########################################################
# End of functionality Testing for collation_connection #
#########################################################

View File

@ -0,0 +1,259 @@
############## mysql-test\t\collation_database_basic.test #####################
# #
# Variable Name: collation_database #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: #
# Range: #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable collation_database #
# 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/load_sysvars.inc
###################################################
## START OF collation_database TESTS ##
###################################################
#############################################################
# Save initial value #
#############################################################
SET @global_start_value = @@global.collation_database;
SELECT @global_start_value;
# Save initial session value
SET @session_start_value = @@collation_database;
SELECT @session_start_value;
# now save using local access
SET @session_start_value = @@local.collation_database;
SELECT @session_start_value;
# save using implicit session scope
SET @session_start_value = @@session.collation_database;
SELECT @session_start_value;
--echo '#--------------------FN_DYNVARS_016_01------------------#'
###############################################################################
# Test Variable access and assignment with and without @@ #
###############################################################################
# select without @@
--error ER_BAD_FIELD_ERROR
SELECT collation_database;
# assign value without @@
SET collation_database=utf8_unicode_ci;
SELECT @@session.collation_database;
# assign global variable without @@
--Error ER_PARSE_ERROR
SET global.collation_database=utf8_unicode_ci;
# using another syntax for accessing session variable
SET session collation_database=utf8_unicode_ci;
# accessing variable with scope the wrong way
--Error ER_BAD_FIELD_ERROR
SELECT session collation_database;
# using another syntax for accessing dynamic variable
SET global collation_database=utf8_unicode_ci;
--Error ER_BAD_FIELD_ERROR
SELECT global collation_database;
--echo '#--------------------FN_DYNVARS_016_02-------------------------#'
##############################################################################
# Check the DEFAULT value of collation_database for session and global #
##############################################################################
SET @@collation_database = latin1_bin;
SET @@collation_database = DEFAULT;
SELECT @@collation_database AS DEFAULT_VALUE;
SET @@global.collation_database = latin1_bin;
SET @@global.collation_database = DEFAULT;
SELECT @@global.collation_database;
--echo '#--------------------FN_DYNVARS_016_03-------------------------#'
##############################################################################
# see if setting global value changes session value and vice versa #
##############################################################################
SET @@session.collation_database = utf8_polish_ci;
SELECT @@session.collation_database;
SET @@global.collation_database = latin7_general_ci;
SELECT @@global.collation_database;
SELECT @@session.collation_database AS res_is_utf8_polish_ci;
SET @@session.collation_database = latin7_bin;
SELECT @@session.collation_database;
SELECT @@global.collation_database AS res_is_latin7_general_ci;
# composite check
SELECT @@global.collation_database=@@session.collation_database AS res_is_false;
--echo '#--------------------FN_DYNVARS_016_04-------------------------#'
###############################################################################
# Check if accessing variable with and without session point to session #
# variable #
###############################################################################
SELECT @@collation_database = @@session.collation_database AS res;
SELECT @@collation_database = @@local.collation_database AS res;
--echo '#--------------------FN_DYNVARS_016_05-------------------------#'
###########################################################################
# Check if combining character set works #
###########################################################################
--Error ER_BAD_FIELD_ERROR
SET @@collation_database = latin7_general_ci + latin7_general_cs;
--echo '#--------------------FN_DYNVARS_016_06-------------------------#'
###########################################################################
# Change the value of collation_database to a valid value for session #
###########################################################################
let collation_variable = @@session.collation_database;
--source include/collation_basic.inc
--echo '#--------------------FN_DYNVARS_016_07-------------------------#'
###############################################################################
# Change the value of collation_database to a valid value for global #
###############################################################################
let collation_variable = @@global.collation_database;
--source include/collation_basic.inc
--echo '#--------------------FN_DYNVARS_016_08-------------------------#'
#############################################################################
# Change the value of collation_database to a valid value with uppercase, #
# lowercase and mixedcase #
#############################################################################
SET @@collation_database = LATIN7_GENERAL_CS;
SELECT @@collation_database;
SET @@collation_database = latin7_general_cs;
SELECT @@collation_database;
SET @@global.collation_database = Latin7_GeneRal_cS;
SELECT @@global.collation_database;
--echo '#--------------------FN_DYNVARS_016_09-------------------------#'
##############################################################
# Check if 1,2,3, ... values can be used on variable #
##############################################################
SET @@collation_database = 1;
SELECT @@collation_database;
SET @@collation_database = 2;
SELECT @@collation_database;
SET @@collation_database = 3;
SELECT @@collation_database;
SET @@collation_database = 99;
SELECT @@collation_database;
--Error ER_UNKNOWN_COLLATION
SET @@collation_database = 100;
SET @@global.collation_database = 1;
SELECT @@global.collation_database;
SET @@global.collation_database = 2;
SELECT @@global.collation_database;
SET @@global.collation_database = 3;
SELECT @@global.collation_database;
SET @@global.collation_database = 99;
SELECT @@global.collation_database;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_database = 100;
SET @total_collations = (SELECT count(*) FROM INFORMATION_SCHEMA.COLLATIONS);
SELECT @total_collations > 120;
--echo '#--------------------FN_DYNVARS_016_10-------------------------#'
###############################################################################
# Change the value of collation_database to an invalid value for session #
###############################################################################
--Error ER_UNKNOWN_COLLATION
SET @@collation_database = latin7_binary;
--Error ER_UNKNOWN_COLLATION
SET @@collation_database = 'eucjpms_japanese_cs';
--Error ER_UNKNOWN_COLLATION
SET @@collation_database = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@collation_database = 1.01;
--Error ER_UNKNOWN_COLLATION
SET @@collation_database = -1;
--Error ER_UNKNOWN_COLLATION
SET @@collation_database = '';
--Error ER_UNKNOWN_COLLATION
SET @@collation_database = ' eucjpms_bin';
SET @@collation_database = true;
SELECT @@collation_database AS res_with_true;
--Error ER_UNKNOWN_COLLATION
SET @@collation_database = ON;
--echo '#--------------------FN_DYNVARS_016_11-------------------------#'
###############################################################################
# Change the value of collation_database to an invalid value for global #
###############################################################################
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_database = latin7_binary;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_database = 'eucjpms_japanese_cs';
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_database = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.collation_database = 1.1;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_database = -1;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_database = "";
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_database = ' eucjpms_bin';
SET @@global.collation_database = true;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_database = ON;
--echo '#--------------------FN_DYNVARS_016_12-------------------------#'
###############################################################################
# Check if the value in GLOBAL Table matches value in variable #
###############################################################################
SELECT @@global.collation_database =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='collation_database') AS res;
SET @@global.collation_database = 1;
SELECT @@global.collation_database;
SELECT @@global.collation_database =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='collation_database') AS res;
--echo '#--------------------FN_DYNVARS_016_13-------------------------#'
##############################################################################
# Check if the value in SESSION Table matches value in variable #
##############################################################################
SELECT @@collation_database =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='collation_database') AS res;
SELECT @@local.collation_database =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='collation_database') AS res;
SELECT @@session.collation_database =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='collation_database') AS res;
####################################
# Restore initial value #
####################################
SET @@global.collation_database = @global_start_value;
SELECT @@global.collation_database;
SET @@session.collation_database = @session_start_value;
SELECT @@session.collation_database;
###########################################################
# END OF collation_database TESTS #
###########################################################

View File

@ -0,0 +1,138 @@
############## mysql-test\t\collation_database_func.test #####################
# #
# Variable Name: collation_database #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: #
# Range: #
# #
# #
# Creation Date: 2008-03-08 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable collation_database #
# that checks the behavior of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--echo '#--------------------FN_DYNVARS_011_01-------------------------#'
####################################################################
# Check if setting collation_database is changed in new connection #
####################################################################
SET @global_collation_database = @@global.collation_database;
SET @session_collation_database = @@session.collation_database;
SET @session_collation_server = @@session.collation_server;
SET @@global.collation_database = latin1_danish_ci;
--echo 'connect (con1,localhost,root,,,,)'
connect (con1,localhost,root,,,,);
--echo 'connection con1'
connection con1;
SELECT @@global.collation_database;
SELECT @@session.collation_database;
disconnect con1;
--echo 'Bug#35378: New session collation_database is not change by global collation_database'
--echo '#--------------------FN_DYNVARS_011_02-------------------------#'
#########################################################
# Begin the functionality Testing of collation_database #
#########################################################
--echo 'connection default'
connection default;
--disable_warnings
DROP TABLE IF EXISTS t1,t2;
--enable_warnings
SELECT @@character_set_server,@@collation_server;
#==============================================================================
--echo '--check if setting collation_database update character_set_database--'
#==============================================================================
SET @@session.collation_database = utf8_spanish_ci;
SELECT @@collation_database, @@character_set_database;
#==============================================================================
--echo '--check if collation_database effects database/tables charset/collation'
#==============================================================================
SET @@session.collation_server = utf8_roman_ci;
SET @@session.collation_database = latin2_croatian_ci;
CREATE DATABASE db1;
USE db1;
SHOW CREATE DATABASE db1;
--echo 'Bug#35380: collation_database does not effects CREATE DATABASE without characater set'
CREATE TABLE t1(a CHAR(20));
SHOW CREATE TABLE t1;
#==============================================================================
--echo '---check if updating collation_database effects new table/column---'
#==============================================================================
SET @@session.collation_database = latin7_general_cs;
CREATE TABLE t2(a CHAR(10));
SHOW CREATE TABLE t2;
DROP TABLE t1,t2;
#==============================================================================
--echo '--check value of collation and character set when current db is dropped'
#==============================================================================
DROP DATABASE db1;
SELECT @@collation_database,@@collation_server,@@character_set_database,@@character_set_server;
USE test;
SELECT @@collation_database,@@collation_server,@@character_set_database,@@character_set_server;
--echo 'fill table with some test data';
CREATE TABLE t1(a CHAR(20))CHARACTER SET=latin1;
INSERT INTO t1 VALUES('Muffler'),('M<>ller'),('MX Systems');
#==============================================================================
--echo '---check if collation_database effects results sort order---'
#==============================================================================
SET @@session.collation_database = latin1_swedish_ci;
SELECT * FROM t1 ORDER BY a;
SET @@session.collation_database = latin1_german1_ci;
SELECT * FROM t1 ORDER BY a;
--echo 'explicit Collate clause should effects results sort order';
SELECT * FROM t1 ORDER BY a COLLATE latin1_swedish_ci;
SELECT * FROM t1 ORDER BY a COLLATE latin1_german1_ci;
#==============================================================================
--echo '----check if indexing is effected by collation_database---'
#==============================================================================
SET @@session.collation_database = latin1_swedish_ci;
ALTER TABLE t1 ADD PRIMARY KEY (a);
REPAIR TABLE t1;
SELECT * FROM t1 ORDER BY a;
ALTER TABLE t1 DROP PRIMARY KEY;
SET @@session.collation_database = latin1_german1_ci;
ALTER TABLE t1 ADD PRIMARY KEY (a);
REPAIR TABLE t1;
SELECT * FROM t1 ORDER BY a;
# clean up
DROP TABLE t1;
SET @@global.collation_database = @global_collation_database;
SET @@session.collation_database = @session_collation_database;
SET @@session.collation_server = @session_collation_server;
#######################################################
# End of functionality Testing for collation_database #
#######################################################

View File

@ -0,0 +1,261 @@
############## mysql-test\t\collation_server_basic.test #######################
# #
# Variable Name: collation_server #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: #
# Range: NA #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable collation_server #
# 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/load_sysvars.inc
###################################################
## START OF collation_server TESTS ##
###################################################
#############################################################
# Save initial value #
#############################################################
SET @global_start_value = @@global.collation_server;
SELECT @global_start_value;
# Save initial session value
SET @session_start_value = @@collation_server;
SELECT @session_start_value;
# now save using local access
SET @session_start_value = @@local.collation_server;
SELECT @session_start_value;
# save using implicit session scope
SET @session_start_value = @@session.collation_server;
SELECT @session_start_value;
--echo '#--------------------FN_DYNVARS_014_01------------------#'
###############################################################################
# Test Variable access and assignment with and without @@ #
###############################################################################
# select without @@
--error ER_BAD_FIELD_ERROR
SELECT collation_server;
# assign value without @@
SET collation_server=utf8_unicode_ci;
SELECT @@session.collation_server;
# assign global variable without @@
--Error ER_PARSE_ERROR
SET global.collation_server=utf8_unicode_ci;
# using another syntax for accessing session variable
SET session collation_server=utf8_unicode_ci;
# accessing variable with scope the wrong way
--Error ER_BAD_FIELD_ERROR
SELECT session collation_server;
# using another syntax for accessing dynamic variable
SET global collation_server=utf8_unicode_ci;
--Error ER_BAD_FIELD_ERROR
SELECT global collation_server;
--echo '#--------------------FN_DYNVARS_014_02-------------------------#'
###############################################################################
# Check the DEFAULT value of collation_server for session and global #
###############################################################################
SET @@collation_server = latin1_bin;
SET @@collation_server = DEFAULT;
SELECT @@collation_server AS DEFAULT_VALUE;
SET @@global.collation_server = latin1_bin;
SET @@global.collation_server = DEFAULT;
SELECT @@global.collation_server;
--echo '#--------------------FN_DYNVARS_014_03-------------------------#'
###########################################################################
# Check if setting global value changes session value and vice versa #
###########################################################################
SET @@session.collation_server = utf8_polish_ci;
SELECT @@session.collation_server;
SET @@global.collation_server = latin7_general_ci;
SELECT @@global.collation_server;
SELECT @@session.collation_server AS res_is_utf8_polish_ci;
SET @@session.collation_server = latin7_bin;
SELECT @@session.collation_server;
SELECT @@global.collation_server AS res_is_latin7_general_ci;
# composite check
SELECT @@global.collation_server=@@session.collation_server AS res_is_false;
--echo '#--------------------FN_DYNVARS_014_04-------------------------#'
#############################################################################
# Check if accessing variable with and without session point to #
# session variable #
#############################################################################
SELECT @@collation_server = @@session.collation_server AS res;
SELECT @@collation_server = @@local.collation_server AS res;
--echo '#--------------------FN_DYNVARS_014_05-------------------------#'
###########################################################################
# Check if combining character set works #
###########################################################################
--Error ER_BAD_FIELD_ERROR
SET @@collation_server = latin7_general_ci + latin7_general_cs;
--echo '#--------------------FN_DYNVARS_014_06-------------------------#'
##############################################################################
# Change the value of collation_server to a valid value for session #
##############################################################################
let collation_variable = @@session.collation_server;
--source include/collation_basic.inc
--echo '#--------------------FN_DYNVARS_014_07-------------------------#'
#############################################################################
# Change the value of collation_server to a valid value for global #
#############################################################################
let collation_variable = @@global.collation_server;
--source include/collation_basic.inc
--echo '#--------------------FN_DYNVARS_014_08-------------------------#'
#############################################################################
# Change the value of collation_server to a valid value with uppercase, #
# lowercase and mixedcase #
#############################################################################
SET @@collation_server = LATIN7_GENERAL_CS;
SELECT @@collation_server;
SET @@collation_server = latin7_general_cs;
SELECT @@collation_server;
SET @@global.collation_server = Latin7_GeneRal_cS;
SELECT @@global.collation_server;
--echo '#--------------------FN_DYNVARS_014_09-------------------------#'
##############################################################
# Check if 1,2,3, ... values can be used on variable #
##############################################################
SET @@collation_server = 1;
SELECT @@collation_server;
SET @@collation_server = 2;
SELECT @@collation_server;
SET @@collation_server = 3;
SELECT @@collation_server;
SET @@collation_server = 99;
SELECT @@collation_server;
--Error ER_UNKNOWN_COLLATION
SET @@collation_server = 100;
SET @@global.collation_server = 1;
SELECT @@global.collation_server;
SET @@global.collation_server = 2;
SELECT @@global.collation_server;
SET @@global.collation_server = 3;
SELECT @@global.collation_server;
SET @@global.collation_server = 99;
SELECT @@global.collation_server;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_server = 100;
SET @total_collations = (SELECT count(*) FROM INFORMATION_SCHEMA.COLLATIONS);
SELECT @total_collations > 120;
--echo '#--------------------FN_DYNVARS_014_10-------------------------#'
###############################################################################
# Change the value of collation_server to an invalid value for session #
###############################################################################
--Error ER_UNKNOWN_COLLATION
SET @@collation_server = latin7_binary;
--Error ER_UNKNOWN_COLLATION
SET @@collation_server = 'eucjpms_japanese_cs';
--Error ER_UNKNOWN_COLLATION
SET @@collation_server = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@collation_server = 1.01;
--Error ER_UNKNOWN_COLLATION
SET @@collation_server = -1;
--Error ER_UNKNOWN_COLLATION
SET @@collation_server = '';
--Error ER_UNKNOWN_COLLATION
SET @@collation_server = ' eucjpms_bin';
SET @@collation_server = true;
SELECT @@collation_server AS res_with_true;
--Error ER_UNKNOWN_COLLATION
SET @@collation_server = ON;
--echo '#--------------------FN_DYNVARS_014_11-------------------------#'
###############################################################################
# Change the value of collation_server to an invalid value for global #
###############################################################################
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_server = latin7_binary;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_server = 'eucjpms_japanese_cs';
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_server = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.collation_server = 1.1;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_server = -1;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_server = "";
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_server = ' eucjpms_bin';
SET @@global.collation_server = true;
--Error ER_UNKNOWN_COLLATION
SET @@global.collation_server = ON;
--echo '#--------------------FN_DYNVARS_014_12-------------------------#'
###############################################################################
# Check if the value in GLOBAL Table matches value in variable #
###############################################################################
SELECT @@global.collation_server =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='collation_server') AS res;
SET @@global.collation_server = 1;
SELECT @@global.collation_server;
SELECT @@global.collation_server =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='collation_server') AS res;
--echo '#--------------------FN_DYNVARS_014_13-------------------------#'
###############################################################################
# Check if the value in SESSION Table matches value in variable #
###############################################################################
SELECT @@collation_server =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='collation_server') AS res;
SELECT @@local.collation_server =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='collation_server') AS res;
SELECT @@session.collation_server =
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='collation_server') AS res;
####################################
# Restore initial value #
####################################
SET @@global.collation_server = @global_start_value;
SELECT @@global.collation_server;
SET @@session.collation_server = @session_start_value;
SELECT @@session.collation_server;
#####################################################
# END OF collation_server TESTS #
#####################################################

View File

@ -0,0 +1,115 @@
############## mysql-test\t\collation_server_func.test #######################
# #
# Variable Name: collation_server #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: #
# Range: NA #
# #
# #
# Creation Date: 2008-03-08 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable collation_server #
# that checks the behavior of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--echo '#--------------------FN_DYNVARS_014_01-------------------------#'
##################################################################
# Check if setting collation_server is changed in new connection #
##################################################################
#save
SET @global_collation_server = @@global.collation_server;
SET @session_collation_server = @@session.collation_server;
SET @@global.collation_server = latin1_danish_ci;
--echo 'connect (con1,localhost,root,,,,)'
connect (con1,localhost,root,,,,);
--echo 'connection con1'
connection con1;
SELECT @@global.collation_server;
SELECT @@session.collation_server;
disconnect con1;
--echo '#--------------------FN_DYNVARS_014_02-------------------------#'
#######################################################
# Begin the functionality Testing of collation_server #
#######################################################
--echo 'connection default'
connection default;
--disable_warnings
DROP TABLE IF EXISTS t1,t2;
--enable_warnings
#==============================================================================
--echo '---check if setting collation_server update character_set_server---'
#==============================================================================
SET @@session.collation_server = utf8_spanish_ci;
SELECT @@collation_server, @@character_set_server;
#==============================================================================
--echo '--check if collation_server effects database/table charset/collation--'
#==============================================================================
SET @@session.collation_server = latin1_german1_ci;
CREATE DATABASE db1;
USE db1;
SHOW CREATE DATABASE db1;
CREATE TABLE t1(a CHAR(20));
SHOW CREATE TABLE t1;
#==============================================================================
--echo '---check if updating collation_server effects new table/column---'
#==============================================================================
SET @@session.collation_server = latin1_swedish_ci;
CREATE TABLE t2(a CHAR(10));
SHOW CREATE TABLE t2;
# fill table with some test data
INSERT INTO t1 VALUES('Muffler'),('M<>ller'),('MX Systems');
#==============================================================================
--echo '---check if collation_server effects results sort order---'
#==============================================================================
SET @@session.collation_server = latin1_swedish_ci;
SELECT * FROM t1 ORDER BY a;
SET @@session.collation_server = latin1_german1_ci;
SELECT * FROM t1 ORDER BY a;
# explicit Collate clause should effects results sort order
SELECT * FROM t1 ORDER BY a COLLATE latin1_swedish_ci;
SELECT * FROM t1 ORDER BY a COLLATE latin1_german1_ci;
#==============================================================================
--echo '---check if indexing is effected by collation_server---'
#==============================================================================
SET @@session.collation_server = latin1_swedish_ci;
ALTER TABLE t1 ADD PRIMARY KEY (a);
REPAIR TABLE t1;
SELECT * FROM t1 ORDER BY a;
ALTER TABLE t1 DROP PRIMARY KEY;
SET @@session.collation_server = latin1_german1_ci;
ALTER TABLE t1 ADD PRIMARY KEY (a);
REPAIR TABLE t1;
SELECT * FROM t1 ORDER BY a;
# clean up
DROP TABLE t1,t2;
DROP DATABASE db1;
#restore
SET @@global.collation_server = @global_collation_server;
SET @@session.collation_server = @session_collation_server;
#####################################################
# End of functionality Testing for collation_server #
#####################################################

View File

@ -0,0 +1,184 @@
############## mysql-test\t\completion_type_basic.test #########################
# #
# Variable Name: completion_type #
# Scope: GLOBAL & SESSION #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 0 #
# Valid Values: 0,1 & 2 #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "completion_type" #
# that checks 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#option_mysqld_completion_type #
# #
################################################################################
--source include/load_sysvars.inc
###############################################################
# START OF completion_type TESTS #
###############################################################
#############################################################
# Save initial value #
#############################################################
SET @start_global_value = @@global.completion_type;
SELECT @start_global_value;
SET @start_session_value = @@session.completion_type;
SELECT @start_session_value;
--echo '#--------------------FN_DYNVARS_017_01-------------------------#'
###############################################################
# Display the DEFAULT value of completion_type #
###############################################################
SET @@global.completion_type = 2;
SET @@global.completion_type = DEFAULT;
SELECT @@global.completion_type;
SET @@session.completion_type = 1;
SET @@session.completion_type = DEFAULT;
SELECT @@session.completion_type;
--echo '#--------------------FN_DYNVARS_017_02-------------------------#'
###############################################################
# Check the DEFAULT value of completion_type #
###############################################################
SET @@global.completion_type = @start_global_value;
SELECT @@global.completion_type = 0;
SET @@session.completion_type = @start_session_value;
SELECT @@session.completion_type = 0;
--echo '#--------------------FN_DYNVARS_017_03-------------------------#'
#########################################################################
# Change the value of completion_type to a valid value for GLOBAL Scope #
#########################################################################
SET @@global.completion_type = 0;
SELECT @@global.completion_type;
SET @@global.completion_type = 1;
SELECT @@global.completion_type;
SET @@global.completion_type = 2;
SELECT @@global.completion_type;
--echo '#--------------------FN_DYNVARS_017_04-------------------------#'
##########################################################################
# Change the value of completion_type to a valid value for SESSION Scope #
##########################################################################
SET @@session.completion_type = 0;
SELECT @@session.completion_type;
SET @@session.completion_type = 1;
SELECT @@session.completion_type;
SET @@session.completion_type = 2;
SELECT @@session.completion_type;
--echo '#------------------FN_DYNVARS_017_05-----------------------#'
###########################################################
# Change the value of completion_type to an invalid value #
###########################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.completion_type = 10;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.completion_type = -1024;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.completion_type = 2.4;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.completion_type = OFF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.completion_type = 10;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.completion_type = -2;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.completion_type = 1.2;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.completion_type = ON;
--echo '#------------------FN_DYNVARS_017_06-----------------------#'
###############################################################################
# Check if the value in GLOBAL & SESSION Tables matches value in variable #
###############################################################################
SELECT @@global.completion_type = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='completion_type';
SELECT @@session.completion_type = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='completion_type';
--echo '#------------------FN_DYNVARS_017_07-----------------------#'
####################################################################
# Check if TRUE and FALSE values can be used on variable #
####################################################################
SET @@global.completion_type = TRUE;
SELECT @@global.completion_type;
SET @@global.completion_type = FALSE;
SELECT @@global.completion_type;
--echo '#---------------------FN_DYNVARS_001_08----------------------#'
##############################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points #
# to same session variable #
##############################################################################
SET @@completion_type = 1;
SELECT @@completion_type = @@local.completion_type;
SELECT @@local.completion_type = @@session.completion_type;
--echo '#---------------------FN_DYNVARS_001_09----------------------#'
##########################################################################
# Check if completion_type can be accessed with and without @@ sign #
##########################################################################
SET completion_type = 1;
SELECT @@completion_type;
--Error ER_PARSE_ERROR
SET local.completion_type = 1;
--Error ER_UNKNOWN_TABLE
SELECT local.completion_type;
--Error ER_PARSE_ERROR
SET session.completion_type = 1;
--Error ER_UNKNOWN_TABLE
SELECT session.completion_type;
--Error ER_BAD_FIELD_ERROR
SELECT completion_type = @@session.completion_type;
####################################
# Restore initial value #
####################################
SET @@global.completion_type = @start_global_value;
SELECT @@global.completion_type;
SET @@session.completion_type = @start_session_value;
SELECT @@session.completion_type;
############################################
# END OF completion_type TESTS #
############################################

View File

@ -0,0 +1 @@
--innodb

View File

@ -0,0 +1,104 @@
############## mysql-test\t\completion_type_func.test #########################
# #
# Variable Name: completion_type #
# Scope: GLOBAL & SESSION #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 0 #
# Valid Values: 0,1 & 2 #
# #
# #
# Creation Date: 2008-03-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "completion_type" #
# that checks functinality of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html#option_mysqld_completion_type #
# #
################################################################################
--disable_warnings
drop table if exists t1;
--enable_warnings
#########################
# Creating new table #
#########################
--echo ## Creating new table ##
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name varchar(30)
) ENGINE = INNODB;
--echo '#--------------------FN_DYNVARS_017_01-------------------------#'
#########################################################
# Setting initial value of completion_type to zero #
#########################################################
--echo ## Creating new connection ##
connect (test_con1,localhost,root,,);
connection test_con1;
INSERT into t1(name) values('Record_1');
SET @@autocommit = 0;
SELECT * from t1;
--echo ## Setting value of variable to 0 ##
SET @@session.completion_type = 0;
--echo ## Here commit & rollback should work normally ##
START TRANSACTION;
SELECT * from t1;
INSERT into t1(name) values('Record_2');
INSERT into t1(name) values('Record_3');
SELECT * from t1;
DELETE FROM t1 where id = 2;
SELECT * from t1;
START TRANSACTION;
SELECT * from t1;
INSERT into t1(name) values('Record_4');
INSERT into t1(name) values('Record_5');
COMMIT;
--echo '#--------------------FN_DYNVARS_017_02-------------------------#'
#########################################################
# Setting initial value of completion_type to 2 #
#########################################################
SET @@session.completion_type = 2;
--echo ## Here commit should work as COMMIT RELEASE ##
START TRANSACTION;
SELECT * from t1;
INSERT into t1(name) values('Record_6');
INSERT into t1(name) values('Record_7');
COMMIT;
--echo ## Inserting rows should give error here because connection should ##
--echo ## disconnect after using COMMIT ##
--Error 2006,2013
INSERT into t1(name) values('Record_4');
--echo ## Creating new connection test_con2 ##
connect (test_con2,localhost,root,,);
connection test_con2;
SET @@session.completion_type = 2;
--echo ## Inserting rows and using Rollback which should Rollback & release ##
START TRANSACTION;
SELECT * from t1;
INSERT into t1(name) values('Record_8');
INSERT into t1(name) values('Record_9');
ROLLBACK;
--Error 2006,2013
INSERT into t1(name) values('Record_4');

View File

@ -0,0 +1,178 @@
############## mysql-test\t\concurrent_insert_basic.test #######################
# #
# Variable Name: concurrent_insert #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Boolean & Numeric #
# Default Value: 1 #
# Valid Values: 0,1 & 2 #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "concurrent_insert" #
# that checks 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#option_mysqld_concurrent_insert #
# #
################################################################################
--source include/load_sysvars.inc
#################################################################
# START OF concurrent_insert TESTS #
#################################################################
#########################################################################
# Saving initial value of concurrent_insert in a temporary variable #
#########################################################################
SET @start_value = @@global.concurrent_insert;
SELECT @start_value;
--echo '#--------------------FN_DYNVARS_018_01------------------------#'
#########################################################################
# Display the DEFAULT value of concurrent_insert #
#########################################################################
SET @@global.concurrent_insert = 0;
SET @@global.concurrent_insert = DEFAULT;
SELECT @@global.concurrent_insert;
--echo '#---------------------FN_DYNVARS_018_02-------------------------#'
###############################################
# Verify default value of variable #
###############################################
SET @@global.concurrent_insert = DEFAULT;
SELECT @@global.concurrent_insert = 1;
--echo '#--------------------FN_DYNVARS_018_03------------------------#'
#########################################################################
# Change the value of concurrent_insert to a valid value #
#########################################################################
SET @@global.concurrent_insert = 0;
SELECT @@global.concurrent_insert;
SET @@global.concurrent_insert = 1;
SELECT @@global.concurrent_insert;
SET @@global.concurrent_insert = 2;
SELECT @@global.concurrent_insert;
--echo '#--------------------FN_DYNVARS_018_04-------------------------#'
###########################################################################
# Change the value of concurrent_insert to invalid value #
###########################################################################
SET @@global.concurrent_insert = -1;
Select @@global.concurrent_insert;
SET @@global.concurrent_insert = 100;
Select @@global.concurrent_insert;
echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.concurrent_insert = TRUEF;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.concurrent_insert = TRUE_F;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.concurrent_insert = FALSE0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.concurrent_insert = OON;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.concurrent_insert = ONN;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.concurrent_insert = OOFF;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.concurrent_insert = 0FF;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.concurrent_insert = ' ';
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.concurrent_insert = " ";
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.concurrent_insert = '';
--echo '#-------------------FN_DYNVARS_018_05----------------------------#'
#####################################################################
# Test if accessing session concurrent_insert gives error #
#####################################################################
--Error ER_GLOBAL_VARIABLE
SET @@session.concurrent_insert = 1;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.concurrent_insert = 1;
--echo '#----------------------FN_DYNVARS_018_06------------------------#'
####################################################################
# Check if the value in GLOBAL Tables matches values in variable #
####################################################################
SELECT @@global.concurrent_insert = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='concurrent_insert';
--echo '#---------------------FN_DYNVARS_018_07----------------------#'
###################################################################
# Check if ON and OFF values can be used on variable #
###################################################################
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.concurrent_insert = OFF;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.concurrent_insert = ON;
--echo '#---------------------FN_DYNVARS_018_08----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.concurrent_insert = TRUE;
SELECT @@global.concurrent_insert;
SET @@global.concurrent_insert = FALSE;
SELECT @@global.concurrent_insert;
--echo '#---------------------FN_DYNVARS_018_09----------------------#'
###############################################################################
# Check if accessing variable without SCOPE points to same global variable #
###############################################################################
SET @@global.concurrent_insert = 1;
SELECT @@concurrent_insert = @@global.concurrent_insert;
--echo '#---------------------FN_DYNVARS_018_10----------------------#'
###############################################################################
# Check if concurrent_insert can be accessed with and without @@ sign #
###############################################################################
--Error ER_GLOBAL_VARIABLE
SET concurrent_insert = 1;
SELECT @@concurrent_insert;
--Error ER_PARSE_ERROR
SET global.concurrent_insert = 1;
--Error ER_UNKNOWN_TABLE
SELECT global.concurrent_insert;
--Error ER_BAD_FIELD_ERROR
SELECT concurrent_insert = @@session.concurrent_insert;
##############################
# Restore initial value #
##############################
SET @@global.concurrent_insert = @start_value;
SELECT @@global.concurrent_insert;
#######################################################
# END OF concurrent_insert TESTS #
#######################################################

View File

@ -0,0 +1,140 @@
############## mysql-test\t\concurrent_insert_basic.test #######################
# #
# Variable Name: concurrent_insert #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Boolean & Numeric #
# Default Value: 1 #
# Valid Values: 0,1 & 2 #
# #
# #
# Creation Date: 2008-03-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "concurrent_insert" #
# that checks functionality of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html#option_mysqld_concurrent_insert #
# #
################################################################################
--disable_warnings
drop table if exists t1;
--enable_warnings
#########################
# Creating new table #
#########################
--echo ## Creating new table ##
CREATE TABLE t1
(
name varchar(30)
);
--echo '#--------------------FN_DYNVARS_018_01-------------------------#'
####################################################################
# Setting initial value of concurrent_insert to 1
# concurrent_insert = 1 means Enables concurrent insert
# for MyISAM tables that don't have holes
####################################################################
--echo ## Setting initial value of variable to 1 ##
SET @@global.concurrent_insert = 1;
INSERT into t1(name) values('Record_1');
INSERT into t1(name) values('Record_2');
INSERT into t1(name) values('Record_3');
--echo ## locking table ##
lock table t1 read local;
--echo ## Creating new connection to insert some rows in table ##
connect (test_con1,localhost,root,,);
connection test_con1;
--echo ## New records should come at the end of all rows ##
INSERT into t1(name) values('Record_4');
SELECT * from t1;
--echo ## unlocking tables ##
connection default;
unlock tables;
--echo ## deleting record to create hole in table ##
DELETE from t1 where name ='Record_2';
--echo '#--------------------FN_DYNVARS_018_02-------------------------#'
####################################################################
# Setting initial value of concurrent_insert to 1
# concurrent_insert = 1 and trying to insert some values
# in MyISAM tables that have holes
####################################################################
# lock table and connect with connection1
#lock table t1 read local;
#connection test_con1;
# setting value of concurrent_insert to 1
#SET @@global.concurrent_insert=1;
#INSERT into t1(name) values('Record_7');
#SELECT * from t1;
#connection default;
#unlock tables;
#SELECT * from t1;
#INSERT into t1(name) values('Record_6');
# On inserting rows in hole while the value of concurrent_insert is 1
# MySQL server hangs.
--echo '#--------------------FN_DYNVARS_018_03-------------------------#'
###############################################################################
# Setting value of concurrent_insert to 2 to verify values after inserting
# it into table with holes
# concurrent_insert = 2 means Enables concurrent insert
# for MyISAM tables that have holes but inserts values at the end of all rows
###############################################################################
--echo ## lock table and connect with connection1 ##
lock table t1 read local;
connection test_con1;
--echo ## setting value of concurrent_insert to 2 ##
SET @@global.concurrent_insert=2;
--echo ## Inserting record in table, record should go at the end of the table ##
INSERT into t1(name) values('Record_5');
SELECT * from t1;
SELECT @@concurrent_insert;
--echo ## Switching to default connection ##
connection default;
--echo ## Unlocking table ##
unlock tables;
SELECT * from t1;
--echo ## Inserting new row, this should go in the hole ##
INSERT into t1(name) values('Record_6');
SELECT * from t1;
--echo ## connection test_con1 ##
DELETE from t1 where name ='Record_3';
SELECT * from t1;
--echo ## Dropping table ##
DROP table t1;
--echo ## Disconnecting connection ##
disconnect test_con1;

View File

@ -0,0 +1,153 @@
################# mysql-test\t\connect_timeout_basic.test ######################
# #
# Variable Name: connect_timeout #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 5 #
# Range: 2 - 31536000 #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "connect_timeout" #
# that checks 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#option_mysqld_connect_timeout #
# #
################################################################################
--source include/load_sysvars.inc
###############################################################
# START OF connect_timeout TESTS #
###############################################################
#######################################################################
# Saving initial value of connect_timeout in a temporary variable #
#######################################################################
SET @start_value = @@global.connect_timeout;
SELECT @start_value;
--echo '#--------------------FN_DYNVARS_019_01------------------------#'
#######################################################################
# Display the DEFAULT value of connect_timeout #
#######################################################################
SET @@global.connect_timeout = 100;
SET @@global.connect_timeout = DEFAULT;
SELECT @@global.connect_timeout;
--echo '#---------------------FN_DYNVARS_019_02-------------------------#'
###############################################
# Verify default value of variable #
###############################################
SET @@global.connect_timeout = @start_value;
SELECT @@global.connect_timeout = 5;
--echo '#--------------------FN_DYNVARS_019_03------------------------#'
#######################################################################
# Change the value of connect_timeout to a valid value #
#######################################################################
SET @@global.connect_timeout = 2;
SELECT @@global.connect_timeout;
SET @@global.connect_timeout = 10000;
SELECT @@global.connect_timeout;
SET @@global.connect_timeout = 21221204;
SELECT @@global.connect_timeout;
--echo '#--------------------FN_DYNVARS_019_04-------------------------#'
##########################################################################
# Change the value of connect_timeout to invalid value #
##########################################################################
SET @@global.connect_timeout = 1;
SELECT @@global.connect_timeout;
SET @@global.connect_timeout = -1024;
SELECT @@global.connect_timeout;
SET @@global.connect_timeout = 42949672950;
SELECT @@global.connect_timeout;
echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.connect_timeout = 21221204.10;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.connect_timeout = ON;
--echo '#-------------------FN_DYNVARS_019_05----------------------------#'
##########################################################################
# Test if accessing session connect_timeout gives error #
##########################################################################
--Error ER_GLOBAL_VARIABLE
SET @@session.connect_timeout = 0;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.connect_timeout;
--echo '#----------------------FN_DYNVARS_019_06------------------------#'
####################################################################
# Check if the value in GLOBAL Tables matches values in variable #
####################################################################
SELECT @@global.connect_timeout = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='connect_timeout';
--echo '#---------------------FN_DYNVARS_019_07----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.connect_timeout = TRUE;
SELECT @@global.connect_timeout;
SET @@global.connect_timeout = FALSE;
SELECT @@global.connect_timeout;
--echo '#---------------------FN_DYNVARS_019_08----------------------#'
###############################################################################
# Check if accessing variable without SCOPE points to same global variable #
###############################################################################
SET @@global.connect_timeout = 5;
SELECT @@connect_timeout = @@global.connect_timeout;
--echo '#---------------------FN_DYNVARS_019_09----------------------#'
#########################################################################
# Check if connect_timeout can be accessed with and without @@ sign #
#########################################################################
--Error ER_GLOBAL_VARIABLE
SET connect_timeout = 1;
--Error ER_PARSE_ERROR
SET global.connect_timeout = 1;
--Error ER_UNKNOWN_TABLE
SELECT global.connect_timeout;
--Error ER_BAD_FIELD_ERROR
SELECT connect_timeout = @@session.connect_timeout;
##############################
# Restore initial value #
##############################
SET @@global.connect_timeout = @start_value;
SELECT @@global.connect_timeout;
#########################################################
# END OF connect_timeout TESTS #
#########################################################

View File

@ -0,0 +1,100 @@
################## mysql-test\t\datadir_basic.test ############################
# #
# Variable Name: datadir #
# Scope: Global #
# Access Type: Static #
# Data Type: filename #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable datadir #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_004_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.datadir);
--echo 1 Expected
--echo '#---------------------BS_STVARS_004_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.datadir=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.datadir);
--echo 1 Expected
--echo '#---------------------BS_STVARS_004_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.datadir = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='datadir';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.datadir);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='datadir';
--echo 1 Expected
--echo '#---------------------BS_STVARS_004_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@datadir = @@GLOBAL.datadir;
--echo 1 Expected
--echo '#---------------------BS_STVARS_004_05----------------------#'
################################################################################
# Check if datadir can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@datadir);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.datadir);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.datadir);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.datadir);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT datadir = @@SESSION.datadir;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,199 @@
############## mysql-test\t\default_week_format_basic.test #####################
# #
# Variable Name: default_week_format #
# Scope: GLOBAL & SESSION #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 0 #
# Range: 0 - 7 #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "default_week_format" #
# that checks 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#option_mysqld_auto-increment-increment #
# #
################################################################################
--source include/load_sysvars.inc
###################################################################
# START OF default_week_format TESTS #
###################################################################
#############################################################
# Save initial value #
#############################################################
SET @start_global_value = @@global.default_week_format;
SELECT @start_global_value;
SET @start_session_value = @@session.default_week_format;
SELECT @start_session_value;
--echo '#--------------------FN_DYNVARS_022_01-------------------------#'
###################################################################
# Display the DEFAULT value of default_week_format #
###################################################################
SET @@global.default_week_format = 100;
SET @@global.default_week_format = DEFAULT;
SELECT @@global.default_week_format;
SET @@session.default_week_format = 200;
SET @@session.default_week_format = DEFAULT;
SELECT @@session.default_week_format;
--echo '#--------------------FN_DYNVARS_022_02-------------------------#'
###################################################################
# Check the DEFAULT value of default_week_format #
###################################################################
SET @@global.default_week_format = @start_global_value;
SELECT @@global.default_week_format = 0;
SET @@session.default_week_format = @start_global_value;
SELECT @@session.default_week_format = 0;
--echo '#--------------------FN_DYNVARS_022_03-------------------------#'
#############################################################################
# Change the value of default_week_format to a valid value for GLOBAL Scope #
#############################################################################
SET @@global.default_week_format = 1;
SELECT @@global.default_week_format;
SET @@global.default_week_format = 0;
SELECT @@global.default_week_format;
SET @@global.default_week_format = 7;
SELECT @@global.default_week_format;
--echo '#--------------------FN_DYNVARS_022_04-------------------------#'
##############################################################################
# Change the value of default_week_format to a valid value for SESSION Scope #
##############################################################################
SET @@session.default_week_format = 1;
SELECT @@session.default_week_format;
SET @@session.default_week_format = 0;
SELECT @@session.default_week_format;
SET @@session.default_week_format = 7;
SELECT @@session.default_week_format;
--echo '#------------------FN_DYNVARS_022_05-----------------------#'
###############################################################
# Change the value of default_week_format to an invalid value #
###############################################################
SET @@global.default_week_format = 8;
SELECT @@global.default_week_format;
SET @@global.default_week_format = -1024;
SELECT @@global.default_week_format;
SET @@global.default_week_format = 65536;
SELECT @@global.default_week_format;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.default_week_format = 65530.30;
SELECT @@global.default_week_format;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.default_week_format = OFF;
SELECT @@global.default_week_format;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.default_week_format = ON;
SELECT @@session.default_week_format;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.default_week_format = 65530.30;
SELECT @@session.default_week_format;
SET @@session.default_week_format = 10;
SELECT @@session.default_week_format;
SET @@session.default_week_format = -2;
SELECT @@session.default_week_format;
SET @@session.default_week_format = 65550;
SELECT @@session.default_week_format;
echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
--echo '#------------------FN_DYNVARS_022_06-----------------------#'
###############################################################################
# Check if the value in GLOBAL & SESSION Tables matches value in variable #
###############################################################################
SELECT @@global.default_week_format = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='default_week_format';
SELECT @@session.default_week_format = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='default_week_format';
--echo '#------------------FN_DYNVARS_022_07-----------------------#'
####################################################################
# Check if TRUE and FALSE values can be used on variable #
####################################################################
SET @@global.default_week_format = TRUE;
SELECT @@global.default_week_format;
SET @@global.default_week_format = FALSE;
SELECT @@global.default_week_format;
--echo '#---------------------FN_DYNVARS_001_08----------------------#'
####################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
####################################################################################
SET @@global.default_week_format = 0;
SELECT @@default_week_format = @@global.default_week_format;
--echo '#---------------------FN_DYNVARS_001_09----------------------#'
########################################################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
########################################################################################################
SET @@default_week_format = 1;
SELECT @@default_week_format = @@local.default_week_format;
SELECT @@local.default_week_format = @@session.default_week_format;
--echo '#---------------------FN_DYNVARS_001_10----------------------#'
###################################################################################
# Check if default_week_format can be accessed with and without @@ sign #
###################################################################################
SET default_week_format = 1;
SELECT @@default_week_format;
--Error ER_PARSE_ERROR
SET local.default_week_format = 1;
--Error ER_UNKNOWN_TABLE
SELECT local.default_week_format;
--Error ER_PARSE_ERROR
SET session.default_week_format = 1;
--Error ER_UNKNOWN_TABLE
SELECT session.default_week_format;
--Error ER_BAD_FIELD_ERROR
SELECT default_week_format = @@session.default_week_format;
####################################
# Restore initial value #
####################################
SET @@global.default_week_format = @start_global_value;
SELECT @@global.default_week_format;
SET @@session.default_week_format = @start_session_value;
SELECT @@session.default_week_format;
#############################################################
# END OF default_week_format TESTS #
#############################################################

View File

@ -0,0 +1,66 @@
############## mysql-test\t\default_week_format_func.test #####################
# #
# Variable Name: default_week_format #
# Scope: GLOBAL & SESSION #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 0 #
# Range: 0 - 7 #
# #
# #
# Creation Date: 2008-03-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "default_week_format" #
# that checks functionality of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html#option_mysqld_default_week_format #
# #
################################################################################
--echo '#--------------------FN_DYNVARS_022_01-------------------------#'
####################################################################
# Verifying different values of default_week_format
####################################################################
--echo ## Setting variable's value to 0 ##
SET @@session.default_week_format = 0;
SELECT @@session.default_week_format;
SELECT WEEK('2008-01-20');
--echo ## Setting variable's value to 1 ##
SET @@session.default_week_format = 1;
SELECT @@session.default_week_format;
SELECT WEEK('2008-01-20');
--echo ## Setting variable's value to 2 ##
SET @@session.default_week_format = 2;
SELECT @@session.default_week_format;
SELECT WEEK('2008-01-20');
--echo ## Setting variable's value to 3 ##
SET @@session.default_week_format = 3;
SELECT @@session.default_week_format;
SELECT WEEK('2008-01-20');
--echo ## Setting variable's value to 4 ##
SET @@session.default_week_format = 4;
SELECT @@session.default_week_format;
SELECT WEEK('2008-01-20');
--echo ## Setting variable's value to 5 ##
SET @@session.default_week_format = 5;
SELECT @@session.default_week_format;
SELECT WEEK('2008-01-20');
--echo ## Setting variable's value to 6 ##
SET @@session.default_week_format = 6;
SELECT @@session.default_week_format;
SELECT WEEK('2008-01-20');
--echo ## Setting variable's value to 7 ##
SET @@session.default_week_format = 7;
SELECT @@session.default_week_format;
SELECT WEEK('2008-01-20');

View File

@ -0,0 +1,173 @@
##################### mysql-test\t\delay_key_write_basic.test #################
# #
# Variable Name: delay_key_write #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: enumeration #
# Default Value: ON #
# Valid Values: ON, OFF & ALL #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable delay_key_write #
# 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/load_sysvars.inc
########################################################################
# START OF delay_key_write TESTS #
########################################################################
########################################################################
# Saving initial value of delay_key_write in a temporary variable #
########################################################################
SET @start_value = @@global.delay_key_write;
SELECT @start_value;
--echo '#--------------------FN_DYNVARS_023_01------------------------#'
########################################################################
# Display the DEFAULT value of delay_key_write #
########################################################################
SET @@global.delay_key_write = OFF;
--Error ER_NO_DEFAULT
SET @@global.delay_key_write = DEFAULT;
--echo 'Bug # 34878: Documentation specifies a DEFAULT value of ON for variable but';
--echo 'its not supported';
SELECT @@global.delay_key_write;
--echo '#---------------------FN_DYNVARS_023_02-------------------------#'
###############################################
# Check if NULL is accepeted #
###############################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.delay_key_write = NULL;
--echo '#--------------------FN_DYNVARS_023_03------------------------#'
########################################################################
# Change the value of delay_key_write to a valid value #
########################################################################
SET @@global.delay_key_write = ON;
SELECT @@global.delay_key_write;
SET @@global.delay_key_write = OFF;
SELECT @@global.delay_key_write;
SET @@global.delay_key_write = ALL;
SELECT @@global.delay_key_write;
--echo '#--------------------FN_DYNVARS_023_04-------------------------#'
###########################################################################
# Change the value of delay_key_write to invalid value #
###########################################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.delay_key_write = 3;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.delay_key_write = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.delay_key_write = TRU;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.delay_key_write = ERROR;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.delay_key_write = FALSE0;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.delay_key_write = ONN;
SET @@global.delay_key_write = OF;
SELECT @@global.delay_key_write;
--echo 'Bug# 34828: Variable is incorrectly accepting OF as a value'
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.delay_key_write = ' ';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.delay_key_write = "";
--echo '#-------------------FN_DYNVARS_023_05----------------------------#'
###########################################################################
# Test if accessing session delay_key_write gives error #
###########################################################################
--Error ER_GLOBAL_VARIABLE
SET @@delay_key_write = 0;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.delay_key_write;
--echo '#----------------------FN_DYNVARS_023_06------------------------#'
########################################################################
# Check if the value in GLOBAL Table matches value in variable #
########################################################################
SELECT @@delay_key_write = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='delay_key_write';
--echo '#---------------------FN_DYNVARS_023_07-------------------------#'
###################################################################
# Check if numbers can be used on variable #
###################################################################
SET @@global.delay_key_write = 0;
SELECT @@global.delay_key_write;
SET @@global.delay_key_write = 1;
SELECT @@global.delay_key_write;
SET @@global.delay_key_write = 2;
SELECT @@global.delay_key_write;
--echo '#---------------------FN_DYNVARS_023_08----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.delay_key_write = TRUE;
SELECT @@global.delay_key_write;
SET @@global.delay_key_write = FALSE;
SELECT @@global.delay_key_write;
--echo '#---------------------FN_DYNVARS_023_09----------------------#'
#####################################################################
# Check if delay_key_write can be accessed with and without @@ sign #
#####################################################################
--Error ER_GLOBAL_VARIABLE
SET delay_key_write = ON;
SELECT @@delay_key_write;
SET GLOBAL delay_key_write = OFF;
SELECT @@global.delay_key_write;
##############################
# Restore initial value #
##############################
SET @@global.delay_key_write = @start_value;
SELECT @@global.delay_key_write;
########################################################################
# END OF delay_key_write TESTS #
########################################################################

View File

@ -0,0 +1,2 @@
--myisam-recover=BACKUP,FORCE

View File

@ -0,0 +1,148 @@
##################### mysql-test\t\delay_key_write_func.test #################
# #
# Variable Name: delay_key_write #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: enumeration #
# Default Value: ON #
# Valid Values: ON, OFF & ALL #
# #
# #
# Creation Date: 2008-03-08 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable delay_key_write #
# that checks the behavior of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--echo '#--------------------FN_DYNVARS_023_01-------------------------#'
#######################################################################
# Check if setting delay_key_write is changed in every new connection #
#######################################################################
SET @@global.delay_key_write = ON;
SELECT @@global.delay_key_write;
--echo 'connect (user1,localhost,root,,,,)'
connect (user1,localhost,root,,,,);
--echo 'connection user1'
connection user1;
SELECT @@global.delay_key_write AS res_is_ON;
SET @@global.delay_key_write = ALL;
disconnect user1;
--echo 'connect (user1,localhost,root,,,,)'
connect (user1,localhost,root,,,,);
--echo 'connection user1'
connection user1;
SELECT @@global.delay_key_write AS res_is_ALL;
--echo '#--------------------FN_DYNVARS_023_02-------------------------#'
######################################################
# Begin the functionality Testing of delay_key_write #
######################################################
# create procedure to add rows
--disable_query_log
DELIMITER //;
CREATE PROCEDURE sp_addRecords (IN var1 INT,IN var2 INT)
BEGIN
WHILE (var1 < var2) DO
INSERT INTO t1 VALUES(var1,REPEAT('MYSQL',10),100000.0/var1);
SET var1=var1+1;
END WHILE;
END//
DELIMITER ;//
--enable_query_log
#==============================================================================
--echo '---check when delay_key_write is OFF---'
#==============================================================================
SET @@global.delay_key_write = OFF;
--disable_query_log
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
# create a table with delay_key_write enabled
CREATE TABLE t1(
a INT PRIMARY KEY,
b VARCHAR(512),
c DOUBLE
)delay_key_write = 1;
--enable_query_log
FLUSH STATUS;
CALL sp_addRecords(1,10);
SHOW STATUS LIKE 'Key_reads';
SHOW STATUS LIKE 'Key_writes';
SHOW STATUS LIKE 'Key_write_requests';
select count(*) from t1;
#==============================================================================
--echo '----check when delay_key_write is ON---'
#==============================================================================
SET @@global.delay_key_write = ON;
--disable_query_log
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
# create a table with delay_key_write enabled
CREATE TABLE t1(
a INT PRIMARY KEY,
b VARCHAR(512),
c DOUBLE
)delay_key_write = 1;
--enable_query_log
FLUSH STATUS;
CALL sp_addRecords(1,10);
SHOW STATUS LIKE 'Key_reads';
SHOW STATUS LIKE 'Key_writes';
SHOW STATUS LIKE 'Key_write_requests';
select count(*) from t1;
#==============================================================================
--echo '----check when delay_key_write is ALL---'
#==============================================================================
SET @@global.delay_key_write = ALL;
--disable_query_log
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
# create a table with delay_key_write disabled
CREATE TABLE t1(
a INT PRIMARY KEY,
b VARCHAR(512),
c DOUBLE
)delay_key_write = 0;
--enable_query_log
FLUSH STATUS;
CALL sp_addRecords(1,10);
SHOW STATUS LIKE 'Key_reads';
SHOW STATUS LIKE 'Key_writes';
SHOW STATUS LIKE 'Key_write_requests';
select count(*) from t1;
DROP TABLE t1;
####################################################
# End of functionality testing for delay_key_write #
####################################################

View File

@ -0,0 +1,227 @@
############# mysql-test\t\sql_low_priority_updates_func.test ###########################
# #
# Variable Name: sql_low_priority_updates #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: BOOLEAN #
# Default Value: 1 TRUE #
# Values: 1 TRUE, 0 FALSE #
# #
# #
# Creation Date: 2008-02-25 #
# Author: Sharique Abdullah #
# #
# Description: Test Cases of Dynamic System Variable "sql_low_priority_updates" #
# that checks behavior of this variable in the following ways #
# * Functionality based on different values #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html #
# #
#########################################################################################
--echo ** Setup **
--echo
#
# Setup
#
--echo Creating connection con0
connect (con0,localhost,root,,);
--echo Creating connection con1
connect (con1,localhost,root,,);
connection default;
SET @global_delayed_insert_limit = @@GLOBAL.delayed_insert_limit;
#
# Create Table
#
CREATE TABLE t1 (a varchar(100));
--echo '#--------------------FN_DYNVARS_25_01-------------------------#'
#
# Value less than the provided INSERTS (9)
#
SET GLOBAL delayed_insert_limit = 9;
--echo ** Connection con0 **
connection con0;
SET GLOBAL delayed_insert_limit = 9;
--echo ** Connection con1 **
connection con1;
SET GLOBAL delayed_insert_limit = 9;
--echo ** Connection default **
connection default;
SET GLOBAL delayed_insert_limit = 9;
INSERT INTO t1 VALUES('1');
INSERT INTO t1 VALUES('2');
INSERT INTO t1 VALUES('3');
INSERT INTO t1 VALUES('4');
INSERT INTO t1 VALUES('5');
INSERT INTO t1 VALUES('6');
LOCK TABLE t1 WRITE;
--echo ** Connection con1 **
connection con1;
delimiter |;
send
INSERT DELAYED INTO t1 VALUES('7');
INSERT DELAYED INTO t1 VALUES('8');
INSERT DELAYED INTO t1 VALUES('9');
INSERT DELAYED INTO t1 VALUES('10');
INSERT DELAYED INTO t1 VALUES('11');
INSERT DELAYED INTO t1 VALUES('12');
INSERT DELAYED INTO t1 VALUES('13');
INSERT DELAYED INTO t1 VALUES('14');
INSERT DELAYED INTO t1 VALUES('15');
INSERT DELAYED INTO t1 VALUES('16');
INSERT DELAYED INTO t1 VALUES('17');
INSERT DELAYED INTO t1 VALUES('18');
INSERT DELAYED INTO t1 VALUES('19');
INSERT DELAYED INTO t1 VALUES('20');
INSERT DELAYED INTO t1 VALUES('21');
INSERT DELAYED INTO t1 VALUES('22');|
delimiter ;|
--echo ** Connection con0 **
connection con0;
delimiter |;
send
SELECT * FROM t1;|
delimiter ;|
--echo ** Connection default **
connection default;
--echo Waiting for 1 sec
--sleep 1
UNLOCK TABLES;
--echo ** Connection con0 **
connection con0;
reap;
--echo 'Bug#35386: insert delayed inserts 1 + limit rows instead of just limit rows'
--echo ** Connection default **
connection default;
--echo Waiting for 1 sec
--sleep 1
--echo Checking if the delayed insert continued afterwards
SELECT * FROM t1;
DELETE FROM t1;
--echo '#--------------------FN_DYNVARS_25_02-------------------------#'
#
# Value 5
#
SET GLOBAL delayed_insert_limit = 20;
--echo ** Connection con0 **
connection con0;
SET GLOBAL delayed_insert_limit = 20;
--echo ** Connection con1 **
connection con1;
SET GLOBAL delayed_insert_limit = 20;
--echo ** Connection default **
connection default;
SET GLOBAL delayed_insert_limit = 20;
INSERT INTO t1 VALUES('1');
INSERT INTO t1 VALUES('2');
INSERT INTO t1 VALUES('3');
INSERT INTO t1 VALUES('4');
INSERT INTO t1 VALUES('5');
INSERT INTO t1 VALUES('6');
LOCK TABLE t1 WRITE;
--echo ** Connection con1 **
connection con1;
--echo Asynchronous execute
delimiter |;
send
INSERT DELAYED INTO t1 VALUES('7');
INSERT DELAYED INTO t1 VALUES('8');
INSERT DELAYED INTO t1 VALUES('9');
INSERT DELAYED INTO t1 VALUES('10');
INSERT DELAYED INTO t1 VALUES('11');
INSERT DELAYED INTO t1 VALUES('12');
INSERT DELAYED INTO t1 VALUES('13');
INSERT DELAYED INTO t1 VALUES('14');
INSERT DELAYED INTO t1 VALUES('15');
INSERT DELAYED INTO t1 VALUES('16');
INSERT DELAYED INTO t1 VALUES('17');
INSERT DELAYED INTO t1 VALUES('18');
INSERT DELAYED INTO t1 VALUES('19');
INSERT DELAYED INTO t1 VALUES('20');
INSERT DELAYED INTO t1 VALUES('21');
INSERT DELAYED INTO t1 VALUES('22');|
delimiter ;|
--echo ** Connection con0 **
connection con0;
--echo Asynchronous execute
delimiter |;
send
SELECT * FROM t1;|
delimiter ;|
--echo ** Connection default **
connection default;
--echo Waiting for 1 sec
--sleep 1
UNLOCK TABLES;
--echo ** Connection con0 **
connection con0;
--echo Asynchronous execute result
reap;
--echo ** Connection default**
connection default;
--echo Waiting for 1 sec
--sleep 1
--echo Checking if the delayed insert gives the same result afterwards
SELECT * FROM t1;
DELETE FROM t1;
#
# Cleanup
#
--echo Switching to default
connection default;
--echo Disconnecting from con1, con0
disconnect con0;
disconnect con1;
DROP TABLE t1;
SET @@GLOBAL.delayed_insert_limit = @global_delayed_insert_limit;

View File

@ -0,0 +1,171 @@
################# mysql-test\t\delayed_insert_timeout_basic.test ###############
# #
# Variable Name: delayed_insert_timeout #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 300 #
# Range: 1 - 4294967286 #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "delayed_insert_timeout" #
# that checks 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#option_mysqld_delayed_insert_timeout #
# #
################################################################################
--source include/load_sysvars.inc
#################################################################
# START OF delayed_insert_timeout TESTS #
#################################################################
##############################################################################
# Saving initial value of delayed_insert_timeout in a temporary variable #
##############################################################################
SET @start_value = @@global.delayed_insert_timeout;
SELECT @start_value;
--echo '#--------------------FN_DYNVARS_025_01------------------------#'
##############################################################################
# Display the DEFAULT value of delayed_insert_timeout #
##############################################################################
SET @@global.delayed_insert_timeout = 100;
SET @@global.delayed_insert_timeout = DEFAULT;
SELECT @@global.delayed_insert_timeout;
--echo '#---------------------FN_DYNVARS_025_02-------------------------#'
###############################################
# Verify default value of variable #
###############################################
SET @@global.delayed_insert_timeout = @start_value;
SELECT @@global.delayed_insert_timeout = 300;
--echo '#--------------------FN_DYNVARS_025_03------------------------#'
##############################################################################
# Change the value of delayed_insert_timeout to a valid value #
##############################################################################
SET @@global.delayed_insert_timeout = 10000;
SELECT @@global.delayed_insert_timeout;
SET @@global.delayed_insert_timeout = 429;
SELECT @@global.delayed_insert_timeout;
SET @@global.delayed_insert_timeout = 1;
SELECT @@global.delayed_insert_timeout;
--echo '#--------------------FN_DYNVARS_025_04-------------------------#'
#################################################################################
# Change the value of delayed_insert_timeout to invalid value #
#################################################################################
SET @@global.delayed_insert_timeout = 0;
SELECT @@global.delayed_insert_timeout;
SET @@global.delayed_insert_timeout = -1024;
SELECT @@global.delayed_insert_timeout;
SET @@global.delayed_insert_timeout = 42949672950;
SELECT @@global.delayed_insert_timeout;
echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.delayed_insert_timeout = 429496729.5;
SELECT @@global.delayed_insert_timeout;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.delayed_insert_timeout = ON;
SELECT @@global.delayed_insert_timeout;
--echo '#-------------------FN_DYNVARS_025_05----------------------------#'
#################################################################################
# Test if accessing session delayed_insert_timeout gives error #
#################################################################################
--Error 1229
SET @@session.delayed_insert_timeout = 0;
--Error 1193
SELECT @@session.dalayed_insert_timeout;
--echo '#----------------------FN_DYNVARS_025_06------------------------#'
##############################################################################
# Check if the value in GLOBAL & SESSION Tables matches values in variable #
##############################################################################
SELECT @@global.delayed_insert_timeout = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='delayed_insert_timeout';
SELECT @@delayed_insert_timeout = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='delayed_insert_timeout';
--echo '#---------------------FN_DYNVARS_025_07----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.delayed_insert_timeout = TRUE;
SELECT @@global.delayed_insert_timeout;
SET @@global.delayed_insert_timeout = FALSE;
SELECT @@global.delayed_insert_timeout;
--echo '#---------------------FN_DYNVARS_025_08----------------------#'
########################################################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
########################################################################################################
SET @@global.delayed_insert_timeout = 1;
SELECT @@delayed_insert_timeout = @@global.delayed_insert_timeout;
--echo '#---------------------FN_DYNVARS_025_09----------------------#'
################################################################################
# Check if delayed_insert_timeout can be accessed with and without @@ sign #
################################################################################
--Error 1229
SET delayed_insert_timeout = 1;
SELECT @@delayed_insert_timeout;
--Error 1064
SET local.delayed_insert_timeout = 1;
--Error 1109
SELECT local.delayed_insert_timeout;
--Error 1064
SET global.delayed_insert_timeout = 1;
--Error 1109
SELECT global.delayed_insert_timeout;
--Error 1054
SELECT delayed_insert_timeout = @@session.delayed_insert_timeout;
# Restore initial value
SET @@global.delayed_insert_timeout = @start_value;
SELECT @@global.delayed_insert_timeout;
##############################
# Restore initial value #
##############################
SET @@global.delayed_insert_timeout = @start_value;
SELECT @@global.delayed_insert_timeout;
################################################################
# END OF delayed_insert_timeout TESTS #
################################################################

View File

@ -0,0 +1,209 @@
############## mysql-test\t\div_precision_increment_basic.test #################
# #
# Variable Name: div_precision_increment #
# Scope: GLOBAL & SESSION #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 4 #
# Range: 0 - 30 #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "div_precision_increment" #
# that checks 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#option_mysqld_div_precision_increment #
# #
################################################################################
--source include/load_sysvars.inc
#######################################################################
# START OF div_precision_increment TESTS #
#######################################################################
#############################################################
# Save initial value #
#############################################################
SET @start_global_value = @@global.div_precision_increment;
SELECT @start_global_value;
SET @start_session_value = @@session.div_precision_increment;
SELECT @start_session_value;
--echo '#--------------------FN_DYNVARS_027_01-------------------------#'
#######################################################################
# Display the DEFAULT value of div_precision_increment #
#######################################################################
SET @@global.div_precision_increment = 100;
SET @@global.div_precision_increment = DEFAULT;
SELECT @@global.div_precision_increment;
SET @@session.div_precision_increment = 200;
SET @@session.div_precision_increment = DEFAULT;
SELECT @@session.div_precision_increment;
--echo '#--------------------FN_DYNVARS_027_02-------------------------#'
#######################################################################
# Check the DEFAULT value of div_precision_increment #
#######################################################################
SET @@global.div_precision_increment = @start_global_value;
SELECT @@global.div_precision_increment = 4;
SET @@session.div_precision_increment = @start_session_value;
SELECT @@session.div_precision_increment = 4;
--echo '#--------------------FN_DYNVARS_027_03-------------------------#'
#################################################################################
# Change the value of div_precision_increment to a valid value for GLOBAL Scope #
#################################################################################
SET @@global.div_precision_increment = 1;
SELECT @@global.div_precision_increment;
SET @@global.div_precision_increment = 0;
SELECT @@global.div_precision_increment;
SET @@global.div_precision_increment = 10;
SELECT @@global.div_precision_increment;
SET @@global.div_precision_increment = 30;
SELECT @@global.div_precision_increment;
--echo '#--------------------FN_DYNVARS_027_04-------------------------#'
##################################################################################
# Change the value of div_precision_increment to a valid value for SESSION Scope #
##################################################################################
SET @@session.div_precision_increment = 1;
SELECT @@session.div_precision_increment;
SET @@session.div_precision_increment = 0;
SELECT @@session.div_precision_increment;
SET @@session.div_precision_increment = 7;
SELECT @@session.div_precision_increment;
SET @@session.div_precision_increment = 30;
SELECT @@session.div_precision_increment;
--echo '#------------------FN_DYNVARS_027_05-----------------------#'
###################################################################
# Change the value of div_precision_increment to an invalid value #
###################################################################
SET @@global.div_precision_increment = 31;
SELECT @@global.div_precision_increment;
SET @@global.div_precision_increment = 40;
SELECT @@global.div_precision_increment;
SET @@global.div_precision_increment = -1024;
SELECT @@global.div_precision_increment;
SET @@global.div_precision_increment = 65536;
SELECT @@global.div_precision_increment;
SET @@session.div_precision_increment = 40;
SELECT @@session.div_precision_increment;
SET @@session.div_precision_increment = 31;
SELECT @@session.div_precision_increment;
SET @@session.div_precision_increment = -2;
SELECT @@session.div_precision_increment;
SET @@session.div_precision_increment = 65550;
SELECT @@session.div_precision_increment;
echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.div_precision_increment = 65530.30;
SELECT @@global.div_precision_increment;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.div_precision_increment = OFF;
SELECT @@global.div_precision_increment;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.div_precision_increment = ON;
SELECT @@session.div_precision_increment;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.div_precision_increment = 65530.30;
SELECT @@session.div_precision_increment;
--echo '#------------------FN_DYNVARS_027_06-----------------------#'
####################################################################
# Check if the value in GLOBAL Table matches value in variable #
####################################################################
SELECT @@global.div_precision_increment = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='div_precision_increment';
--echo '#------------------FN_DYNVARS_027_07-----------------------#'
####################################################################
# Check if the value in SESSION Table matches value in variable #
####################################################################
SELECT @@session.div_precision_increment = VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='div_precision_increment';
# FN_DYNVARS_027_07 - Check if TRUE and FALSE values can be used on variable
SET @@global.div_precision_increment = TRUE;
SELECT @@global.div_precision_increment;
SET @@global.div_precision_increment = FALSE;
SELECT @@global.div_precision_increment;
--echo '#---------------------FN_DYNVARS_027_08----------------------#'
####################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
####################################################################################
SET @@global.div_precision_increment = 0;
SELECT @@div_precision_increment = @@global.div_precision_increment;
--echo '#---------------------FN_DYNVARS_027_09----------------------#'
########################################################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
########################################################################################################
SET @@div_precision_increment = 1;
SELECT @@div_precision_increment = @@local.div_precision_increment;
SELECT @@local.div_precision_increment = @@session.div_precision_increment;
--echo '#---------------------FN_DYNVARS_027_10----------------------#'
##################################################################################
# Check if div_precision_increment can be accessed with and without @@ sign #
##################################################################################
SET div_precision_increment = 1;
SELECT @@div_precision_increment;
--Error ER_PARSE_ERROR
SET local.div_precision_increment = 1;
--Error ER_UNKNOWN_TABLE
SELECT local.div_precision_increment;
--Error ER_PARSE_ERROR
SET session.div_precision_increment = 1;
--Error ER_UNKNOWN_TABLE
SELECT session.div_precision_increment;
--Error ER_BAD_FIELD_ERROR
SELECT div_precision_increment = @@session.div_precision_increment;
####################################
# Restore initial value #
####################################
SET @@global.div_precision_increment = @start_global_value;
SELECT @@global.div_precision_increment;
SET @@session.div_precision_increment = @start_session_value;
SELECT @@session.div_precision_increment;
#######################################################
# END OF div_precision_increment TESTS #
#######################################################

View File

@ -0,0 +1,125 @@
############## mysql-test\t\div_precision_increment_func.test #################
# #
# Variable Name: div_precision_increment #
# Scope: GLOBAL & SESSION #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 4 #
# Range: 0 - 30 #
# #
# #
# Creation Date: 2008-03-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "div_precision_increment" #
# that checks functionality of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html#option_mysqld_div_precision_increment #
# #
################################################################################
--disable_warnings
drop table if exists t1;
--enable_warnings
#########################
# Creating new table #
#########################
--echo ## Creating new table ##
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30),
salary LONG
);
--echo '#--------------------FN_DYNVARS_027_01-------------------------#'
####################################################################
# Setting initial value of div_precision_increment to 1
# to check whether it is working with columns or not.
####################################################################
--echo ## Setting initial session value of variable to 3 ##
SET @@session.div_precision_increment = 3;
--echo ## Inserting some rows in table ##
INSERT into t1(name, salary) values('Record_1', 100011);
INSERT into t1(name, salary) values('Record_2', 501);
INSERT into t1(name, salary) values('Record_3', 210);
SELECT name, salary, ((salary * 2.5)/1000) AS INCOME from t1;
--echo 'Bug#35374: div_precision is not working with table column'
--echo ## Verifying variable's behavior with direct division ##
SELECT 1/7;
--echo '#--------------------FN_DYNVARS_027_02-------------------------#'
####################################################################
# Verifying div_precision_increment behavior by inserting rows
# to check whether it is working with columns or not.
####################################################################
--disable_warnings
drop table if exists t1;
--enable_warnings
#########################
# Creating new table #
#########################
--echo ## Creating new table ##
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30),
salary LONG,
income_tax FLOAT
);
--echo ## Creating new connection test_con1 ##
connect (test_con1, localhost, root,,);
connection test_con1;
--echo ## Setting global & session scope value of variable ##
SET @@global.div_precision_increment = 2;
SET @@session.div_precision_increment = 1;
SELECT @@global.div_precision_increment;
SELECT @@session.div_precision_increment;
--echo ## Inserting some data and verifying behavior of variable ##
INSERT into t1(name, salary, income_tax) values('Record_1', 100011, 100011*2.5/1000);
INSERT into t1(name, salary, income_tax) values('Record_2', 501, 501*2.5/1000);
INSERT into t1(name, salary, income_tax) values('Record_3', 210, 210*2.5/1000);
SELECT * from t1;
--echo ## Creating new connection ##
connect (test_con2, localhost, root,,);
connection test_con2;
--echo ## Verifying session & global value of variable ##
SELECT @@global.div_precision_increment = 2;
SELECT @@session.div_precision_increment = 2;
--echo ## Verifying behavior of variable by inserting some rows in table ##
INSERT into t1(name, salary, income_tax) values('Record_4', 100011, 100011*2.5/1000);
INSERT into t1(name, salary, income_tax) values('Record_5', 501, 501*2.5/1000);
INSERT into t1(name, salary, income_tax) values('Record_6', 210, 210*2.5/1000);
SELECT * from t1;
--echo ## Dropping table t1 ##
drop table t1;
--echo ## Disconnection both the connections ##
disconnect test_con1;
disconnect test_con2;

View File

@ -0,0 +1,227 @@
############## mysql-test\t\engine_condition_pushdown_basic.test ##############
# #
# Variable Name: engine_condition_pushdown #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: boolean #
# Default Value: OFF #
# Valid Values: ON, OFF #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable engine_condition_pushdown#
# 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/load_sysvars.inc
########################################################################
# START OF engine_condition_pushdown TESTS #
########################################################################
###############################################################################
# Saving initial value of engine_condition_pushdown in a temporary variable #
###############################################################################
SET @session_start_value = @@session.engine_condition_pushdown;
SELECT @session_start_value;
SET @global_start_value = @@global.engine_condition_pushdown;
SELECT @global_start_value;
--echo '#--------------------FN_DYNVARS_028_01------------------------#'
########################################################################
# Display the DEFAULT value of engine_condition_pushdown #
########################################################################
SET @@session.engine_condition_pushdown = 0;
SET @@session.engine_condition_pushdown = DEFAULT;
SELECT @@session.engine_condition_pushdown;
SET @@global.engine_condition_pushdown = 0;
SET @@global.engine_condition_pushdown = DEFAULT;
SELECT @@global.engine_condition_pushdown;
--echo '#---------------------FN_DYNVARS_028_02-------------------------#'
###############################################################################
# Check if engine_condition_pushdown can be accessed with and without @@ sign #
###############################################################################
SET engine_condition_pushdown = 1;
SELECT @@engine_condition_pushdown;
--Error ER_UNKNOWN_TABLE
SELECT session.engine_condition_pushdown;
--Error ER_UNKNOWN_TABLE
SELECT local.engine_condition_pushdown;
--Error ER_UNKNOWN_TABLE
SELECT global.engine_condition_pushdown;
SET session engine_condition_pushdown = 0;
SELECT @@session.engine_condition_pushdown;
SET global engine_condition_pushdown = 0;
SELECT @@global.engine_condition_pushdown;
--echo '#--------------------FN_DYNVARS_028_03------------------------#'
##########################################################################
# change the value of engine_condition_pushdown to a valid value #
##########################################################################
SET @@session.engine_condition_pushdown = 0;
SELECT @@session.engine_condition_pushdown;
SET @@session.engine_condition_pushdown = 1;
SELECT @@session.engine_condition_pushdown;
SET @@global.engine_condition_pushdown = 0;
SELECT @@global.engine_condition_pushdown;
SET @@global.engine_condition_pushdown = 1;
SELECT @@global.engine_condition_pushdown;
--echo '#--------------------FN_DYNVARS_028_04-------------------------#'
###########################################################################
# Change the value of engine_condition_pushdown to invalid value #
###########################################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.engine_condition_pushdown = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.engine_condition_pushdown = 1.6;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.engine_condition_pushdown = "T";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.engine_condition_pushdown = "Y";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.engine_condition_pushdown = TR<54>E;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.engine_condition_pushdown = <20>N;
SET @@session.engine_condition_pushdown = OF;
SELECT @@session.engine_condition_pushdown;
--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.'
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.engine_condition_pushdown = <20>FF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.engine_condition_pushdown = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.engine_condition_pushdown = 2;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.engine_condition_pushdown = "T";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.engine_condition_pushdown = "Y";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.engine_condition_pushdown = TR<54>E;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.engine_condition_pushdown = <20>N;
SET @@global.engine_condition_pushdown = OF;
SELECT @@global.engine_condition_pushdown;
--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.'
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.engine_condition_pushdown = <20>FF;
--echo '#-------------------FN_DYNVARS_028_05----------------------------#'
###########################################################################
# Test if changing global variable effects session and vice versa #
###########################################################################
SET @@global.engine_condition_pushdown = 0;
SET @@session.engine_condition_pushdown = 1;
SELECT @@global.engine_condition_pushdown AS res_is_0;
SET @@global.engine_condition_pushdown = 0;
SELECT @@session.engine_condition_pushdown AS res_is_1;
--echo '#----------------------FN_DYNVARS_028_06------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
SELECT @@global.engine_condition_pushdown = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='engine_condition_pushdown';
SELECT @@global.engine_condition_pushdown;
SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='engine_condition_pushdown';
--echo '#----------------------FN_DYNVARS_028_07------------------------#'
#########################################################################
# Check if the value in SESSION Table matches value in variable #
#########################################################################
SELECT @@session.engine_condition_pushdown = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='engine_condition_pushdown';
SELECT @@session.engine_condition_pushdown;
SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='engine_condition_pushdown';
--echo '#---------------------FN_DYNVARS_028_08-------------------------#'
###################################################################
# Check if ON and OFF values can be used on variable #
###################################################################
SET @@session.engine_condition_pushdown = OFF;
SELECT @@session.engine_condition_pushdown;
SET @@session.engine_condition_pushdown = ON;
SELECT @@session.engine_condition_pushdown;
SET @@global.engine_condition_pushdown = OFF;
SELECT @@global.engine_condition_pushdown;
SET @@global.engine_condition_pushdown = ON;
SELECT @@global.engine_condition_pushdown;
--echo '#---------------------FN_DYNVARS_028_09----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@session.engine_condition_pushdown = TRUE;
SELECT @@session.engine_condition_pushdown;
SET @@session.engine_condition_pushdown = FALSE;
SELECT @@session.engine_condition_pushdown;
SET @@global.engine_condition_pushdown = TRUE;
SELECT @@global.engine_condition_pushdown;
SET @@global.engine_condition_pushdown = FALSE;
SELECT @@global.engine_condition_pushdown;
##############################
# Restore initial value #
##############################
SET @@session.engine_condition_pushdown = @session_start_value;
SELECT @@session.engine_condition_pushdown;
SET @@global.engine_condition_pushdown = @global_start_value;
SELECT @@global.engine_condition_pushdown;
###############################################################
# END OF engine_condition_pushdown TESTS #
###############################################################

View File

@ -0,0 +1,97 @@
################## mysql-test\t\error_count_basic.test ########################
# #
# Variable Name: error_count #
# Scope: Session #
# Access Type: Static #
# Data Type: numeric #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable error_count #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_005_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@SESSION.error_count);
--echo 1 Expected
--echo '#---------------------BS_STVARS_005_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@SESSION.error_count=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@SESSION.error_count);
--echo 1 Expected
--echo '#---------------------BS_STVARS_005_03----------------------#'
#################################################################
# Check if the value in SESSION Table matches value in variable #
#################################################################
SELECT @@SESSION.error_count = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='error_count';
--echo 1 Expected
SELECT COUNT(@@SESSION.error_count);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='error_count';
--echo 1 Expected
--echo '#---------------------BS_STVARS_005_04----------------------#'
################################################################################
# Check if accessing variable with and without SESSION point to same variable #
################################################################################
SELECT @@error_count = @@SESSION.error_count;
--echo 1 Expected
--echo '#---------------------BS_STVARS_005_05----------------------#'
################################################################################
# Check if error_count can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@error_count);
--echo 1 Expected
SELECT COUNT(@@local.error_count);
--echo 1 Expected
SELECT COUNT(@@SESSION.error_count);
--echo 1 Expected
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@GLOBAL.error_count);
--echo Expected error 'Variable is a SESSION variable'
--error ER_BAD_FIELD_ERROR
SELECT COUNT(error_count = @@GLOBAL.error_count);
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,175 @@
#################### mysql-test\t\event_scheduler_basic.test ###################
# #
# Variable Name: event_scheduler #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Enumeration #
# Default Value: OFF #
# Valid Values: ON, OFF, DISABLED #
# #
# #
# Creation Date: 2008-03-14 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "event_scheduler" #
# that checks 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-options.html#option_mysqld_event-scheduler #
# #
################################################################################
--source include/load_sysvars.inc
###############################################################
# START OF event_scheduler TESTS #
###############################################################
#######################################################################
# Saving initial value of event_scheduler in a temporary variable #
#######################################################################
SET @start_value = @@global.event_scheduler;
SELECT @start_value;
--echo '#---------------------FN_DYNVARS_004_01-------------------------#'
###############################################
# Verify default value of variable #
###############################################
--Error ER_NO_DEFAULT
SET @@global.event_scheduler = DEFAULT;
#SELECT @@global.event_scheduler = OFF;
--echo 'Bug# 34878: According to documentation the default value of variable is OFF';
--echo '#--------------------FN_DYNVARS_004_02------------------------#'
#######################################################################
# Change the value of event_scheduler to a valid value #
#######################################################################
SET @@global.event_scheduler = ON;
SELECT @@global.event_scheduler;
SET @@global.event_scheduler = OFF;
SELECT @@global.event_scheduler;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.event_scheduler = DISABLED;
SELECT @@global.event_scheduler;
--echo '#--------------------FN_DYNVARS_004_03-------------------------#'
#######################################################################
# Change the value of event_scheduler to invalid value #
#######################################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.event_scheduler = 2;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.event_scheduler = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.event_scheduler = TRUEF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.event_scheduler = TRUE_F;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.event_scheduler = FALSE0;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.event_scheduler = OON;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.event_scheduler = ONN;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.event_scheduler = OOFF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.event_scheduler = 0FF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.event_scheduler = ' ';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.event_scheduler = " ";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.event_scheduler = '';
--echo '#-------------------FN_DYNVARS_004_04----------------------------#'
###################################################################
# Test if accessing session event_scheduler gives error #
###################################################################
--Error ER_GLOBAL_VARIABLE
SET @@session.event_scheduler = OFF;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.event_scheduler;
--echo '#----------------------FN_DYNVARS_004_05------------------------#'
##############################################################################
# Check if the value in GLOBAL Tables matches values in variable #
##############################################################################
SELECT @@global.event_scheduler = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='event_scheduler';
--echo '#---------------------FN_DYNVARS_004_06----------------------#'
###################################################################
# Check if 0 and 1 values can be used on variable #
###################################################################
SET @@global.event_scheduler = 0;
SELECT @@global.event_scheduler;
SET @@global.event_scheduler = 1;
SELECT @@global.event_scheduler;
--echo '#---------------------FN_DYNVARS_004_07----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.event_scheduler = TRUE;
SELECT @@global.event_scheduler;
SET @@global.event_scheduler = FALSE;
SELECT @@global.event_scheduler;
--echo '#---------------------FN_DYNVARS_004_08----------------------#'
##############################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points #
# to same session variable #
##############################################################################
SET @@global.event_scheduler = ON;
SELECT @@event_scheduler = @@global.event_scheduler;
--echo '#---------------------FN_DYNVARS_004_09----------------------#'
#######################################################################
# Check if event_scheduler can be accessed with and without @@ sign #
#######################################################################
--Error ER_GLOBAL_VARIABLE
SET event_scheduler = ON;
--Error ER_PARSE_ERROR
SET local.event_scheduler = OFF;
--Error ER_UNKNOWN_TABLE
SELECT local.event_scheduler;
--Error ER_PARSE_ERROR
SET global.event_scheduler = ON;
--Error ER_UNKNOWN_TABLE
SELECT global.event_scheduler;
--Error ER_BAD_FIELD_ERROR
SELECT event_scheduler = @@session.event_scheduler;
##############################
# Restore initial value #
##############################
SET @@global.event_scheduler = @start_value;
SELECT @@global.event_scheduler;
#####################################################
# END OF event_scheduler TESTS #
#####################################################

View File

@ -0,0 +1,90 @@
############## mysql-test\t\event_scheduler_func.test ##########################
# #
# Variable Name: event_scheduler #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Boolean #
# Default Value: OFF #
# Valid Values: ON, OFF & DISABLED #
# #
# #
# Creation Date: 2008-03-17 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "event_scheduler" #
# that checks functionality of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html#option_mysqld_event_scheduler #
# #
################################################################################
--disable_warnings
drop table if exists t1;
--enable_warnings
#########################
# Creating new table #
#########################
--echo ## Creating new table ##
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30)
);
--echo '#--------------------FN_DYNVARS_018_01-------------------------#'
####################################################################
# Setting initial value of event_scheduler to ON and verifying
# its behavior
####################################################################
--echo ## Setting initial value of variable to ON ##
SET @@global.event_scheduler = ON;
SELECT @@event_scheduler;
--echo ## Creating new event ##
CREATE EVENT test_event_1
ON SCHEDULE EVERY 3 SECOND
DO
INSERT into t1(name) values('Record_1');
--sleep 4
SELECT * from t1;
DROP EVENT test_event_1;
--sleep 1
DELETE from t1;
select * from t1;
--echo '#--------------------FN_DYNVARS_018_02-------------------------#'
####################################################################
# Setting initial value of event_scheduler to OFF and verifying
# its behavior
####################################################################
--echo ## Setting value of variable to OFF ##
SET @@global.event_scheduler = OFF;
SELECT @@event_scheduler;
--echo ## Creating new event ##
CREATE EVENT test_event_1
ON SCHEDULE EVERY 3 SECOND
DO
INSERT into t1(name) values('Record_2');
--sleep 4
--echo ## Table should be empty ##
SELECT * from t1;
DROP EVENT test_event_1;
--echo ## Dropping table ##
DROP table t1;

View File

@ -0,0 +1,179 @@
############## mysql-test\t\expire_logs_days_basic.test ###############
# #
# Variable Name: expire_logs_days #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: numeric #
# Default Value:0 #
# Range: 0-99 #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Salman #
# #
# Description: Test Cases of Dynamic System Variable expire_logs_days #
# 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/load_sysvars.inc
########################################################################
# START OF expire_logs_days TESTS #
########################################################################
########################################################################
# Saving initial value of expire_logs_days in a temporary variable #
########################################################################
SET @start_value = @@global.expire_logs_days;
SELECT @start_value;
--echo '#--------------------FN_DYNVARS_029_01------------------------#'
########################################################################
# Display the DEFAULT value of expire_logs_days #
########################################################################
SET @@global.expire_logs_days = 99;
SET @@global.expire_logs_days = DEFAULT;
SELECT @@global.expire_logs_days;
--echo '#---------------------FN_DYNVARS_029_02-------------------------#'
###############################################
# Verify default value of variable #
###############################################
SET @@global.expire_logs_days = @start_value;
SELECT @@global.expire_logs_days = 0;
--echo '#--------------------FN_DYNVARS_029_03------------------------#'
########################################################################
# Change the value of expire_logs_days to a valid value #
########################################################################
SET @@global.expire_logs_days = 0;
SELECT @@global.expire_logs_days;
SET @@global.expire_logs_days = 99;
SELECT @@global.expire_logs_days;
SET @@global.expire_logs_days = 10;
SELECT @@global.expire_logs_days;
SET @@global.expire_logs_days = 21;
SELECT @@global.expire_logs_days;
--echo '#--------------------FN_DYNVARS_029_04-------------------------#'
###########################################################################
# Change the value of expire_logs_days to invalid value #
###########################################################################
SET @@global.expire_logs_days = -1;
SELECT @@global.expire_logs_days;
SET @@global.expire_logs_days = 100;
SELECT @@global.expire_logs_days;
SET @@global.expire_logs_days = 1024;
SELECT @@global.expire_logs_days;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.expire_logs_days = 10000.01;
SELECT @@global.expire_logs_days;
SET @@global.expire_logs_days = -1024;
SELECT @@global.expire_logs_days;
SET @@global.expire_logs_days = 42949672950;
SELECT @@global.expire_logs_days;
echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.expire_logs_days = ON;
SELECT @@global.expire_logs_days;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.expire_logs_days = 'test';
SELECT @@global.expire_logs_days;
--echo '#-------------------FN_DYNVARS_029_05----------------------------#'
###########################################################################
# Test if accessing session expire_logs_days gives error #
###########################################################################
--Error ER_GLOBAL_VARIABLE
SET @@session.expire_logs_days = 0;
SELECT @@expire_logs_days;
--echo '#----------------------FN_DYNVARS_029_06------------------------#'
##############################################################################
# Check if the value in GLOBAL & SESSION Tables matches values in variable #
##############################################################################
SELECT @@global.expire_logs_days = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='expire_logs_days';
SELECT @@expire_logs_days = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='expire_logs_days';
--echo '#---------------------FN_DYNVARS_029_07----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.expire_logs_days = TRUE;
SELECT @@global.expire_logs_days;
SET @@global.expire_logs_days = FALSE;
SELECT @@global.expire_logs_days;
--echo '#---------------------FN_DYNVARS_029_08----------------------#'
########################################################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
########################################################################################################
SET @@global.expire_logs_days = 1;
SELECT @@expire_logs_days = @@global.expire_logs_days;
--echo '#---------------------FN_DYNVARS_029_09----------------------#'
##########################################################################
# Check if expire_logs_days can be accessed with and without @@ sign #
##########################################################################
--Error ER_GLOBAL_VARIABLE
SET expire_logs_days = 1;
SELECT @@expire_logs_days;
--Error ER_PARSE_ERROR
SET local.expire_logs_days = 1;
--Error ER_UNKNOWN_TABLE
SELECT local.expire_logs_days;
--Error ER_PARSE_ERROR
SET global.expire_logs_days = 1;
--Error ER_UNKNOWN_TABLE
SELECT global.expire_logs_days;
--Error ER_BAD_FIELD_ERROR
SELECT expire_logs_days = @@session.expire_logs_days;
##############################
# Restore initial value #
##############################
SET @@global.expire_logs_days = @start_value;
SELECT @@global.expire_logs_days;
########################################################################
# END OF expire_logs_days TESTS #
########################################################################

View File

@ -0,0 +1,172 @@
############## mysql-test\t\flush_basic.test ##################################
# #
# Variable Name: flush #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: boolean #
# Default Value: OFF #
# Range: #
# #
# #
# Creation Date: 2008-02-09 #
# Author: Salman #
# #
# Description: Test Cases of Dynamic System Variable flush #
# 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-options.html#option_mysqld_flush #
# #
###############################################################################
--source include/load_sysvars.inc
########################################################################
# START OF flush TESTS #
########################################################################
#############################################################
# Saving initial value of flush in a temporary variable #
#############################################################
SET @start_value = @@global.flush;
SELECT @start_value;
--echo '#--------------------FN_DYNVARS_030_01------------------------#'
#############################################################
# Display the DEFAULT value of flush #
#############################################################
SET @@global.flush = ON;
--Error ER_NO_DEFAULT
SET @@global.flush = DEFAULT;
--echo 'Bug# 34878: FN_DYNVARS_002_01 - Default value is off according to Documentation of MySQL';
SELECT @@global.flush;
--echo '#---------------------FN_DYNVARS_030_02-------------------------#'
###############################################
# Verify default value of variable #
###############################################
SET @@global.flush = @start_value;
SELECT @@global.flush;
--echo '#--------------------FN_DYNVARS_030_03------------------------#'
#############################################################
# Change the value of flush to a valid value #
#############################################################
SET @@global.flush = ON;
SELECT @@global.flush;
SET @@global.flush = OFF;
SELECT @@global.flush;
SET @@global.flush = 0;
SELECT @@global.flush;
SET @@global.flush = 1;
SELECT @@global.flush;
--echo '#--------------------FN_DYNVARS_030_04-------------------------#'
###########################################################################
# Change the value of flush to invalid value #
###########################################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = 2;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = TRUEF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = TRUE_F;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = FALSE0;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = OON;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = ONN;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = OOFF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = 0FF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = ' ';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = " ";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = '';
--echo '#-------------------FN_DYNVARS_030_05----------------------------#'
###########################################################################
# Test if accessing session flush gives error #
###########################################################################
--Error ER_GLOBAL_VARIABLE
SET @@session.flush = 1;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.flush;
--echo '#----------------------FN_DYNVARS_030_06------------------------#'
####################################################################
# Check if the value in GLOBAL Tables matches values in variable #
####################################################################
SELECT @@global.flush = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='flush';
--echo '#---------------------FN_DYNVARS_030_07----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.flush = TRUE;
SELECT @@global.flush;
SET @@global.flush = FALSE;
SELECT @@global.flush;
--echo '#---------------------FN_DYNVARS_030_08----------------------#'
###############################################################################
# Check if accessing variable without SCOPE points to same global variable #
###############################################################################
SET @@global.flush = 1;
SELECT @@flush = @@global.flush;
--echo '#---------------------FN_DYNVARS_030_09----------------------#'
##########################################################################
# Check if flush can be accessed with and without @@ sign #
##########################################################################
--Error ER_GLOBAL_VARIABLE
SET flush = 1;
--Error ER_PARSE_ERROR
SET global.flush = 1;
--Error ER_UNKNOWN_TABLE
SELECT global.flush;
--Error ER_BAD_FIELD_ERROR
SELECT flush = @@session.flush;
##############################
# Restore initial value #
##############################
SET @@global.flush = @start_value;
SELECT @@global.flush;
#############################################################
# END OF flush TESTS #
#############################################################

View File

@ -0,0 +1,172 @@
############## mysql-test\t\foreign_key_checks_basic.test #####################
# #
# Variable Name: foreign_key_checks #
# Scope: SESSION #
# Access Type: Dynamic #
# Data Type: boolean #
# Default Value: NA #
# Range: NA #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable foreign_key_checks #
# 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/load_sysvars.inc
########################################################################
# START OF foreign_key_checks TESTS #
########################################################################
################################################################################
# Saving initial value of foreign_key_checks in a temporary variable #
################################################################################
SET @session_start_value = @@session.foreign_key_checks;
SELECT @session_start_value;
--echo '#--------------------FN_DYNVARS_032_01------------------------#'
########################################################################
# Display the DEFAULT value of foreign_key_checks #
########################################################################
SET @@session.foreign_key_checks = 1;
SET @@session.foreign_key_checks = DEFAULT;
SELECT @@session.foreign_key_checks;
--echo 'Bug# 34878: No DEFAULT value for variable. Also setting DEFAULT does not give error'
--echo '#---------------------FN_DYNVARS_032_02-------------------------#'
#############################################################################
# Check if foreign_key_checks can be accessed with and without @@ sign #
#############################################################################
SET foreign_key_checks = 1;
SELECT @@foreign_key_checks;
--Error ER_UNKNOWN_TABLE
SELECT session.foreign_key_checks;
--Error ER_UNKNOWN_TABLE
SELECT local.foreign_key_checks;
SET session foreign_key_checks = 0;
SELECT @@session.foreign_key_checks;
--echo '#--------------------FN_DYNVARS_032_03------------------------#'
########################################################################
# change the value of foreign_key_checks to a valid value #
########################################################################
SET @@session.foreign_key_checks = 0;
SELECT @@session.foreign_key_checks;
SET @@session.foreign_key_checks = 1;
SELECT @@session.foreign_key_checks;
--echo '#--------------------FN_DYNVARS_032_04-------------------------#'
###########################################################################
# Change the value of foreign_key_checks to invalid value #
###########################################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.foreign_key_checks = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.foreign_key_checks = 2;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.foreign_key_checks = "T";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.foreign_key_checks = "Y";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.foreign_key_checks = TR<54>E;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.foreign_key_checks = <20>N;
SET @@session.foreign_key_checks = OF;
SELECT @@session.foreign_key_checks;
--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.'
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.foreign_key_checks = <20>FF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.foreign_key_checks = '<27>';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@session.foreign_key_checks = NO;
--echo '#-------------------FN_DYNVARS_032_05----------------------------#'
###########################################################################
# Test if accessing global foreign_key_checks gives error #
###########################################################################
--Error ER_LOCAL_VARIABLE
SET @@global.foreign_key_checks = 0;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@global.foreign_key_checks;
--echo '#----------------------FN_DYNVARS_032_06------------------------#'
#########################################################################
# Check if the value in GLOBAL Table contains variable value #
#########################################################################
SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='foreign_key_checks';
--echo '#----------------------FN_DYNVARS_032_07------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
SELECT @@session.foreign_key_checks = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='foreign_key_checks';
SELECT @@session.foreign_key_checks;
SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='foreign_key_checks';
--echo '#---------------------FN_DYNVARS_032_08-------------------------#'
###################################################################
# Check if ON and OFF values can be used on variable #
###################################################################
SET @@session.foreign_key_checks = OFF;
SELECT @@session.foreign_key_checks;
SET @@session.foreign_key_checks = ON;
SELECT @@session.foreign_key_checks;
--echo '#---------------------FN_DYNVARS_032_09----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@session.foreign_key_checks = TRUE;
SELECT @@session.foreign_key_checks;
SET @@session.foreign_key_checks = FALSE;
SELECT @@session.foreign_key_checks;
##############################
# Restore initial value #
##############################
SET @@session.foreign_key_checks = @session_start_value;
SELECT @@session.foreign_key_checks;
###############################################################
# END OF foreign_key_checks TESTS #
###############################################################

View File

@ -0,0 +1,139 @@
############## mysql-test\t\foreign_key_checks_func.test #####################
# #
# Variable Name: foreign_key_checks #
# Scope: SESSION #
# Access Type: Dynamic #
# Data Type: boolean #
# Default Value: NA #
# Range: NA #
# #
# #
# Creation Date: 2008-03-08 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable foreign_key_checks #
# that checks the behavior of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--source include/have_innodb.inc
--echo '#--------------------FN_DYNVARS_032_01-------------------------#'
####################################################################
# Check if setting foreign_key_checks is changed in new connection #
####################################################################
SET @@session.foreign_key_checks = 0;
# con1 will be default connection from now on
--echo 'connect (con1,localhost,root,,,,)'
connect (con1,localhost,root,,,,);
--echo 'connection con1'
connection con1;
SELECT @@session.foreign_key_checks;
SET @@session.foreign_key_checks = 1;
--echo 'connect (con2,localhost,root,,,,)'
connect (con2,localhost,root,,,,);
--echo 'connection con2'
connection con2;
SELECT @@session.foreign_key_checks;
disconnect con2;
--echo '#--------------------FN_DYNVARS_032_02-------------------------#'
#################################################################
# Begin the functionality Testing of foreign_key_checks #
#################################################################
--echo 'connection con1'
connection con1;
--disable_warnings
DROP TABLE IF EXISTS t1,t2;
--enable_warnings
CREATE TABLE t1(a INT PRIMARY KEY)ENGINE = INNODB;
CREATE TABLE t2(a INT PRIMARY KEY,b INT)ENGINE = INNODB;
ALTER TABLE t2
ADD CONSTRAINT fk FOREIGN KEY (b) REFERENCES t1 (a);
#===========================================================
--echo '---Check when foreign_key_checks is enabled---'
#===========================================================
SET @@session.foreign_key_checks = 1;
INSERT INTO t1 values (1),(2),(3);
INSERT INTO t2 values (10,1);
--Error ER_NO_REFERENCED_ROW_2
INSERT INTO t2 values (20,22);
#===========================================================
--echo '---Check when foreign_key_checks is disabled---'
#===========================================================
--Error ER_ROW_IS_REFERENCED_2
TRUNCATE t1;
SET @@session.foreign_key_checks = 0;
TRUNCATE t1;
TRUNCATE t2;
INSERT INTO t1 values (1),(2),(3);
INSERT INTO t2 values (10,1);
INSERT INTO t2 values (20,4);
--echo 'try enabling foreign_key_checks again';
SET @@session.foreign_key_checks = 1;
UPDATE t2 SET b=4 where a=20;
--echo 'Bug#35358: Updating an incorrect foreign key(inserted by disabling '
--echo 'foreign_key_checks)to the same value does not raise error after '
--echo 'enabling foreign_key_checks'
#==============================================================================
--echo 'Check when foreign_key_checks is enabled and FK constraint is re-created'
#==============================================================================
SET @@session.foreign_key_checks = 0;
TRUNCATE t2;
TRUNCATE t1;
INSERT INTO t1 values (1),(2),(3);
INSERT INTO t2 values (10,1),(20,4);
ALTER TABLE t2 DROP FOREIGN KEY fk;
SET @@session.foreign_key_checks = 1;
# Test disabled as error description is different. The resulting description has
# difference in code #sql-xxx_2 where xxx is different for each run.
#--Error ER_NO_REFERENCED_ROW_2
#ALTER TABLE t2
#ADD CONSTRAINT fk FOREIGN KEY (b) REFERENCES t1 (a);
# delete all rows with incorrect reference
DELETE FROM t2 WHERE b not in (SELECT a from t1);
ALTER TABLE t2
ADD CONSTRAINT fk FOREIGN KEY (b) REFERENCES t1 (a);
INSERT INTO t2 values (20,2);
SELECT * from t2;
--disable_warnings
DROP TABLE IF EXISTS t2;
DROP TABLE IF EXISTS t1;
--enable_warnings
##########################################################
# End of functionality Testing for foreign_key_checks #
##########################################################

View File

@ -0,0 +1,162 @@
############## mysql-test\t\ft_boolean_syntax_basic.test ######################
# #
# Variable Name: ft_boolean_syntax #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: +-><()~*:""& #
# Range: NA #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable ft_boolean_syntax #
# 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/load_sysvars.inc
###################################################
## START OF ft_boolean_syntax TESTS ##
###################################################
#############################################################
# Save initial value #
#############################################################
# save using implicit session scope
SET @global_start_value = @@global.ft_boolean_syntax;
SELECT @global_start_value;
--echo '#--------------------FN_DYNVARS_033_01------------------#'
###############################################################################
# Test Variable access and assignment with and without @@ #
###############################################################################
# select without @@
--error ER_BAD_FIELD_ERROR
SELECT ft_boolean_syntax;
# access using no scope specified
SELECT @@ft_boolean_syntax;
# assign value without @@
SET @@global.ft_boolean_syntax='+ -><()~*:""&|';
SELECT @@global.ft_boolean_syntax;
# using another syntax for accessing session variable
SET global ft_boolean_syntax='$ -><()`*:""&|';
# accessing variable with scope the wrong way
--Error ER_BAD_FIELD_ERROR
SELECT global ft_boolean_syntax;
--echo '#--------------------FN_DYNVARS_033_02-------------------------#'
#######################################################################
# Check the DEFAULT value of ft_boolean_syntax for global #
#######################################################################
SET @@global.ft_boolean_syntax = '# -><()!*:""&|';
SET @@global.ft_boolean_syntax = DEFAULT;
SELECT @@global.ft_boolean_syntax;
--echo '#--------------------FN_DYNVARS_033_03-------------------------#'
######################################################################
# see if it is accessable using session scope #
######################################################################
--Error ER_GLOBAL_VARIABLE
SET @@session.ft_boolean_syntax = '# -><()!*:""&|';
--Error ER_GLOBAL_VARIABLE
SET @@ft_boolean_syntax = '# -><()!*:""&|';
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.ft_boolean_syntax;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@local.ft_boolean_syntax;
--echo '#--------------------FN_DYNVARS_033_04-------------------------#'
##############################################################################
# Change the value of ft_boolean_syntax to a valid value #
##############################################################################
SET @@global.ft_boolean_syntax='+ -><()~*:""&|';
SELECT @@global.ft_boolean_syntax;
SET @@global.ft_boolean_syntax=' +-><()~*:""&|';
SELECT @@global.ft_boolean_syntax;
SET @@global.ft_boolean_syntax=' -+()<>~*:``&|';
SELECT @@global.ft_boolean_syntax;
SET @@global.ft_boolean_syntax='+ -><()~*:""@!';
SELECT @@global.ft_boolean_syntax;
SET @@global.ft_boolean_syntax=" +-><()~*:''&|";
SELECT @@global.ft_boolean_syntax;
SET @@global.ft_boolean_syntax=' ~/!@#$%^&*()-';
SELECT @@global.ft_boolean_syntax;
--echo '#--------------------FN_DYNVARS_033_05-------------------------#'
###############################################################################
# Change the value of ft_boolean_syntax to an invalid value for global #
###############################################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.ft_boolean_syntax = '+-> <()~*:""&|';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.ft_boolean_syntax = '0';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.ft_boolean_syntax = '1 -><()~*:11&|';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.ft_boolean_syntax = '# -><()~*:11&1';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.ft_boolean_syntax = '1234567890ABCD';
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.ft_boolean_syntax = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.ft_boolean_syntax = '+-> <((~*:".&|';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.ft_boolean_syntax = ' ';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.ft_boolean_syntax = ON;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.ft_boolean_syntax = true;
--Error ER_PARSE_ERROR
SET @@global.ft_boolean_syntax = + -><()~*:""&|;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.ft_boolean_syntax = ENABLE;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.ft_boolean_syntax = 'IGNORE';
--echo '#--------------------FN_DYNVARS_033_06-------------------------#'
#############################################################################
# Check if the value in GLOBAL Table matches value in variable #
#############################################################################
SELECT @@global.ft_boolean_syntax = (SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='ft_boolean_syntax') AS res;
--echo '#--------------------FN_DYNVARS_033_07-------------------------#'
#############################################################################
# Assigning value from a temporary variable #
#############################################################################
# Content of initial variable
SELECT @global_start_value;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.ft_boolean_syntax = @global_start_value;
--echo 'Bug# 34883: ft_boolean_syntax cant be assigned values from session temporary';
--echo 'variables';
####################################
# Restore Default value #
####################################
#restoring to default as we cant assign the initial value
SET @@global.ft_boolean_syntax = DEFAULT;
SELECT @@global.ft_boolean_syntax;
##########################################################
# END OF ft_boolean_syntax TESTS #
##########################################################

View File

@ -0,0 +1,125 @@
############## mysql-test\t\ft_boolean_syntax_func.test ######################
# #
# Variable Name: ft_boolean_syntax #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: + -><()~*:""& #
# Range: NA #
# #
# #
# Creation Date: 2008-03-08 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable ft_boolean_syntax #
# that checks the behavior of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--echo '#--------------------FN_DYNVARS_033_01-------------------------#'
###################################################################
# Check if setting ft_boolean_syntax is changed in new connection #
###################################################################
SET @@global.ft_boolean_syntax = ' -+()<>~*:``&|';
# con1 will be default connection from now on
--echo 'connect (con1,localhost,root,,,,)'
connect (con1,localhost,root,,,,);
--echo 'connection con1'
connection con1;
SELECT @@global.ft_boolean_syntax;
SET @@global.ft_boolean_syntax = '+ -><()~*:""&|';
--echo 'connect (con2,localhost,root,,,,)'
connect (con2,localhost,root,,,,);
--echo 'connection con2'
connection con2;
SELECT @@global.ft_boolean_syntax;
disconnect con2;
disconnect con1;
--echo '#--------------------FN_DYNVARS_033_02-------------------------#'
#########################################################
# Begin the functionality Testing of ft_boolean_syntax #
#########################################################
--echo 'connection default'
connection default;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
body TEXT,
FULLTEXT (title,body)
);
INSERT INTO articles (title,body) VALUES
('MySQL Tutorial','DBMS stands for DataBase ...'),
('How To',''),
('How To Use MySQL Well','After you went through a ...'),
('Optimizing MySQL','In this tutorial we will show .... Run command line ...'),
('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
('100 Tips for Myisam','1. Myisam is faster than innodb 2. Tricks and Tips for Myisam...'),
('MySQL vs. YourSQL','In the following database comparison ...'),
('MySQL Security','When configured properly, MySQL ...'),
('Database Security','Configuring MySQL for ...');
SET @@global.ft_boolean_syntax = DEFAULT;
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('+mySQL -yourSQL' IN BOOLEAN MODE);
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('+MySQL +YourSQL' IN BOOLEAN MODE);
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('MySQL' IN BOOLEAN MODE);
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('mysql tutorial dbms' IN BOOLEAN MODE);
SELECT id,title,body, (MATCH (title,body)
AGAINST ('+security configuring' IN BOOLEAN MODE)) AS relevance
FROM articles WHERE MATCH (title,body)
AGAINST ('+security configuring' IN BOOLEAN MODE);
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('"faster than"' IN BOOLEAN MODE);
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('+run ~line' IN BOOLEAN MODE);
--Echo 'Bug#35359: ~ is not working correctly. Its behaving like -'
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('10*' IN BOOLEAN MODE);
--Echo 'Bug#35360: * is not working correctly. Not all rows are returned'
SELECT id,title,body, (MATCH (title,body)
AGAINST ('+MySQL +(>show <dbms)' IN BOOLEAN MODE)) AS relevance
FROM articles WHERE MATCH (title,body)
AGAINST ('+MySQL +(>show <dbms)' IN BOOLEAN MODE)
ORDER BY relevance DESC;
#==============================================================================
--echo '---try setting different operators. Default '+ -><()~*:""&|'--'
#==============================================================================
SET @@global.ft_boolean_syntax='~ /!@#$%^&*()-';
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('~mySQL /yourSQL' IN BOOLEAN MODE);
--echo 'Bug#35361: Different syntax does not produce result as default operators'
#restore default
SET @@global.ft_boolean_syntax=DEFAULT;
#########################################################
# End of functionality Testing for ft_boolean_syntax #
#########################################################

View File

@ -0,0 +1,169 @@
######################## mysql-test\t\general_log_basic.test ###################
# #
# Variable Name: general_log #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: BOOLEAN #
# Default Value: OFF #
# Valid Values: ON, OFF #
# #
# #
# Creation Date: 2008-03-14 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "general_log" #
# that checks 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-options.html#option_mysqld_event-scheduler #
# #
################################################################################
###########################################################
# START OF general_log TESTS #
###########################################################
###################################################################
# Saving initial value of general_log in a temporary variable #
###################################################################
SET @start_value = @@global.general_log;
SELECT @start_value;
--echo '#---------------------FN_DYNVARS_004_01-------------------------#'
###############################################
# Verify default value of variable #
###############################################
SET @@global.general_log = DEFAULT;
SELECT @@global.general_log = 0;
--echo '#--------------------FN_DYNVARS_004_02------------------------#'
#######################################################################
# Change the value of general_log to a valid value #
#######################################################################
SET @@global.general_log = ON;
SELECT @@global.general_log;
SET @@global.general_log = OFF;
SELECT @@global.general_log;
--echo '#--------------------FN_DYNVARS_004_03-------------------------#'
#######################################################################
# Change the value of general_log to invalid value #
#######################################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.general_log = 2;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.general_log = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.general_log = TRUEF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.general_log = TRUE_F;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.general_log = FALSE0;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.general_log = OON;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.general_log = ONN;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.general_log = OOFF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.general_log = 0FF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.general_log = ' ';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.general_log = " ";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.general_log = '';
--echo '#-------------------FN_DYNVARS_004_04----------------------------#'
###################################################################
# Test if accessing session general_log gives error #
###################################################################
--Error ER_GLOBAL_VARIABLE
SET @@session.general_log = OFF;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.general_log;
--echo '#----------------------FN_DYNVARS_004_05------------------------#'
##############################################################################
# Check if the value in GLOBAL Tables matches values in variable #
##############################################################################
SELECT @@global.general_log = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='general_log';
--echo '#---------------------FN_DYNVARS_004_06----------------------#'
###################################################################
# Check if 0 and 1 values can be used on variable #
###################################################################
SET @@global.general_log = 0;
SELECT @@global.general_log;
SET @@global.general_log = 1;
SELECT @@global.general_log;
--echo '#---------------------FN_DYNVARS_004_07----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.general_log = TRUE;
SELECT @@global.general_log;
SET @@global.general_log = FALSE;
SELECT @@global.general_log;
--echo '#---------------------FN_DYNVARS_004_08----------------------#'
##############################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points #
# to same session variable #
##############################################################################
SET @@global.general_log = ON;
SELECT @@general_log = @@global.general_log;
--echo '#---------------------FN_DYNVARS_004_09----------------------#'
#######################################################################
# Check if general_log can be accessed with and without @@ sign #
#######################################################################
--Error ER_GLOBAL_VARIABLE
SET general_log = ON;
--Error ER_PARSE_ERROR
SET local.general_log = OFF;
--Error ER_UNKNOWN_TABLE
SELECT local.general_log;
--Error ER_PARSE_ERROR
SET global.general_log = ON;
--Error ER_UNKNOWN_TABLE
SELECT global.general_log;
--Error ER_BAD_FIELD_ERROR
SELECT general_log = @@session.general_log;
##############################
# Restore initial value #
##############################
SET @@global.general_log = @start_value;
SELECT @@global.general_log;
#####################################################
# END OF general_log TESTS #
#####################################################

View File

@ -0,0 +1 @@
--log=test.log

View File

@ -0,0 +1,70 @@
################### mysql-test\t\general_log_file_basic.test ###################
# #
# Variable Name: general_log_file #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Filename #
# Default Value: host_name.log #
# Valid Values: #
# #
# #
# Creation Date: 2008-03-16 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "general_log_file" #
# that checks 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#option_mysqld_general_log_file #
# #
################################################################################
--source include/load_sysvars.inc
###########################################################
# START OF general_log_file TESTS #
###########################################################
########################################################################
# Saving initial value of general_log_file in a temporary variable #
########################################################################
SET @start_value = @@global.general_log_file;
SELECT @start_value;
--echo '#---------------------FN_DYNVARS_004_01-------------------------#'
###############################################
# Verify default value of variable #
###############################################
SET @@global.general_log_file = DEFAULT;
SELECT RIGHT(@@global.general_log_file,10) AS log_file;
--echo '#--------------------FN_DYNVARS_004_02------------------------#'
#######################################################################
# Change the value of general_log_file to a invalid value #
#######################################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.general_log_file = mytest.log;
--echo '#----------------------FN_DYNVARS_004_03------------------------#'
##############################################################################
# Check if the value in GLOBAL Tables matches values in variable #
##############################################################################
SELECT @@global.general_log_file = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='general_log_file';
#####################################################
# END OF general_log_file TESTS #
#####################################################

View File

@ -0,0 +1,2 @@
--log=mysql-test.log

View File

@ -0,0 +1,56 @@
############## mysql-test\t\general_log_file_func.test #########################
# #
# Variable Name: general_log_file #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Boolean #
# Default Value: filename #
# Valid Values: #
# #
# #
# Creation Date: 2008-03-17 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "general_log_file" #
# that checks functionality of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html#option_mysqld_general_log_file #
# #
################################################################################
--disable_warnings
drop table if exists t1;
--enable_warnings
#########################
# Creating new table #
#########################
--echo ## Creating new table ##
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30)
);
--echo '#--------------------FN_DYNVARS_018_01-------------------------#'
####################################################################
# Verifying general log as we have initialized in opt file #
####################################################################
SELECT @@general_log_file;
INSERT into t1(name) values('Record_1');
INSERT into t1(name) values('Record_2');
INSERT into t1(name) values('Record_3');
INSERT into t1(name) values('Record_4');
--echo ## Verifying general log file ##
--file_exists var/master-data/mysql-test.log
--echo ## Dropping table ##
DROP TABLE t1;

View File

@ -0,0 +1,84 @@
################# mysql-test\t\general_log_func.test ###########################
# #
# Variable Name: general_log #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Boolean #
# Default Value: OFF #
# Valid Values: ON, OFF #
# #
# #
# Creation Date: 2008-03-17 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "general_log" #
# that checks functionality of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html#option_mysqld_general_log #
# #
################################################################################
--disable_warnings
drop table if exists t1;
--enable_warnings
#########################
# Creating new table #
#########################
--echo ## Creating new table ##
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30)
);
--echo '#--------------------FN_DYNVARS_018_01-------------------------#'
####################################################################
# Setting initial value of general_log to OFF and verifying
# its behavior
####################################################################
--echo ## Setting initial value of variable to OFF ##
SET @@global.general_log = OFF;
SELECT @@general_log;
--copy_file var/log/master.log var/log/master-test.log
--echo ## Inserting some Records & Verifying output in log ##
INSERT into t1(name) values('Record_1');
INSERT into t1(name) values('Record_2');
--echo ## There should be no difference, case should pass ##
--diff_files var/log/master.log var/log/master-test.log
--echo '#--------------------FN_DYNVARS_018_01-------------------------#'
####################################################################
# Setting initial value of general_log to ON and verifying
# its behavior
####################################################################
--echo ## Setting initial value of variable to OFF ##
SET @@global.general_log = ON;
SELECT @@general_log;
--copy_file var/log/master.log var/log/master-test-1.log
--echo ## Inserting some Records & Verifying output in log ##
INSERT into t1(name) values('Record_3');
INSERT into t1(name) values('Record_4');
--echo ## There should be no difference, case should pass ##
#--diff_files var/log/master.log var/log/master-test-1.log
--echo ## This case is failing which shows that mysql is writing in general ##
--echo ## log when we set general_log to ON ##
--echo ## Dropping tables ##
DROP TABLE t1;

View File

@ -0,0 +1,206 @@
############## mysql-test\t\group_concat_max_len_basic.test ###############
# #
# Variable Name: group_concat_max_len #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: numeric #
# Default Value: 1024 #
# Minimum value: 4 #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Salman #
# #
# Description: Test Cases of Dynamic System Variable group_concat_max_len #
# 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/load_sysvars.inc
########################################################################
# START OF group_concat_max_len TESTS #
########################################################################
#############################################################
# Save initial value #
#############################################################
SET @start_global_value = @@global.group_concat_max_len;
SELECT @start_global_value;
SET @start_session_value = @@session.group_concat_max_len;
SELECT @start_session_value;
--echo '#--------------------FN_DYNVARS_034_01-------------------------#'
########################################################################
# Display the DEFAULT value of group_concat_max_len #
########################################################################
SET @@global.group_concat_max_len = 100;
SET @@global.group_concat_max_len = DEFAULT;
SELECT @@global.group_concat_max_len;
SET @@session.group_concat_max_len = 200;
SET @@session.group_concat_max_len = DEFAULT;
SELECT @@session.group_concat_max_len;
--echo '#--------------------FN_DYNVARS_034_02-------------------------#'
########################################################################
# Check the DEFAULT value of group_concat_max_len #
########################################################################
SET @@global.group_concat_max_len = DEFAULT;
SELECT @@global.group_concat_max_len = 1;
SET @@session.group_concat_max_len = DEFAULT;
SELECT @@session.group_concat_max_len = 1;
--echo '#--------------------FN_DYNVARS_034_03-------------------------#'
##################################################################################
# Change the value of group_concat_max_len to a valid value for GLOBAL Scope #
##################################################################################
SET @@global.group_concat_max_len = 1;
SELECT @@global.group_concat_max_len;
SET @@global.group_concat_max_len = 60020;
SELECT @@global.group_concat_max_len;
SET @@global.group_concat_max_len = 65535;
SELECT @@global.group_concat_max_len;
--echo '#--------------------FN_DYNVARS_034_04-------------------------#'
###################################################################################
# Change the value of group_concat_max_len to a valid value for SESSION Scope #
###################################################################################
SET @@session.group_concat_max_len = 1;
SELECT @@session.group_concat_max_len;
SET @@session.group_concat_max_len = 50050;
SELECT @@session.group_concat_max_len;
SET @@session.group_concat_max_len = 65535;
SELECT @@session.group_concat_max_len;
--echo '#------------------FN_DYNVARS_034_05-----------------------#'
####################################################################
# Change the value of group_concat_max_len to an invalid value #
####################################################################
SET @@global.group_concat_max_len = 0;
SELECT @@global.group_concat_max_len;
SET @@global.group_concat_max_len = -1024;
SELECT @@global.group_concat_max_len;
SET @@global.group_concat_max_len = 65536;
SELECT @@global.group_concat_max_len;
--Error ER_PARSE_ERROR
SET @@global.group_concat_max_len = 65530.34.;
SELECT @@global.group_concat_max_len;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.group_concat_max_len = test;
SELECT @@global.group_concat_max_len;
SET @@session.group_concat_max_len = 0;
SELECT @@session.group_concat_max_len;
SET @@session.group_concat_max_len = -2;
SELECT @@session.group_concat_max_len;
--Error ER_PARSE_ERROR
SET @@session.group_concat_max_len = 65530.34.;
SET @@session.group_concat_max_len = 65550;
SELECT @@session.group_concat_max_len;
echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.group_concat_max_len = test;
SELECT @@session.group_concat_max_len;
--echo '#------------------FN_DYNVARS_034_06-----------------------#'
####################################################################
# Check if the value in GLOBAL Table matches value in variable #
####################################################################
SELECT @@global.group_concat_max_len = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='group_concat_max_len';
--echo '#------------------FN_DYNVARS_034_07-----------------------#'
####################################################################
# Check if the value in SESSION Table matches value in variable #
####################################################################
SELECT @@session.group_concat_max_len = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='group_concat_max_len';
--echo '#------------------FN_DYNVARS_034_08-----------------------#'
####################################################################
# Check if TRUE and FALSE values can be used on variable #
####################################################################
SET @@global.group_concat_max_len = TRUE;
SELECT @@global.group_concat_max_len;
SET @@global.group_concat_max_len = FALSE;
SELECT @@global.group_concat_max_len;
--echo '#---------------------FN_DYNVARS_001_09----------------------#'
####################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
####################################################################################
SET @@global.group_concat_max_len = 10;
SELECT @@group_concat_max_len = @@global.group_concat_max_len;
--echo '#---------------------FN_DYNVARS_001_10----------------------#'
########################################################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
########################################################################################################
SET @@group_concat_max_len = 100;
SELECT @@group_concat_max_len = @@local.group_concat_max_len;
SELECT @@local.group_concat_max_len = @@session.group_concat_max_len;
--echo '#---------------------FN_DYNVARS_001_11----------------------#'
###################################################################################
# Check if group_concat_max_len can be accessed with and without @@ sign #
###################################################################################
SET group_concat_max_len = 1;
SELECT @@group_concat_max_len;
--Error ER_UNKNOWN_TABLE
SELECT local.group_concat_max_len;
--Error ER_UNKNOWN_TABLE
SELECT session.group_concat_max_len;
--Error ER_BAD_FIELD_ERROR
SELECT group_concat_max_len = @@session.group_concat_max_len;
####################################
# Restore initial value #
####################################
SET @@global.group_concat_max_len = @start_global_value;
SELECT @@global.group_concat_max_len;
SET @@session.group_concat_max_len = @start_session_value;
SELECT @@session.group_concat_max_len;
#############################################################
# END OF group_concat_max_len TESTS #
#############################################################

View File

@ -0,0 +1,127 @@
############## mysql-test\t\group_concat_max_len_func.test ####################
# #
# Variable Name: group_concat_max_len #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: numeric #
# Default Value: 1024 #
# Minimum value: 4 #
# #
# #
# Creation Date: 2008-03-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable group_concat_max_len #
# that checks the functionality of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--disable_warnings
drop table if exists t1;
--enable_warnings
#########################
# Creating new table #
#########################
--echo ## Creating new table t1 ##
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
rollno int NOT NULL,
name VARCHAR(30)
);
--echo '#--------------------FN_DYNVARS_034_01-------------------------#'
########################################################################
# Setting initial value of group_concat_max_len, inserting some rows
# & creating 2 new connections
########################################################################
--echo ## Setting initial value of variable to 4 ##
SET @@global.group_concat_max_len = 4;
--echo ## Inserting some rows in table ##
INSERT into t1(rollno, name) values(1, 'Record_1');
INSERT into t1(rollno, name) values(2, 'Record_2');
INSERT into t1(rollno, name) values(1, 'Record_3');
INSERT into t1(rollno, name) values(3, 'Record_4');
INSERT into t1(rollno, name) values(1, 'Record_5');
INSERT into t1(rollno, name) values(3, 'Record_6');
INSERT into t1(rollno, name) values(4, 'Record_7');
INSERT into t1(rollno, name) values(4, 'Record_8');
--echo ## Creating two new connections ##
CONNECT (test_con1,localhost,root,,);
CONNECT (test_con2,localhost,root,,);
--echo '#--------------------FN_DYNVARS_034_02-------------------------#'
###############################################################################
# Verifying initial behavior of variable by concatinating values greater than 4
###############################################################################
--echo ## Connecting with test_con1 ##
CONNECTION test_con1;
--echo ## Accessing data and using group_concat on column whose value is greater than 4 ##
SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno;
--echo ## Changing session value of variable and verifying its behavior, ##
--echo ## warning should come here ##
SET @@session.group_concat_max_len = 10;
SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno;
--echo '#--------------------FN_DYNVARS_034_03-------------------------#'
##############################################################################
# Verifying behavior of variable by increasing session value of variable #
##############################################################################
--echo ## Connecting with new connection test_con2 ##
connection test_con2;
--echo ## Verifying initial value of variable. It should be 4 ##
SELECT @@session.group_concat_max_len = 4;
--echo ## Setting session value of variable to 20 and verifying variable is concating ##
--echo ## column's value to 20 or not ##
SET @@session.group_concat_max_len = 20;
--echo ## Verifying value of name column, it should not me more than 20 characters ##
--echo ## Warning should come here ##
SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno;
--echo '#--------------------FN_DYNVARS_034_04-------------------------#'
###############################################################################
# Verifying behavior of variable by increasing session value of variable #
# greater than the maximum concat length of name column #
###############################################################################
--echo ## Setting session value of variable to 26. No warning should appear here ##
--echo ## because the value after concatination is less than 30 ##
SET @@session.group_concat_max_len = 26;
--echo ## Verifying value of name column, it should not give warning now ##
SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno;
############################################################
# Disconnecting all connection & dropping table #
############################################################
--echo ## Dropping table t1 ##
DROP table t1;
--echo ## Disconnecting both the connection ##
DISCONNECT test_con2;
DISCONNECT test_con1;

View File

@ -0,0 +1,100 @@
################## mysql-test\t\have_compress_basic.test ######################
# #
# Variable Name: have_compress #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable have_compress #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_006_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.have_compress);
--echo 1 Expected
--echo '#---------------------BS_STVARS_006_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.have_compress=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.have_compress);
--echo 1 Expected
--echo '#---------------------BS_STVARS_006_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.have_compress = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_compress';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.have_compress);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_compress';
--echo 1 Expected
--echo '#---------------------BS_STVARS_006_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@have_compress = @@GLOBAL.have_compress;
--echo 1 Expected
--echo '#---------------------BS_STVARS_006_05----------------------#'
################################################################################
# Check if have_compress can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@have_compress);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.have_compress);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.have_compress);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.have_compress);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT have_compress = @@SESSION.have_compress;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\have_crypt_basic.test #########################
# #
# Variable Name: have_crypt #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable have_crypt #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_007_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.have_crypt);
--echo 1 Expected
--echo '#---------------------BS_STVARS_007_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.have_crypt=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.have_crypt);
--echo 1 Expected
--echo '#---------------------BS_STVARS_007_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.have_crypt = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_crypt';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.have_crypt);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_crypt';
--echo 1 Expected
--echo '#---------------------BS_STVARS_007_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@have_crypt = @@GLOBAL.have_crypt;
--echo 1 Expected
--echo '#---------------------BS_STVARS_007_05----------------------#'
################################################################################
# Check if have_crypt can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@have_crypt);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.have_crypt);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.have_crypt);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.have_crypt);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT have_crypt = @@SESSION.have_crypt;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\have_csv_basic.test ###########################
# #
# Variable Name: have_csv #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable have_csv #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_008_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.have_csv);
--echo 1 Expected
--echo '#---------------------BS_STVARS_008_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.have_csv=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.have_csv);
--echo 1 Expected
--echo '#---------------------BS_STVARS_008_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.have_csv = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_csv';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.have_csv);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_csv';
--echo 1 Expected
--echo '#---------------------BS_STVARS_008_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@have_csv = @@GLOBAL.have_csv;
--echo 1 Expected
--echo '#---------------------BS_STVARS_008_05----------------------#'
################################################################################
# Check if have_csv can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@have_csv);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.have_csv);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.have_csv);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.have_csv);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT have_csv = @@SESSION.have_csv;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\have_dynamic_loading_basic.test ###############
# #
# Variable Name: have_dynamic_loading #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable have_dynamic_loading #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_009_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.have_dynamic_loading);
--echo 1 Expected
--echo '#---------------------BS_STVARS_009_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.have_dynamic_loading=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.have_dynamic_loading);
--echo 1 Expected
--echo '#---------------------BS_STVARS_009_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.have_dynamic_loading = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_dynamic_loading';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.have_dynamic_loading);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_dynamic_loading';
--echo 1 Expected
--echo '#---------------------BS_STVARS_009_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@have_dynamic_loading = @@GLOBAL.have_dynamic_loading;
--echo 1 Expected
--echo '#---------------------BS_STVARS_009_05----------------------#'
################################################################################
# Check if have_dynamic_loading can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@have_dynamic_loading);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.have_dynamic_loading);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.have_dynamic_loading);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.have_dynamic_loading);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT have_dynamic_loading = @@SESSION.have_dynamic_loading;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\have_geometry_basic.test ######################
# #
# Variable Name: have_geometry #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable have_geometry #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_010_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.have_geometry);
--echo 1 Expected
--echo '#---------------------BS_STVARS_010_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.have_geometry=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.have_geometry);
--echo 1 Expected
--echo '#---------------------BS_STVARS_010_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.have_geometry = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_geometry';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.have_geometry);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_geometry';
--echo 1 Expected
--echo '#---------------------BS_STVARS_010_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@have_geometry = @@GLOBAL.have_geometry;
--echo 1 Expected
--echo '#---------------------BS_STVARS_010_05----------------------#'
################################################################################
# Check if have_geometry can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@have_geometry);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.have_geometry);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.have_geometry);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.have_geometry);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT have_geometry = @@SESSION.have_geometry;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\have_innodb_basic.test ########################
# #
# Variable Name: have_innodb #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable have_innodb #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_011_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.have_innodb);
--echo 1 Expected
--echo '#---------------------BS_STVARS_011_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.have_innodb=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.have_innodb);
--echo 1 Expected
--echo '#---------------------BS_STVARS_011_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.have_innodb = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_innodb';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.have_innodb);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_innodb';
--echo 1 Expected
--echo '#---------------------BS_STVARS_011_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@have_innodb = @@GLOBAL.have_innodb;
--echo 1 Expected
--echo '#---------------------BS_STVARS_011_05----------------------#'
################################################################################
# Check if have_innodb can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@have_innodb);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.have_innodb);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.have_innodb);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.have_innodb);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT have_innodb = @@SESSION.have_innodb;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\have_ndbcluster_basic.test ####################
# #
# Variable Name: have_ndbcluster #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable have_ndbcluster #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_012_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.have_ndbcluster);
--echo 1 Expected
--echo '#---------------------BS_STVARS_012_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.have_ndbcluster=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.have_ndbcluster);
--echo 1 Expected
--echo '#---------------------BS_STVARS_012_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.have_ndbcluster = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_ndbcluster';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.have_ndbcluster);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_ndbcluster';
--echo 1 Expected
--echo '#---------------------BS_STVARS_012_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@have_ndbcluster = @@GLOBAL.have_ndbcluster;
--echo 1 Expected
--echo '#---------------------BS_STVARS_012_05----------------------#'
################################################################################
# Check if have_ndbcluster can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@have_ndbcluster);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.have_ndbcluster);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.have_ndbcluster);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.have_ndbcluster);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT have_ndbcluster = @@SESSION.have_ndbcluster;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\have_openssl_basic.test #######################
# #
# Variable Name: have_openssl #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable have_openssl #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_013_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.have_openssl);
--echo 1 Expected
--echo '#---------------------BS_STVARS_013_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.have_openssl=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.have_openssl);
--echo 1 Expected
--echo '#---------------------BS_STVARS_013_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.have_openssl = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_openssl';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.have_openssl);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_openssl';
--echo 1 Expected
--echo '#---------------------BS_STVARS_013_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@have_openssl = @@GLOBAL.have_openssl;
--echo 1 Expected
--echo '#---------------------BS_STVARS_013_05----------------------#'
################################################################################
# Check if have_openssl can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@have_openssl);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.have_openssl);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.have_openssl);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.have_openssl);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT have_openssl = @@SESSION.have_openssl;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\have_partitioning_basic.test ##################
# #
# Variable Name: have_partitioning #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable have_partitioning #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_014_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.have_partitioning);
--echo 1 Expected
--echo '#---------------------BS_STVARS_014_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.have_partitioning=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.have_partitioning);
--echo 1 Expected
--echo '#---------------------BS_STVARS_014_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.have_partitioning = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_partitioning';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.have_partitioning);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_partitioning';
--echo 1 Expected
--echo '#---------------------BS_STVARS_014_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@have_partitioning = @@GLOBAL.have_partitioning;
--echo 1 Expected
--echo '#---------------------BS_STVARS_014_05----------------------#'
################################################################################
# Check if have_partitioning can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@have_partitioning);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.have_partitioning);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.have_partitioning);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.have_partitioning);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT have_partitioning = @@SESSION.have_partitioning;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\have_query_cache_basic.test ###################
# #
# Variable Name: have_query_cache #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable have_query_cache #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_015_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.have_query_cache);
--echo 1 Expected
--echo '#---------------------BS_STVARS_015_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.have_query_cache=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.have_query_cache);
--echo 1 Expected
--echo '#---------------------BS_STVARS_015_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.have_query_cache = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_query_cache';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.have_query_cache);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_query_cache';
--echo 1 Expected
--echo '#---------------------BS_STVARS_015_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@have_query_cache = @@GLOBAL.have_query_cache;
--echo 1 Expected
--echo '#---------------------BS_STVARS_015_05----------------------#'
################################################################################
# Check if have_query_cache can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@have_query_cache);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.have_query_cache);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.have_query_cache);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.have_query_cache);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT have_query_cache = @@SESSION.have_query_cache;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\have_rtree_keys_basic.test ####################
# #
# Variable Name: have_rtree_keys #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable have_rtree_keys #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_016_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.have_rtree_keys);
--echo 1 Expected
--echo '#---------------------BS_STVARS_016_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.have_rtree_keys=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.have_rtree_keys);
--echo 1 Expected
--echo '#---------------------BS_STVARS_016_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.have_rtree_keys = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_rtree_keys';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.have_rtree_keys);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_rtree_keys';
--echo 1 Expected
--echo '#---------------------BS_STVARS_016_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@have_rtree_keys = @@GLOBAL.have_rtree_keys;
--echo 1 Expected
--echo '#---------------------BS_STVARS_016_05----------------------#'
################################################################################
# Check if have_rtree_keys can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@have_rtree_keys);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.have_rtree_keys);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.have_rtree_keys);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.have_rtree_keys);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT have_rtree_keys = @@SESSION.have_rtree_keys;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\have_ssl_basic.test ###########################
# #
# Variable Name: have_ssl #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable have_ssl #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_017_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.have_ssl);
--echo 1 Expected
--echo '#---------------------BS_STVARS_017_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.have_ssl=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.have_ssl);
--echo 1 Expected
--echo '#---------------------BS_STVARS_017_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.have_ssl = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_ssl';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.have_ssl);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_ssl';
--echo 1 Expected
--echo '#---------------------BS_STVARS_017_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@have_ssl = @@GLOBAL.have_ssl;
--echo 1 Expected
--echo '#---------------------BS_STVARS_017_05----------------------#'
################################################################################
# Check if have_ssl can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@have_ssl);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.have_ssl);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.have_ssl);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.have_ssl);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT have_ssl = @@SESSION.have_ssl;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\have_symlink_basic.test #######################
# #
# Variable Name: have_symlink #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable have_symlink #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_018_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.have_symlink);
--echo 1 Expected
--echo '#---------------------BS_STVARS_018_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.have_symlink=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.have_symlink);
--echo 1 Expected
--echo '#---------------------BS_STVARS_018_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.have_symlink = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_symlink';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.have_symlink);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='have_symlink';
--echo 1 Expected
--echo '#---------------------BS_STVARS_018_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@have_symlink = @@GLOBAL.have_symlink;
--echo 1 Expected
--echo '#---------------------BS_STVARS_018_05----------------------#'
################################################################################
# Check if have_symlink can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@have_symlink);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.have_symlink);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.have_symlink);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.have_symlink);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT have_symlink = @@SESSION.have_symlink;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\hostname_basic.test ###########################
# #
# Variable Name: hostname #
# Scope: Global #
# Access Type: Static #
# Data Type: string #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable hostname #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_019_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.hostname);
--echo 1 Expected
--echo '#---------------------BS_STVARS_019_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.hostname=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.hostname);
--echo 1 Expected
--echo '#---------------------BS_STVARS_019_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.hostname = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='hostname';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.hostname);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='hostname';
--echo 1 Expected
--echo '#---------------------BS_STVARS_019_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@hostname = @@GLOBAL.hostname;
--echo 1 Expected
--echo '#---------------------BS_STVARS_019_05----------------------#'
################################################################################
# Check if hostname can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@hostname);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.hostname);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.hostname);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.hostname);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT hostname = @@SESSION.hostname;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,189 @@
############## mysql-test\t\identity_basic.test ###############
# #
# Variable Name: identity #
# Scope: SESSION #
# Access Type: Dynamic #
# Data Type: numeric #
# Default Value: - #
# Range: - #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Salman #
# #
# Description: Test Cases of Dynamic System Variable identity #
# 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/load_sysvars.inc
################################################################
# START OF identity TESTS #
################################################################
################################################################
# Saving initial value of identity in a temporary variable #
################################################################
SET @start_value = @@session.identity;
SELECT @start_value;
--echo '#--------------------FN_DYNVARS_035_01------------------------#'
########################################################################
# Display the DEFAULT value of identity #
########################################################################
SET @@session.identity = 99;
# SET @@session.identity = DEFAULT;
--echo 'Variable is giving error on assigning Default value';
SELECT @@session.identity;
--echo '#---------------------FN_DYNVARS_035_02-------------------------#'
###############################################
# Verify default value of variable #
###############################################
SET @@session.identity = @start_value;
SELECT @@session.identity = 0;
--echo '#--------------------FN_DYNVARS_035_03------------------------#'
########################################################################
# Change the value of identity to a valid value #
########################################################################
SET @@session.identity = 0;
SELECT @@session.identity;
SET @@session.identity = 1099;
SELECT @@session.identity;
SET @@session.identity = 1800;
SELECT @@session.identity;
SET @@session.identity = 65535;
SELECT @@session.identity;
--echo '#--------------------FN_DYNVARS_035_04-------------------------#'
###########################################################################
# Change the value of identity to invalid value #
###########################################################################
SET @@session.identity = -1;
SELECT @@session.identity;
SET @@session.identity = 100000000000;
SELECT @@session.identity;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.identity = 10000.01;
SELECT @@session.identity;
SET @@session.identity = -1024;
SELECT @@session.identity;
SET @@session.identity = 42949672950;
SELECT @@session.identity;
echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.identity = ON;
SELECT @@session.identity;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.identity = 'test';
SELECT @@session.identity;
--echo '#-------------------FN_DYNVARS_035_05----------------------------#'
###########################################################################
# Test if accessing global identity gives error #
###########################################################################
--Error ER_LOCAL_VARIABLE
SET @@global.identity = 0;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@global.identity;
--echo '#----------------------FN_DYNVARS_035_06------------------------#'
##############################################################################
# Check if the value in GLOBAL & SESSION Tables matches values in variable #
##############################################################################
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@global.identity = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='identity';
SELECT @@session.identity = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='identity';
--echo '#-------------------FN_DYNVARS_035_07----------------------------#'
######################################################################
# Test if accessing GLOBAL identity gives error #
######################################################################
--Error ER_LOCAL_VARIABLE
SET @@global.identity = 0;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@global.identity;
--echo '#---------------------FN_DYNVARS_035_08----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@session.identity = TRUE;
SELECT @@session.identity;
SET @@session.identity = FALSE;
SELECT @@session.identity;
--echo '#---------------------FN_DYNVARS_035_09----------------------#'
########################################################################################################
# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
########################################################################################################
SET @@session.identity = 1;
SELECT @@identity = @@session.identity;
SELECT @@session.identity = @@local.identity;
--echo '#---------------------FN_DYNVARS_035_10----------------------#'
##########################################################################
# Check if identity can be accessed with and without @@ sign #
##########################################################################
SET identity = 1;
SELECT @@identity;
--Error ER_PARSE_ERROR
SET local.identity = 1;
--Error ER_UNKNOWN_TABLE
SELECT local.identity;
--Error ER_PARSE_ERROR
SET session.identity = 1;
--Error ER_UNKNOWN_TABLE
SELECT session.identity;
--Error ER_BAD_FIELD_ERROR
SELECT identity = @@session.identity;
##############################
# Restore initial value #
##############################
SET @@session.identity = @start_value;
SELECT @@session.identity;
########################################################################
# END OF identity TESTS #
########################################################################

View File

@ -0,0 +1,2 @@
--innodb

View File

@ -0,0 +1,143 @@
#################### mysql-test\t\identity_func.test ##########################
# #
# Variable Name: identity #
# Scope: SESSION #
# Access Type: Dynamic #
# Data Type: numeric #
# Default Value: - #
# Range: - #
# #
# #
# Creation Date: 2008-03-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable identity #
# that checks the functionality of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--disable_warnings
drop table if exists t1;
drop table if exists t2;
--enable_warnings
#########################
# Creating new table #
#########################
--echo ## Creating new table t1 ##
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30)
) ENGINE = INNODB;
--echo ## Creating another new table t2 ##
CREATE TABLE t2
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30)
) ENGINE = INNODB;
--echo '#--------------------FN_DYNVARS_035_01-------------------------#'
###############################################
# Verifying initial value of identity. #
###############################################
--echo ## It should be zero ##
SELECT @@identity = 0;
--echo ## Creating and connecting with new connection test_con1 ##
connect (test_con1, localhost, root,,);
connection test_con1;
SET @@autocommit = 0;
--echo ## Inserting rows in table t1 ##
INSERT into t1(name) values('Record_1');
INSERT into t1(name) values('Record_2');
INSERT into t1(name) values('Record_3');
--echo ## Verifying total values in t1 ##
SELECT @@identity from t1;
--echo ## Now inserting some data in table t2 ##
INSERT into t2(name) values('Record_1');
--echo ## Verifying total values in t2 ##
SELECT @@identity from t2;
--echo '#--------------------FN_DYNVARS_035_02-------------------------#'
##########################################################
# Verifying value of identity with new connection #
##########################################################
--echo ## Creating and connecting with new connection test_con2 ##
connect (test_con2, localhost, root,,);
connection test_con2;
SELECT * from t1;
--echo ## Verifying total values in t1 ##
SELECT @@identity from t1;
--echo ## Verifying total values in t2 ##
SELECT @@identity from t2;
--echo ## Inserting some more records in table t1 ##
INSERT into t1(name) values('Record_1_1');
INSERT into t1(name) values('Record_1_2');
--echo ## Verifying total values in t1 ##
SELECT @@identity from t1;
--echo ## Inserting row in table t2 ##
INSERT into t2(name) values('Record_1_3');
--echo ## Verifying total values in t2 ##
SELECT @@identity from t2;
--echo '#--------------------FN_DYNVARS_035_03-------------------------#'
###################################################################
# Verifying identity value by using commit in connectio # 01 #
###################################################################
--echo ## Switching to connection test_con1 ##
connection test_con1;
--echo ## Commiting rows added in test_con1 ##
COMMIT;
--echo ## Verifying records in both tables ##
SELECT * from t1;
SELECT * from t2;
--echo ## Verifying total values in t1 after commiting data ##
SELECT @@identity from t1;
--echo ## Verifying total values in t2 after commiting data ##
SELECT @@identity from t2;
INSERT into t1(name) values('Record_4');
--echo ## Now verifying value of variable after inserting 1 row in this connection ##
SELECT @@identity from t1;
--echo ## Dropping tables t1 & t2 ##
drop table t1, t2;
--echo ## Disconnecting both the connections ##
disconnect test_con1;
disconnect test_con2;

View File

@ -0,0 +1,151 @@
############## mysql-test\t\init_connect_basic.test ###########################
# #
# Variable Name: init_connect #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: #
# Range: #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable init_connect #
# 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/load_sysvars.inc
##############################################
## START OF init_connect TESTS ##
##############################################
#############################################################
# Save initial value #
#############################################################
# save using implicit session scope
SET @global_start_value = @@global.init_connect;
SELECT @global_start_value AS INIT_VALUE;
--echo '#--------------------FN_DYNVARS_036_01------------------#'
###############################################################################
# Test Variable access and assignment with and without @@ #
###############################################################################
# select without @@
--error ER_BAD_FIELD_ERROR
SELECT init_connect;
# access using no scope specified
SELECT @@init_connect;
# assign value without @@
SET @@global.init_connect='SET autocomit=0';
SELECT @@global.init_connect;
# using another syntax for accessing session variable
SET global init_connect='SET autocomit=0';
# accessing variable with scope the wrong way
--Error ER_BAD_FIELD_ERROR
SELECT global init_connect;
--Error ER_PARSE_ERROR
SELECT @@global init_connect;
--echo '#--------------------FN_DYNVARS_036_02-------------------------#'
##################################################################
# Check the DEFAULT value of init_connect for global #
##################################################################
SET @@global.init_connect = 'SET join_buffer_size=8200';
SET @@global.init_connect = DEFAULT;
SELECT @@global.init_connect;
--echo '#--------------------FN_DYNVARS_036_03-------------------------#'
######################################################################
# see if it is accessable using session scope #
######################################################################
--Error ER_GLOBAL_VARIABLE
SET @@session.init_connect = '';
--Error ER_GLOBAL_VARIABLE
SET @@init_connect = '';
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.init_connect;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@local.init_connect;
--echo '#--------------------FN_DYNVARS_036_04-------------------------#'
#########################################################################
# Change the value of init_connect to a valid value #
#########################################################################
SET @@global.init_connect="";
SELECT @@global.init_connect;
SET @@global.init_connect='SELECT 1,"abc"';
SELECT @@global.init_connect;
SET @@global.init_connect='SET @yoursql="mysql"';
SELECT @@global.init_connect;
SET @@global.init_connect="SET autocomit=0;REVOKE ALL ON INFORMATION_SCHEMA.*";
SELECT @@global.init_connect;
SET @@global.init_connect='SHOW VARIABLES';
SELECT @@global.init_connect;
SET @@global.init_connect = NULL;
SELECT @@global.init_connect;
#any string is accepted as valid value as its is not verified until runtime
SET @@global.init_connect='abc 123 +-*/';
SELECT @@global.init_connect;
SET @@global.init_connect=this_will_give_syntax_error;
SELECT @@global.init_connect;
SET @@global.init_connect = init_slave;
SELECT @@global.init_connect;
--echo '#--------------------FN_DYNVARS_036_05-------------------------#'
###########################################################################
# Change the value of init_connect to an invalid value for global #
###########################################################################
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.init_connect = true;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.init_connect = false;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.init_connect = 1.1;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.init_connect = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.init_connect = 1;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.init_connect = -1;
SET @@global.init_connect = ON;
SELECT @@global.init_connect;
--echo '#--------------------FN_DYNVARS_036_06-------------------------#'
##############################################################################
# Check if the value in GLOBAL Table matches value in variable #
##############################################################################
SELECT @@global.init_connect = (SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='init_connect') AS res;
####################################
# Restore initial value #
####################################
SET @@global.init_connect = @global_start_value;
SELECT @@global.init_connect;
#####################################################
# END OF init_connect TESTS #
#####################################################

View File

@ -0,0 +1,153 @@
###################### mysql-test\t\init_slave_basic.test #####################
# #
# Variable Name: init_slave #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: string #
# Default Value: #
# Range: #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
# Description: Test Cases of Dynamic System Variable init_slave #
# 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/load_sysvars.inc
############################################
## START OF init_slave TESTS ##
############################################
#############################################################
# Save initial value #
#############################################################
# save using implicit session scope
SET @global_start_value = @@global.init_slave;
SELECT @global_start_value AS INIT_VALUE;
--echo '#--------------------FN_DYNVARS_037_01------------------#'
###############################################################################
# Test Variable access and assignment with and without @@ #
###############################################################################
# select without @@
--error ER_BAD_FIELD_ERROR
SELECT init_slave;
# access using no scope specified
SELECT @@init_slave;
# assign value without @@
SET @@global.init_slave='SET autocomit=0';
SELECT @@global.init_slave;
# using another syntax for accessing session variable
SET global init_slave='SET autocomit=0';
# accessing variable with scope the wrong way
--Error ER_BAD_FIELD_ERROR
SELECT global init_slave;
--Error ER_PARSE_ERROR
SELECT @@global init_slave;
--echo '#--------------------FN_DYNVARS_037_02-------------------------#'
################################################################
# Check the DEFAULT value of init_slave for global #
################################################################
SET @@global.init_slave = 'SET join_buffer_size=8200';
SET @@global.init_slave = DEFAULT;
SELECT @@global.init_slave;
--echo '#--------------------FN_DYNVARS_037_03-------------------------#'
######################################################################
# see if it is accessable using session scope #
######################################################################
--Error ER_GLOBAL_VARIABLE
SET @@session.init_slave = '';
--Error ER_GLOBAL_VARIABLE
SET @@init_slave = "";
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.init_slave;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@local.init_slave;
--echo '#--------------------FN_DYNVARS_037_04-------------------------#'
#######################################################################
# Change the value of init_slave to a valid value #
#######################################################################
SET @@global.init_slave="";
SELECT @@global.init_slave;
SET @@global.init_slave='SELECT 1,"abc"';
SELECT @@global.init_slave;
SET @@global.init_slave='SET @a="b"';
SELECT @@global.init_slave;
SET @@global.init_slave="SET autocomit=1;REVOKE ALL ON INFORMATION_SCHEMA.*";
SELECT @@global.init_slave;
SET @@global.init_slave='SHOW VARIABLES';
SELECT @@global.init_slave;
SET @@global.init_slave = NULL;
SELECT @@global.init_slave;
#any string is accepted as valid value as its is not verified/compiled
# untill runtime
SET @@global.init_slave='abc 123 +-*/';
SELECT @@global.init_slave;
SET @@global.init_slave=this_will_give_syntax_error;
SELECT @@global.init_slave;
SET @@global.init_slave = init_slave;
SELECT @@global.init_slave;
--echo '#--------------------FN_DYNVARS_037_05-------------------------#'
#########################################################################
# Change the value of init_slave to an invalid value for global #
#########################################################################
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.init_slave = true;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.init_slave = false;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.init_slave = 1.1;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.init_slave = 0;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.init_slave = 1;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.init_slave = -1;
SET @@global.init_slave = ON;
SELECT @@global.init_slave;
--echo '#--------------------FN_DYNVARS_037_06-------------------------#'
##############################################################################
# Check if the value in GLOBAL Table matches value in variable #
##############################################################################
SELECT @@global.init_slave = (SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='init_slave') AS res;
####################################
# Restore initial value #
####################################
SET @@global.init_slave = @global_start_value;
SELECT @@global.init_slave;
###################################################
# END OF init_slave TESTS #
###################################################

View File

@ -0,0 +1,100 @@
################## mysql-test\t\innodb_additional_mem_pool_size_basic.test ####
# #
# Variable Name: innodb_additional_mem_pool_size #
# Scope: Global #
# Access Type: Static #
# Data Type: numeric #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable innodb_additional_mem_pool_size#
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_020_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.innodb_additional_mem_pool_size);
--echo 1 Expected
--echo '#---------------------BS_STVARS_020_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.innodb_additional_mem_pool_size=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.innodb_additional_mem_pool_size);
--echo 1 Expected
--echo '#---------------------BS_STVARS_020_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.innodb_additional_mem_pool_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_additional_mem_pool_size';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_additional_mem_pool_size);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_additional_mem_pool_size';
--echo 1 Expected
--echo '#---------------------BS_STVARS_020_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;
--echo 1 Expected
--echo '#---------------------BS_STVARS_020_05----------------------#'
################################################################################
# Check if innodb_additional_mem_pool_size can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@innodb_additional_mem_pool_size);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.innodb_additional_mem_pool_size);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.innodb_additional_mem_pool_size);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.innodb_additional_mem_pool_size);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT innodb_additional_mem_pool_size = @@SESSION.innodb_additional_mem_pool_size;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,159 @@
################# mysql-test\t\innodb_autoextend_increment _basic.test ###################
# #
# Variable Name: innodb_autoextend_increment #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 8 #
# Range: 0,1 #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
#Description:Test Cases of Dynamic System Variable innodb_autoextend_increment#
# 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/load_sysvars.inc
########################################################################
# START OF innodb_autoextend_increment TESTS #
########################################################################
################################################################################
# Saving initial value of innodb_autoextend_increment in a temporary variable#
################################################################################
SET @global_start_value = @@global.innodb_autoextend_increment ;
SELECT @global_start_value;
--echo '#--------------------FN_DYNVARS_046_01------------------------#'
########################################################################
# Display the DEFAULT value of innodb_autoextend_increment #
########################################################################
SET @@global.innodb_autoextend_increment = 0;
SET @@global.innodb_autoextend_increment = DEFAULT;
SELECT @@global.innodb_autoextend_increment ;
--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
####################################################################################
# Check if innodb_autoextend_increment can be accessed with and without @@ sign #
####################################################################################
--Error ER_GLOBAL_VARIABLE
SET innodb_autoextend_increment = 1;
SELECT @@innodb_autoextend_increment ;
--Error ER_UNKNOWN_TABLE
SELECT local.innodb_autoextend_increment ;
SET global innodb_autoextend_increment = 0;
SELECT @@global.innodb_autoextend_increment ;
--echo '#--------------------FN_DYNVARS_046_03------------------------#'
##########################################################################
# change the value of innodb_autoextend_increment to a valid value #
##########################################################################
SET @@global.innodb_autoextend_increment = 1;
SELECT @@global.innodb_autoextend_increment ;
SET @@global.innodb_autoextend_increment = 1000;
SELECT @@global.innodb_autoextend_increment ;
--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
###########################################################################
# Change the value of innodb_autoextend_increment to invalid value #
###########################################################################
SET @@global.innodb_autoextend_increment = -1;
SELECT @@global.innodb_autoextend_increment;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_autoextend_increment = "T";
SELECT @@global.innodb_autoextend_increment;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_autoextend_increment = "Y";
SELECT @@global.innodb_autoextend_increment;
SET @@global.innodb_autoextend_increment = 1001;
SELECT @@global.innodb_autoextend_increment;
--echo '#----------------------FN_DYNVARS_046_05------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
SELECT @@global.innodb_autoextend_increment = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_autoextend_increment ';
SELECT @@global.innodb_autoextend_increment ;
SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_autoextend_increment ';
--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
###################################################################
# Check if ON and OFF values can be used on variable #
###################################################################
--ERROR ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_autoextend_increment = OFF;
SELECT @@global.innodb_autoextend_increment ;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_autoextend_increment = ON;
SELECT @@global.innodb_autoextend_increment ;
--echo '#---------------------FN_DYNVARS_046_07----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.innodb_autoextend_increment = TRUE;
SELECT @@global.innodb_autoextend_increment ;
SET @@global.innodb_autoextend_increment = FALSE;
SELECT @@global.innodb_autoextend_increment ;
##############################
# Restore initial value #
##############################
#SET @@global.innodb_autoextend_increment = @global_start_value;
#SELECT @@global.innodb_autoextend_increment ;
###############################################################
# END OF innodb_autoextend_increment TESTS #
###############################################################

View File

@ -0,0 +1,89 @@
################# mysql-test\t\innodb_autoinc_lock_mode_basic.test ############
# #
# Variable Name: innodb_autoinc_lock_mode #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 1 #
# Range: 0,1,2 #
# #
# #
# Creation Date: 2008-02-20 #
# Author: Sharique Abdullah #
# #
#Description:Test Cases of Dynamic System Variable innodb_autoextend_increment#
# 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/load_sysvars.inc
########################################################################
# START OF innodb_autoinc_lock_mode TESTS #
########################################################################
################################################################################
# Saving initial value of innodb_autoinc_lock_mode in a temporary variable#
################################################################################
SET @global_start_value = @@global.innodb_autoinc_lock_mode;
SELECT @global_start_value;
--echo '#--------------------FN_DYNVARS_046_01------------------------#'
########################################################################
# Display the DEFAULT value of innodb_autoinc_lock_mode #
########################################################################
--ERROR ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@global.innodb_autoinc_lock_mode = 0;
--ERROR ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@global.innodb_autoinc_lock_mode = DEFAULT;
SELECT @@global.innodb_autoinc_lock_mode;
--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
####################################################################################
# Check if innodb_autoinc_lock_mode can be accessed with and without @@ sign #
####################################################################################
SELECT @@innodb_autoinc_lock_mode;
--Error ER_UNKNOWN_TABLE
SELECT local.innodb_autoinc_lock_mode;
SELECT @@global.innodb_autoinc_lock_mode;
--echo '#----------------------FN_DYNVARS_046_03------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
SELECT @@global.innodb_autoinc_lock_mode = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_autoinc_lock_mode';
SELECT @@global.innodb_autoinc_lock_mode;
SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_autoinc_lock_mode';
###############################################################
# END OF innodb_autoinc_lock_mode TESTS #
###############################################################

View File

@ -0,0 +1,2 @@
--innodb-autoinc-lock-mode=1

View File

@ -0,0 +1,56 @@
################# mysql-test\t\innodb_autoinc_lock_mode_func.test ############
# #
# Variable Name: innodb_autoinc_lock_mode #
# Scope: GLOBAL #
# Access Type: Readonly #
# Data Type: Numeric #
# Default Value: 1 #
# Range: 0,1,2 #
# #
# #
# Creation Date: 2008-03-08 #
# Author: Rizwan Maredia #
# #
#Description:Test Cases of Dynamic System Variable innodb_autoextend_increment#
# that checks the behavior of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--echo '#--------------------FN_DYNVARS_039_01-------------------------#'
################################################################
# Begin the functionality Testing of innodb_autoinc_lock_mode #
################################################################
--source include/have_innodb.inc
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET global innodb_autoinc_lock_mode = 1;
#========================================================
--echo '--innodb_autoinc_lock_mode is 1 (consecutive)--'
#========================================================
# innodb_autoinc_lock_mode is 1 in opt file
SELECT @@global.innodb_autoinc_lock_mode;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1(
a INT AUTO_INCREMENT PRIMARY KEY,
b CHAR
)ENGINE=INNODB, AUTO_INCREMENT=100;
INSERT INTO t1 (a,b) VALUES (5,'a'), (NULL,'b'), (1,'c'), (NULL,'d');
INSERT INTO t1 (a,b) VALUES (NULL,'e');
--echo 'the new auto incremented value should be 104'
SELECT * from t1;
###############################################################
# End of functionality Testing for innodb_autoinc_lock_mode #
###############################################################

View File

@ -0,0 +1,100 @@
################## mysql-test\t\innodb_buffer_pool_size_basic.test ############
# #
# Variable Name: innodb_buffer_pool_size #
# Scope: Global #
# Access Type: Static #
# Data Type: numeric #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable innodb_buffer_pool_size #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_022_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.innodb_buffer_pool_size);
--echo 1 Expected
--echo '#---------------------BS_STVARS_022_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.innodb_buffer_pool_size=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.innodb_buffer_pool_size);
--echo 1 Expected
--echo '#---------------------BS_STVARS_022_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.innodb_buffer_pool_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_buffer_pool_size';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_buffer_pool_size);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_buffer_pool_size';
--echo 1 Expected
--echo '#---------------------BS_STVARS_022_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@innodb_buffer_pool_size = @@GLOBAL.innodb_buffer_pool_size;
--echo 1 Expected
--echo '#---------------------BS_STVARS_022_05----------------------#'
################################################################################
# Check if innodb_buffer_pool_size can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@innodb_buffer_pool_size);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.innodb_buffer_pool_size);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.innodb_buffer_pool_size);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.innodb_buffer_pool_size);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT innodb_buffer_pool_size = @@SESSION.innodb_buffer_pool_size;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\innodb_checksums_basic.test ###################
# #
# Variable Name: innodb_checksums #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable innodb_checksums #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_023_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.innodb_checksums);
--echo 1 Expected
--echo '#---------------------BS_STVARS_023_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.innodb_checksums=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.innodb_checksums);
--echo 1 Expected
--echo '#---------------------BS_STVARS_023_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.innodb_checksums = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_checksums';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_checksums);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_checksums';
--echo 1 Expected
--echo '#---------------------BS_STVARS_023_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@innodb_checksums = @@GLOBAL.innodb_checksums;
--echo 1 Expected
--echo '#---------------------BS_STVARS_023_05----------------------#'
################################################################################
# Check if innodb_checksums can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@innodb_checksums);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.innodb_checksums);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.innodb_checksums);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.innodb_checksums);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT innodb_checksums = @@SESSION.innodb_checksums;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,146 @@
################# mysql-test\t\innodb_commit_concurrency_basic.test ###########
# #
# Variable Name: innodb_commit_concurrency #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 0 #
# Range: 0-1000 #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
#Description:Test Cases of Dynamic System Variable innodb_commit_concurrency #
# 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/load_sysvars.inc
########################################################################
# START OF innodb_commit_concurrency TESTS #
########################################################################
##############################################################################
# Saving initial value of innodb_commit_concurrency in a temporary variable#
##############################################################################
SET @global_start_value = @@global.innodb_commit_concurrency;
SELECT @global_start_value;
--echo '#--------------------FN_DYNVARS_046_01------------------------#'
########################################################################
# Display the DEFAULT value of innodb_commit_concurrency #
########################################################################
SET @@global.innodb_commit_concurrency = 0;
SET @@global.innodb_commit_concurrency = DEFAULT;
SELECT @@global.innodb_commit_concurrency;
--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
################################################################################
# Check if innodb_commit_concurrency can be accessed with and without @@ sign#
################################################################################
--Error ER_GLOBAL_VARIABLE
SET innodb_commit_concurrency = 1;
SELECT @@innodb_commit_concurrency;
--Error ER_UNKNOWN_TABLE
SELECT local.innodb_commit_concurrency;
SET global innodb_commit_concurrency = 0;
SELECT @@global.innodb_commit_concurrency;
--echo '#--------------------FN_DYNVARS_046_03------------------------#'
##########################################################################
# change the value of innodb_commit_concurrency to a valid value #
##########################################################################
SET @@global.innodb_commit_concurrency = 0;
SELECT @@global.innodb_commit_concurrency;
SET @@global.innodb_commit_concurrency = 1;
SELECT @@global.innodb_commit_concurrency;
SET @@global.innodb_commit_concurrency = 1000;
SELECT @@global.innodb_commit_concurrency;
--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
###########################################################################
# Change the value of innodb_commit_concurrency to invalid value #
###########################################################################
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;
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 #
#########################################################################
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';
--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
###################################################################
# Check if ON and OFF values can be used on variable #
###################################################################
--ERROR ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_commit_concurrency = OFF;
SELECT @@global.innodb_commit_concurrency;
--ERROR ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_commit_concurrency = ON;
SELECT @@global.innodb_commit_concurrency;
--echo '#---------------------FN_DYNVARS_046_07----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.innodb_commit_concurrency = TRUE;
SELECT @@global.innodb_commit_concurrency;
SET @@global.innodb_commit_concurrency = FALSE;
SELECT @@global.innodb_commit_concurrency;
##############################
# Restore initial value #
##############################
SET @@global.innodb_commit_concurrency = @global_start_value;
SELECT @@global.innodb_commit_concurrency;
###############################################################
# END OF innodb_commit_concurrency TESTS #
###############################################################

View File

@ -0,0 +1,100 @@
################## mysql-test\t\innodb_data_file_path_basic.test ##############
# #
# Variable Name: innodb_data_file_path #
# Scope: Global #
# Access Type: Static #
# Data Type: filename #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable innodb_data_file_path #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_024_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.innodb_data_file_path);
--echo 1 Expected
--echo '#---------------------BS_STVARS_024_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.innodb_data_file_path=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.innodb_data_file_path);
--echo 1 Expected
--echo '#---------------------BS_STVARS_024_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.innodb_data_file_path = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_data_file_path';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_data_file_path);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_data_file_path';
--echo 1 Expected
--echo '#---------------------BS_STVARS_024_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@innodb_data_file_path = @@GLOBAL.innodb_data_file_path;
--echo 1 Expected
--echo '#---------------------BS_STVARS_024_05----------------------#'
################################################################################
# Check if innodb_data_file_path can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@innodb_data_file_path);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.innodb_data_file_path);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.innodb_data_file_path);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.innodb_data_file_path);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT innodb_data_file_path = @@SESSION.innodb_data_file_path;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\innodb_data_home_dir_basic.test ###############
# #
# Variable Name: innodb_data_home_dir #
# Scope: Global #
# Access Type: Static #
# Data Type: filename #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable innodb_data_home_dir #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_025_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.innodb_data_home_dir);
--echo 1 Expected
--echo '#---------------------BS_STVARS_025_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.innodb_data_home_dir=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.innodb_data_home_dir);
--echo 1 Expected
--echo '#---------------------BS_STVARS_025_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.innodb_data_home_dir = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_data_home_dir';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_data_home_dir);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_data_home_dir';
--echo 1 Expected
--echo '#---------------------BS_STVARS_025_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@innodb_data_home_dir = @@GLOBAL.innodb_data_home_dir;
--echo 1 Expected
--echo '#---------------------BS_STVARS_025_05----------------------#'
################################################################################
# Check if innodb_data_home_dir can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@innodb_data_home_dir);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.innodb_data_home_dir);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.innodb_data_home_dir);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.innodb_data_home_dir);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT innodb_data_home_dir = @@SESSION.innodb_data_home_dir;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\innodb_doublewrite_basic.test #################
# #
# Variable Name: innodb_doublewrite #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable innodb_doublewrite #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_026_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.innodb_doublewrite);
--echo 1 Expected
--echo '#---------------------BS_STVARS_026_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.innodb_doublewrite=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.innodb_doublewrite);
--echo 1 Expected
--echo '#---------------------BS_STVARS_026_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.innodb_doublewrite = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_doublewrite';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_doublewrite);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_doublewrite';
--echo 1 Expected
--echo '#---------------------BS_STVARS_026_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@innodb_doublewrite = @@GLOBAL.innodb_doublewrite;
--echo 1 Expected
--echo '#---------------------BS_STVARS_026_05----------------------#'
################################################################################
# Check if innodb_doublewrite can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@innodb_doublewrite);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.innodb_doublewrite);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.innodb_doublewrite);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.innodb_doublewrite);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT innodb_doublewrite = @@SESSION.innodb_doublewrite;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,192 @@
############## mysql-test\t\innodb_fast_shutdown_basic.test ###################
# #
# Variable Name: innodb_fast_shutdown #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: boolean #
# Default Value: 1 #
# Valid Values: 0,1 #
# #
# #
# Creation Date: 2008-02-20 #
# Author: Sharique Abdullah #
# #
# Description: Test Cases of Dynamic System Variable innodb_fast_shutdown #
# 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/load_sysvars.inc
########################################################################
# START OF innodb_fast_shutdown TESTS #
########################################################################
##############################################################################
# Saving initial value of innodb_fast_shutdown in a temporary variable #
##############################################################################
SET @global_start_value = @@global.innodb_fast_shutdown;
SELECT @@global.innodb_fast_shutdown;
--echo '#--------------------FN_DYNVARS_042_01------------------------#'
########################################################################
# Display the DEFAULT value of innodb_fast_shutdown #
########################################################################
SET @@global.innodb_fast_shutdown = 0;
SET @@global.innodb_fast_shutdown = DEFAULT;
SELECT @@global.innodb_fast_shutdown;
--echo '#---------------------FN_DYNVARS_042_02-------------------------#'
#############################################################################
# Check if innodb_fast_shutdown can be accessed with and without @@ sign #
#############################################################################
--ERROR ER_GLOBAL_VARIABLE
SET innodb_fast_shutdown = 1;
SELECT @@innodb_fast_shutdown;
--Error ER_UNKNOWN_TABLE
SELECT global.innodb_fast_shutdown;
SET global innodb_fast_shutdown = 1;
SELECT @@global.innodb_fast_shutdown;
--echo '#--------------------FN_DYNVARS_042_03------------------------#'
########################################################################
# Change the value of innodb_fast_shutdown to a valid value #
########################################################################
SET @@global.innodb_fast_shutdown = 0;
SELECT @@global.innodb_fast_shutdown;
SET @@global.innodb_fast_shutdown = 1;
SELECT @@global.innodb_fast_shutdown;
## a value of 2 is used to just flush logs and then shutdown cold. Not supported on Netware
SET @@global.innodb_fast_shutdown = 2;
SELECT @@global.innodb_fast_shutdown;
--echo '#--------------------FN_DYNVARS_042_04-------------------------#'
###########################################################################
# Change the value of innodb_fast_shutdown to invalid value #
###########################################################################
SET @@global.innodb_fast_shutdown = -1;
SELECT @@global.innodb_fast_shutdown;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_fast_shutdown = TRU;
SELECT @@global.innodb_fast_shutdown;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_fast_shutdown = TRUE_F;
SELECT @@global.innodb_fast_shutdown;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_fast_shutdown = FALS;
SELECT @@global.innodb_fast_shutdown;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_fast_shutdown = OON;
SELECT @@global.innodb_fast_shutdown;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_fast_shutdown = ONN;
SELECT @@global.innodb_fast_shutdown;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_fast_shutdown = OOFF;
SELECT @@global.innodb_fast_shutdown;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_fast_shutdown = 0FF;
SELECT @@global.innodb_fast_shutdown;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_fast_shutdown = '1';
SELECT @@global.innodb_fast_shutdown;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_fast_shutdown = "0";
SELECT @@global.innodb_fast_shutdown;
--echo '#-------------------FN_DYNVARS_042_05----------------------------#'
###########################################################################
# Test if accessing session innodb_fast_shutdown gives error #
###########################################################################
--Error ER_GLOBAL_VARIABLE
SET @@session.innodb_fast_shutdown = 0;
--Error ER_GLOBAL_VARIABLE
SET @@innodb_fast_shutdown = 0;
--Error ER_GLOBAL_VARIABLE
SET @@local.innodb_fast_shutdown = 0;
--echo '#----------------------FN_DYNVARS_042_06------------------------#'
#########################################################################
# Check if the value in SESSION Table contains variable value #
#########################################################################
SELECT count(VARIABLE_VALUE) AS res_is_0
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='innodb_fast_shutdown';
--echo '#----------------------FN_DYNVARS_042_07------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
SELECT @@global.innodb_fast_shutdown =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_fast_shutdown';
--echo '#---------------------FN_DYNVARS_042_08-------------------------#'
###################################################################
# Check if ON and OFF values can be used on variable #
###################################################################
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_fast_shutdown = OFF;
SELECT @@global.innodb_fast_shutdown;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_fast_shutdown = ON;
SELECT @@global.innodb_fast_shutdown;
--echo '#---------------------FN_DYNVARS_042_09----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.innodb_fast_shutdown = TRUE;
SELECT @@global.innodb_fast_shutdown;
SET @@global.innodb_fast_shutdown = FALSE;
SELECT @@global.innodb_fast_shutdown;
##############################
# Restore initial value #
##############################
#SET @@innodb_fast_shutdown = @global_start_value;
#SELECT @@innodb_fast_shutdown;
########################################################################
# END OF innodb_fast_shutdown TESTS #
########################################################################

View File

@ -0,0 +1,100 @@
################## mysql-test\t\innodb_file_io_threads_basic.test #############
# #
# Variable Name: innodb_file_io_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_file_io_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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_027_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.innodb_file_io_threads);
--echo 1 Expected
--echo '#---------------------BS_STVARS_027_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.innodb_file_io_threads=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.innodb_file_io_threads);
--echo 1 Expected
--echo '#---------------------BS_STVARS_027_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.innodb_file_io_threads = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_file_io_threads';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_file_io_threads);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_file_io_threads';
--echo 1 Expected
--echo '#---------------------BS_STVARS_027_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@innodb_file_io_threads = @@GLOBAL.innodb_file_io_threads;
--echo 1 Expected
--echo '#---------------------BS_STVARS_027_05----------------------#'
################################################################################
# Check if innodb_file_io_threads can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@innodb_file_io_threads);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.innodb_file_io_threads);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.innodb_file_io_threads);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.innodb_file_io_threads);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT innodb_file_io_threads = @@SESSION.innodb_file_io_threads;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,100 @@
################## mysql-test\t\innodb_file_per_table_basic.test ##############
# #
# Variable Name: innodb_file_per_table #
# Scope: Global #
# Access Type: Static #
# Data Type: boolean #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable innodb_file_per_table #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_028_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.innodb_file_per_table);
--echo 1 Expected
--echo '#---------------------BS_STVARS_028_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.innodb_file_per_table=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.innodb_file_per_table);
--echo 1 Expected
--echo '#---------------------BS_STVARS_028_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.innodb_file_per_table = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_file_per_table';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_file_per_table);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_file_per_table';
--echo 1 Expected
--echo '#---------------------BS_STVARS_028_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@innodb_file_per_table = @@GLOBAL.innodb_file_per_table;
--echo 1 Expected
--echo '#---------------------BS_STVARS_028_05----------------------#'
################################################################################
# Check if innodb_file_per_table can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@innodb_file_per_table);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.innodb_file_per_table);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.innodb_file_per_table);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.innodb_file_per_table);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT innodb_file_per_table = @@SESSION.innodb_file_per_table;
--echo Expected error 'Readonly variable'

View File

@ -0,0 +1,150 @@
################# mysql-test\t\innodb_flush_log_at_trx_commit_basic.test ######
# #
# Variable Name: innodb_flush_log_at_trx_commit #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 1 #
# Range: 0-2 #
# #
# #
# Creation Date: 2008-02-07 #
# Author: Rizwan #
# #
#Description: Test Cases of Dynamic System Variable #
# innodb_flush_log_at_trx_commit 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/load_sysvars.inc
########################################################################
# START OF innodb_flush_log_at_trx_commit TESTS #
########################################################################
#############################################################################
# Saving initial value of innodb_flush_log_at_trx_commit #
#############################################################################
SET @global_start_value = @@global.innodb_flush_log_at_trx_commit;
SELECT @global_start_value;
--echo '#--------------------FN_DYNVARS_046_01------------------------#'
##########################################################################
# Display the DEFAULT value of innodb_flush_log_at_trx_commit #
##########################################################################
SET @@global.innodb_flush_log_at_trx_commit = 0;
SET @@global.innodb_flush_log_at_trx_commit = DEFAULT;
SELECT @@global.innodb_flush_log_at_trx_commit;
--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
###############################################################################
# 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;
SET global innodb_flush_log_at_trx_commit = 0;
SELECT @@global.innodb_flush_log_at_trx_commit;
--echo '#--------------------FN_DYNVARS_046_03------------------------#'
#############################################################################
# change the value of innodb_flush_log_at_trx_commit to a valid value #
#############################################################################
SET @@global.innodb_flush_log_at_trx_commit = 0;
SELECT @@global.innodb_flush_log_at_trx_commit;
SET @@global.innodb_flush_log_at_trx_commit = 1;
SELECT @@global.innodb_flush_log_at_trx_commit;
SET @@global.innodb_flush_log_at_trx_commit = 2;
SELECT @@global.innodb_flush_log_at_trx_commit;
--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
###############################################################################
# Change the value of innodb_flush_log_at_trx_commit to invalid value #
###############################################################################
SET @@global.innodb_flush_log_at_trx_commit = -1;
SELECT @@global.innodb_flush_log_at_trx_commit;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_flush_log_at_trx_commit = "T";
SELECT @@global.innodb_flush_log_at_trx_commit;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_flush_log_at_trx_commit = "Y";
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;
--echo '#----------------------FN_DYNVARS_046_05------------------------#'
#########################################################################
# Check if the value in GLOBAL Table matches value in variable #
#########################################################################
SELECT @@global.innodb_flush_log_at_trx_commit =
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_flush_log_at_trx_commit';
SELECT @@global.innodb_flush_log_at_trx_commit;
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_flush_log_at_trx_commit';
--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
###################################################################
# Check if ON and OFF values can be used on variable #
###################################################################
--ERROR ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_flush_log_at_trx_commit = OFF;
SELECT @@global.innodb_flush_log_at_trx_commit;
--ERROR ER_WRONG_TYPE_FOR_VAR
SET @@global.innodb_flush_log_at_trx_commit = ON;
SELECT @@global.innodb_flush_log_at_trx_commit;
--echo '#---------------------FN_DYNVARS_046_07----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.innodb_flush_log_at_trx_commit = TRUE;
SELECT @@global.innodb_flush_log_at_trx_commit;
SET @@global.innodb_flush_log_at_trx_commit = FALSE;
SELECT @@global.innodb_flush_log_at_trx_commit;
##############################
# Restore initial value #
##############################
SET @@global.innodb_flush_log_at_trx_commit = @global_start_value;
SELECT @@global.innodb_flush_log_at_trx_commit;
###############################################################
# END OF innodb_flush_log_at_trx_commit TESTS #
###############################################################

View File

@ -0,0 +1,100 @@
################## mysql-test\t\innodb_flush_method_basic.test ################
# #
# Variable Name: innodb_flush_method #
# Scope: Global #
# Access Type: Static #
# Data Type: enumeration #
# #
# #
# Creation Date: 2008-02-07 #
# Author : Sharique Abdullah #
# #
# #
# Description:Test Cases of Dynamic System Variable innodb_flush_method #
# 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 #
# #
###############################################################################
--echo '#---------------------BS_STVARS_029_01----------------------#'
####################################################################
# Displaying default value #
####################################################################
SELECT COUNT(@@GLOBAL.innodb_flush_method);
--echo 1 Expected
--echo '#---------------------BS_STVARS_029_02----------------------#'
####################################################################
# Check if Value can set #
####################################################################
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@GLOBAL.innodb_flush_method=1;
--echo Expected error 'Read only variable'
SELECT COUNT(@@GLOBAL.innodb_flush_method);
--echo 1 Expected
--echo '#---------------------BS_STVARS_029_03----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable #
#################################################################
SELECT @@GLOBAL.innodb_flush_method = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_flush_method';
--echo 1 Expected
SELECT COUNT(@@GLOBAL.innodb_flush_method);
--echo 1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_flush_method';
--echo 1 Expected
--echo '#---------------------BS_STVARS_029_04----------------------#'
################################################################################
# Check if accessing variable with and without GLOBAL point to same variable #
################################################################################
SELECT @@innodb_flush_method = @@GLOBAL.innodb_flush_method;
--echo 1 Expected
--echo '#---------------------BS_STVARS_029_05----------------------#'
################################################################################
# Check if innodb_flush_method can be accessed with and without @@ sign #
################################################################################
SELECT COUNT(@@innodb_flush_method);
--echo 1 Expected
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.innodb_flush_method);
--echo Expected error 'Variable is a GLOBAL variable'
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.innodb_flush_method);
--echo Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.innodb_flush_method);
--echo 1 Expected
--Error ER_BAD_FIELD_ERROR
SELECT innodb_flush_method = @@SESSION.innodb_flush_method;
--echo Expected error 'Readonly variable'

Some files were not shown because too many files have changed in this diff Show More