mirror of
https://github.com/MariaDB/server.git
synced 2025-12-21 11:01:08 +03:00
Merged Performance Version 0.2.1 with latest 5.1 tree (last push 11 feb 14.01.13 2009)
This commit is contained in:
@@ -751,6 +751,19 @@ ALTER TABLE t1 MODIFY COLUMN v VARCHAR(4);
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
#
|
||||
# Bug#31291 ALTER TABLE CONVERT TO CHARACTER SET does not change some data types
|
||||
#
|
||||
create table t1 (a tinytext character set latin1);
|
||||
alter table t1 convert to character set utf8;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
create table t1 (a mediumtext character set latin1);
|
||||
alter table t1 convert to character set utf8;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
|
||||
@@ -1598,3 +1598,4 @@ CREATE TABLE t1(a INT NOT NULL AUTO_INCREMENT, b BLOB, KEY(a)) ENGINE=archive;
|
||||
INSERT INTO t1 VALUES (NULL, NULL),(NULL, NULL);
|
||||
FLUSH TABLE t1;
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
DROP TABLE t1;
|
||||
|
||||
@@ -1,190 +0,0 @@
|
||||
############## 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 #
|
||||
########################################################################
|
||||
@@ -149,7 +149,6 @@ delete from t1 where a=0;
|
||||
update t1 set a=0 where b=5;
|
||||
select * from t1 order by b;
|
||||
delete from t1 where a=0;
|
||||
--error 1048
|
||||
update t1 set a=NULL where b=6;
|
||||
update t1 set a=300 where b=7;
|
||||
SET SQL_MODE='';
|
||||
@@ -165,7 +164,6 @@ delete from t1 where a=0;
|
||||
update t1 set a=0 where b=12;
|
||||
select * from t1 order by b;
|
||||
delete from t1 where a=0;
|
||||
--error 1048
|
||||
update t1 set a=NULL where b=13;
|
||||
update t1 set a=500 where b=14;
|
||||
select * from t1 order by b;
|
||||
|
||||
@@ -1,208 +0,0 @@
|
||||
############## 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 #
|
||||
#############################################################
|
||||
|
||||
@@ -1,202 +0,0 @@
|
||||
############## 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;
|
||||
@@ -1,214 +0,0 @@
|
||||
############## 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 #
|
||||
###################################################
|
||||
|
||||
@@ -1,200 +0,0 @@
|
||||
############## 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;
|
||||
@@ -1 +0,0 @@
|
||||
--innodb
|
||||
@@ -1,164 +0,0 @@
|
||||
############## 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;
|
||||
|
||||
|
||||
|
||||
@@ -1,179 +0,0 @@
|
||||
############## 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 #
|
||||
#############################################################
|
||||
@@ -1,150 +0,0 @@
|
||||
############# 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
|
||||
#
|
||||
|
||||
--source include/not_embedded.inc
|
||||
|
||||
--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;
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
# The server need to be started in $MYSQLTEST_VARDIR since it
|
||||
# uses ../std_data_ln/
|
||||
# uses ../../std_data/
|
||||
-- source include/uses_vardir.inc
|
||||
|
||||
#
|
||||
@@ -16,41 +16,41 @@ drop table if exists t1, t2, t3, t4;
|
||||
--enable_warnings
|
||||
create table t4(n int);
|
||||
--replace_result ": 1" ": X" ": 2" ": X" ": 22" ": X" ": 23" ": X" $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
backup table t4 to '../bogus';
|
||||
backup table t4 to '../tmp';
|
||||
backup table t4 to '../../bogus';
|
||||
backup table t4 to '../../tmp';
|
||||
--replace_result ": 7" ": X" ": 17" ": X" $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
backup table t4 to '../tmp';
|
||||
backup table t4 to '../../tmp';
|
||||
drop table t4;
|
||||
restore table t4 from '../tmp';
|
||||
restore table t4 from '../../tmp';
|
||||
select count(*) from t4;
|
||||
|
||||
create table t1(n int);
|
||||
insert into t1 values (23),(45),(67);
|
||||
backup table t1 to '../tmp';
|
||||
backup table t1 to '../../tmp';
|
||||
drop table t1;
|
||||
--replace_result ": 1" ": X" ": 2" ": X" ": 22" ": X" ": 23" ": X" $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
restore table t1 from '../bogus';
|
||||
restore table t1 from '../tmp';
|
||||
restore table t1 from '../../bogus';
|
||||
restore table t1 from '../../tmp';
|
||||
select n from t1;
|
||||
create table t2(m int not null primary key);
|
||||
create table t3(k int not null primary key);
|
||||
insert into t2 values (123),(145),(167);
|
||||
insert into t3 values (223),(245),(267);
|
||||
backup table t2,t3 to '../tmp';
|
||||
backup table t2,t3 to '../../tmp';
|
||||
drop table t1,t2,t3;
|
||||
restore table t1,t2,t3 from '../tmp';
|
||||
restore table t1,t2,t3 from '../../tmp';
|
||||
select n from t1;
|
||||
select m from t2;
|
||||
select k from t3;
|
||||
drop table t1,t2,t3,t4;
|
||||
restore table t1 from '../tmp';
|
||||
restore table t1 from '../../tmp';
|
||||
connection con2;
|
||||
rename table t1 to t5;
|
||||
--send
|
||||
lock tables t5 write;
|
||||
connection con1;
|
||||
--send
|
||||
backup table t5 to '../tmp';
|
||||
backup table t5 to '../../tmp';
|
||||
connection con2;
|
||||
reap;
|
||||
unlock tables;
|
||||
@@ -80,11 +80,11 @@ DROP TABLE IF EXISTS `t+1`;
|
||||
--enable_warnings
|
||||
CREATE TABLE `t+1` (c1 INT);
|
||||
INSERT INTO `t+1` VALUES (1), (2), (3);
|
||||
BACKUP TABLE `t+1` TO '../tmp';
|
||||
BACKUP TABLE `t+1` TO '../../tmp';
|
||||
DROP TABLE `t+1`;
|
||||
#
|
||||
# Same for restore.
|
||||
RESTORE TABLE `t+1` FROM '../tmp';
|
||||
RESTORE TABLE `t+1` FROM '../../tmp';
|
||||
SELECT * FROM `t+1`;
|
||||
DROP TABLE `t+1`;
|
||||
|
||||
|
||||
@@ -1,100 +0,0 @@
|
||||
|
||||
|
||||
################## 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'
|
||||
|
||||
|
||||
@@ -1,179 +0,0 @@
|
||||
##################### 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 #
|
||||
#######################################################
|
||||
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
|
||||
|
||||
################## 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 #
|
||||
# #
|
||||
###############################################################################
|
||||
|
||||
###################################################################
|
||||
# BUG#39812: Make statement replication default for 5.1 (to match 5.0)
|
||||
# We just verify that the default binlog_format is STATEMENT in 5.1.
|
||||
# In 6.0, it should be MIXED.
|
||||
###################################################################
|
||||
SELECT @@GLOBAL.binlog_format;
|
||||
|
||||
--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
|
||||
|
||||
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
#
|
||||
# testing of purging of binary log files bug#18199/Bug#18453
|
||||
#
|
||||
source include/have_log_bin.inc;
|
||||
source include/not_embedded.inc;
|
||||
|
||||
#
|
||||
# testing purge binary logs TO
|
||||
#
|
||||
|
||||
flush logs;
|
||||
flush logs;
|
||||
flush logs;
|
||||
|
||||
source include/show_binary_logs.inc;
|
||||
|
||||
remove_file $MYSQLTEST_VARDIR/log/master-bin.000001;
|
||||
|
||||
# there must be a warning with file names
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
purge binary logs TO 'master-bin.000004';
|
||||
|
||||
--echo *** must show a list starting from the 'TO' argument of PURGE ***
|
||||
source include/show_binary_logs.inc;
|
||||
|
||||
#
|
||||
# testing purge binary logs BEFORE
|
||||
#
|
||||
|
||||
reset master;
|
||||
|
||||
flush logs;
|
||||
flush logs;
|
||||
flush logs;
|
||||
remove_file $MYSQLTEST_VARDIR/log/master-bin.000001;
|
||||
|
||||
--echo *** must be a warning master-bin.000001 was not found ***
|
||||
let $date=`select NOW() + INTERVAL 1 MINUTE`;
|
||||
--disable_query_log
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval purge binary logs BEFORE '$date';
|
||||
--enable_query_log
|
||||
|
||||
--echo *** must show one record, of the active binlog, left in the index file after PURGE ***
|
||||
source include/show_binary_logs.inc;
|
||||
|
||||
#
|
||||
# testing a fatal error
|
||||
# Turning a binlog file into a directory must be a portable setup
|
||||
#
|
||||
|
||||
reset master;
|
||||
|
||||
flush logs;
|
||||
flush logs;
|
||||
flush logs;
|
||||
|
||||
remove_file $MYSQLTEST_VARDIR/log/master-bin.000001;
|
||||
mkdir $MYSQLTEST_VARDIR/log/master-bin.000001;
|
||||
|
||||
--error ER_BINLOG_PURGE_FATAL_ERR
|
||||
purge binary logs TO 'master-bin.000002';
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
show warnings;
|
||||
rmdir $MYSQLTEST_VARDIR/log/master-bin.000001;
|
||||
--disable_warnings
|
||||
reset master;
|
||||
--enable_warnings
|
||||
--echo End of tests
|
||||
@@ -6,6 +6,10 @@ drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
|
||||
# Add the datadir to the bootstrap command
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
let $MYSQLD_BOOTSTRAP_CMD= $MYSQLD_BOOTSTRAP_CMD --datadir=$MYSQLD_DATADIR;
|
||||
|
||||
#
|
||||
# Check that --bootstrap reads from stdin
|
||||
#
|
||||
|
||||
1
mysql-test/t/change_user-master.opt
Normal file
1
mysql-test/t/change_user-master.opt
Normal file
@@ -0,0 +1 @@
|
||||
--force-restart
|
||||
@@ -45,9 +45,32 @@ SELECT IS_USED_LOCK('bug31418');
|
||||
# Bug#31222: com_% global status counters behave randomly with
|
||||
# mysql_change_user.
|
||||
#
|
||||
# Moved to not_embedded_server.test due to Bug#34517: SHOW GLOBAL STATUS does
|
||||
# not work properly in embedded server.
|
||||
#
|
||||
# TODO: move it back when Bug#34517 is fixed (don't forget to add
|
||||
# --force-restart into change_user-master.opt).
|
||||
#
|
||||
|
||||
FLUSH STATUS;
|
||||
|
||||
--disable_result_log
|
||||
--disable_query_log
|
||||
|
||||
let $i = 100;
|
||||
|
||||
while ($i)
|
||||
{
|
||||
dec $i;
|
||||
|
||||
SELECT 1;
|
||||
}
|
||||
|
||||
--enable_query_log
|
||||
--enable_result_log
|
||||
|
||||
let $before= query_get_value(SHOW GLOBAL STATUS LIKE 'com_select',Value,1);
|
||||
|
||||
--change_user
|
||||
|
||||
let $after= query_get_value(SHOW GLOBAL STATUS LIKE 'com_select',Value,1);
|
||||
|
||||
if (`select $after != $before`){
|
||||
SHOW GLOBAL STATUS LIKE 'com_select';
|
||||
die The value of com_select changed during change_user;
|
||||
}
|
||||
echo Value of com_select did not change;
|
||||
|
||||
@@ -1,346 +0,0 @@
|
||||
############## 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/have_big5.inc
|
||||
--source include/have_ujis.inc
|
||||
--source include/have_sjis.inc
|
||||
--source include/have_utf8.inc
|
||||
--source include/have_ucs2.inc
|
||||
|
||||
--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 #
|
||||
#############################################################
|
||||
@@ -1,84 +0,0 @@
|
||||
############## 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 #
|
||||
############################################################
|
||||
@@ -1,273 +0,0 @@
|
||||
############## 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/have_big5.inc
|
||||
--source include/have_ujis.inc
|
||||
--source include/have_sjis.inc
|
||||
--source include/have_utf8.inc
|
||||
--source include/have_ucs2.inc
|
||||
|
||||
--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 #
|
||||
#############################################################
|
||||
@@ -1,102 +0,0 @@
|
||||
############## 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 #
|
||||
#############################################################
|
||||
@@ -1,273 +0,0 @@
|
||||
############## 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/have_big5.inc
|
||||
--source include/have_ujis.inc
|
||||
--source include/have_sjis.inc
|
||||
--source include/have_utf8.inc
|
||||
--source include/have_ucs2.inc
|
||||
|
||||
--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 #
|
||||
#############################################################
|
||||
@@ -1,115 +0,0 @@
|
||||
############## 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 #
|
||||
# #
|
||||
###############################################################################
|
||||
|
||||
--source include/have_utf8.inc
|
||||
|
||||
--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 $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/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 $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/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 #
|
||||
############################################################
|
||||
@@ -1,255 +0,0 @@
|
||||
############## 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/have_big5.inc
|
||||
--source include/have_ujis.inc
|
||||
--source include/have_sjis.inc
|
||||
--source include/have_utf8.inc
|
||||
--source include/have_ucs2.inc
|
||||
|
||||
--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 #
|
||||
#############################################################
|
||||
@@ -1 +0,0 @@
|
||||
--secure-file-priv=$MYSQL_TEST_DIR --innodb
|
||||
@@ -1,271 +0,0 @@
|
||||
############## 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/have_big5.inc
|
||||
--source include/have_ujis.inc
|
||||
--source include/have_sjis.inc
|
||||
--source include/have_utf8.inc
|
||||
--source include/have_ucs2.inc
|
||||
|
||||
--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 #
|
||||
#############################################################
|
||||
@@ -1,102 +0,0 @@
|
||||
############## 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 #
|
||||
##########################################################
|
||||
|
||||
@@ -1,272 +0,0 @@
|
||||
############## 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/have_big5.inc
|
||||
--source include/have_ujis.inc
|
||||
--source include/have_sjis.inc
|
||||
--source include/have_utf8.inc
|
||||
--source include/have_ucs2.inc
|
||||
|
||||
--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 #
|
||||
#############################################################
|
||||
@@ -1,106 +0,0 @@
|
||||
############## 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 #
|
||||
############################################################
|
||||
@@ -1,100 +0,0 @@
|
||||
|
||||
|
||||
################## 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'
|
||||
|
||||
|
||||
@@ -1,265 +0,0 @@
|
||||
############## 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/have_big5.inc
|
||||
--source include/have_ujis.inc
|
||||
--source include/have_sjis.inc
|
||||
--source include/have_utf8.inc
|
||||
--source include/have_ucs2.inc
|
||||
|
||||
--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 #
|
||||
#############################################################
|
||||
@@ -1,95 +0,0 @@
|
||||
############## 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 #
|
||||
#########################################################
|
||||
@@ -1,264 +0,0 @@
|
||||
############## 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/have_big5.inc
|
||||
--source include/have_ujis.inc
|
||||
--source include/have_sjis.inc
|
||||
--source include/have_utf8.inc
|
||||
--source include/have_ucs2.inc
|
||||
|
||||
--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 #
|
||||
###########################################################
|
||||
@@ -1,138 +0,0 @@
|
||||
############## 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 #
|
||||
#######################################################
|
||||
@@ -1,266 +0,0 @@
|
||||
############## 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/have_big5.inc
|
||||
--source include/have_ujis.inc
|
||||
--source include/have_sjis.inc
|
||||
--source include/have_utf8.inc
|
||||
--source include/have_ucs2.inc
|
||||
|
||||
--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 #
|
||||
#####################################################
|
||||
@@ -1,115 +0,0 @@
|
||||
############## 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 #
|
||||
#####################################################
|
||||
@@ -1,184 +0,0 @@
|
||||
############## 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 #
|
||||
############################################
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
--innodb
|
||||
@@ -1,106 +0,0 @@
|
||||
############## 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 #
|
||||
# #
|
||||
################################################################################
|
||||
|
||||
--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_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,1053
|
||||
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,1053
|
||||
INSERT into t1(name) values('Record_4');
|
||||
|
||||
@@ -1,178 +0,0 @@
|
||||
############## 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 #
|
||||
#######################################################
|
||||
|
||||
@@ -1,140 +0,0 @@
|
||||
############## 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;
|
||||
|
||||
@@ -1,153 +0,0 @@
|
||||
################# 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 #
|
||||
#########################################################
|
||||
|
||||
@@ -15,7 +15,7 @@ insert into t1 values(9);
|
||||
SET SESSION debug="d,crash_commit_before";
|
||||
|
||||
# Write file to make mysql-test-run.pl expect crash and restart
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/master0.expect
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Run the crashing query
|
||||
--error 2013
|
||||
|
||||
@@ -1418,6 +1418,7 @@ SHOW CREATE TABLE t2;
|
||||
--echo
|
||||
|
||||
DROP TABLE t2;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo
|
||||
--echo # -- End of test case for Bug#21380.
|
||||
@@ -1532,5 +1533,11 @@ DROP TABLE t1;
|
||||
|
||||
###########################################################################
|
||||
|
||||
#
|
||||
# Bug#40104 regression with table names?
|
||||
#
|
||||
create table `me:i`(id int);
|
||||
drop table `me:i`;
|
||||
|
||||
--echo
|
||||
--echo End of 5.1 tests
|
||||
|
||||
@@ -29,7 +29,8 @@ drop table if exists t1;
|
||||
--enable_warnings
|
||||
create table t1(a int) engine=myisam;
|
||||
insert into t1 values(1);
|
||||
--system rm -f $MYSQLTEST_VARDIR/master-data/test/t1.frm
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
remove_file $MYSQLD_DATADIR/test/t1.frm;
|
||||
--echo "We get an error because the table is in the definition cache"
|
||||
--error ER_TABLE_EXISTS_ERROR
|
||||
create table t1(a int, b int);
|
||||
|
||||
@@ -1409,7 +1409,8 @@ DROP TABLE test_repair_table;
|
||||
#
|
||||
|
||||
CREATE TABLE test_repair_table2 ( val integer not null ) ENGINE = CSV;
|
||||
--remove_file $MYSQLTEST_VARDIR/master-data/test/test_repair_table2.CSM
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
--remove_file $MYSQLD_DATADIR/test/test_repair_table2.CSM
|
||||
|
||||
# Should give a warning and perform autorepair. We also disable ps-protocol
|
||||
# here, as mysql-test eats up warnings in ps-protocol mode
|
||||
@@ -1420,15 +1421,15 @@ SELECT * from test_repair_table2;
|
||||
# this should work ok, as the table is already repaired
|
||||
SELECT * from test_repair_table2;
|
||||
# check that the metafile appeared again.
|
||||
--file_exists $MYSQLTEST_VARDIR/master-data/test/test_repair_table2.CSM
|
||||
--file_exists $MYSQLD_DATADIR/test/test_repair_table2.CSM
|
||||
CHECK TABLE test_repair_table2;
|
||||
DROP TABLE test_repair_table2;
|
||||
|
||||
|
||||
# Corrupt csv file and see if we can repair it
|
||||
CREATE TABLE test_repair_table3 ( val integer not null ) ENGINE = CSV;
|
||||
--remove_file $MYSQLTEST_VARDIR/master-data/test/test_repair_table3.CSV
|
||||
--write_file $MYSQLTEST_VARDIR/master-data/test/test_repair_table3.CSV
|
||||
--remove_file $MYSQLD_DATADIR/test/test_repair_table3.CSV
|
||||
--write_file $MYSQLD_DATADIR/test/test_repair_table3.CSV
|
||||
"1"
|
||||
"4"
|
||||
"3
|
||||
@@ -1447,7 +1448,7 @@ CREATE TABLE test_repair_table4 (
|
||||
founded char(4) DEFAULT '' NOT NULL
|
||||
) ENGINE = CSV;
|
||||
|
||||
--remove_file $MYSQLTEST_VARDIR/master-data/test/test_repair_table4.CSM
|
||||
--remove_file $MYSQLD_DATADIR/test/test_repair_table4.CSM
|
||||
--disable_ps_protocol
|
||||
SELECT * FROM test_repair_table4;
|
||||
--enable_ps_protocol
|
||||
@@ -1480,8 +1481,8 @@ CREATE TABLE test_repair_table5 (
|
||||
) ENGINE = CSV;
|
||||
|
||||
# Corrupt a table -- put a file with wrong # of columns
|
||||
--remove_file $MYSQLTEST_VARDIR/master-data/test/test_repair_table5.CSV
|
||||
--write_file $MYSQLTEST_VARDIR/master-data/test/test_repair_table5.CSV
|
||||
--remove_file $MYSQLD_DATADIR/test/test_repair_table5.CSV
|
||||
--write_file $MYSQLD_DATADIR/test/test_repair_table5.CSV
|
||||
"1","101","IBM"
|
||||
EOF
|
||||
|
||||
@@ -1492,7 +1493,7 @@ INSERT INTO test_repair_table5 VALUES (1, 102, "CORRECT", 1876);
|
||||
SELECT * FROM test_repair_table5;
|
||||
|
||||
# Corrupt a table -- put a row with wrong # of columns at end of file
|
||||
--append_file $MYSQLTEST_VARDIR/master-data/test/test_repair_table5.CSV
|
||||
--append_file $MYSQLD_DATADIR/test/test_repair_table5.CSV
|
||||
"1","101","IBM"
|
||||
EOF
|
||||
|
||||
@@ -1505,7 +1506,7 @@ INSERT INTO test_repair_table5 VALUES (1, 102, "CORRECT2", 1876);
|
||||
SELECT * FROM test_repair_table5;
|
||||
|
||||
# Corrupt table again -- put a row with wrong # of columns at end of file
|
||||
--append_file $MYSQLTEST_VARDIR/master-data/test/test_repair_table5.CSV
|
||||
--append_file $MYSQLD_DATADIR/test/test_repair_table5.CSV
|
||||
"1","101","IBM"
|
||||
EOF
|
||||
|
||||
@@ -1588,14 +1589,14 @@ drop table t1;
|
||||
|
||||
create table bug15205 (val int(11) not null) engine=csv;
|
||||
create table bug15205_2 (val int(11) not null) engine=csv;
|
||||
--remove_file $MYSQLTEST_VARDIR/master-data/test/bug15205.CSV
|
||||
--remove_file $MYSQLD_DATADIR/test/bug15205.CSV
|
||||
# system error (can't open the datafile)
|
||||
--replace_result $MYSQLTEST_VARDIR . master-data/ ''
|
||||
--replace_result $MYSQLTEST_VARDIR . mysqld.1/data/ ''
|
||||
--error 13
|
||||
select * from bug15205;
|
||||
select * from bug15205_2;
|
||||
# Create empty file
|
||||
--write_file $MYSQLTEST_VARDIR/master-data/test/bug15205.CSV
|
||||
--write_file $MYSQLD_DATADIR/test/bug15205.CSV
|
||||
EOF
|
||||
select * from bug15205;
|
||||
drop table bug15205;
|
||||
@@ -1634,16 +1635,16 @@ insert into bug22080_1 values(2,'string');
|
||||
insert into bug22080_1 values(3,'string');
|
||||
|
||||
# Create first corrupt file as described in bug report
|
||||
--remove_file $MYSQLTEST_VARDIR/master-data/test/bug22080_2.CSV
|
||||
--write_file $MYSQLTEST_VARDIR/master-data/test/bug22080_2.CSV
|
||||
--remove_file $MYSQLD_DATADIR/test/bug22080_2.CSV
|
||||
--write_file $MYSQLD_DATADIR/test/bug22080_2.CSV
|
||||
1,"string"
|
||||
2","string"
|
||||
3,"string"
|
||||
EOF
|
||||
|
||||
# Create second corrupt file as described in bug report
|
||||
--remove_file $MYSQLTEST_VARDIR/master-data/test/bug22080_3.CSV
|
||||
--write_file $MYSQLTEST_VARDIR/master-data/test/bug22080_3.CSV
|
||||
--remove_file $MYSQLD_DATADIR/test/bug22080_3.CSV
|
||||
--write_file $MYSQLD_DATADIR/test/bug22080_3.CSV
|
||||
1,"string"
|
||||
"2",string"
|
||||
3,"string"
|
||||
@@ -1703,8 +1704,8 @@ check table t1;
|
||||
drop table t1;
|
||||
|
||||
create table t1(a int not null, b int not null) engine=csv;
|
||||
--remove_file $MYSQLTEST_VARDIR/master-data/test/t1.CSV
|
||||
--write_file $MYSQLTEST_VARDIR/master-data/test/t1.CSV
|
||||
--remove_file $MYSQLD_DATADIR/test/t1.CSV
|
||||
--write_file $MYSQLD_DATADIR/test/t1.CSV
|
||||
1, 1E-2
|
||||
-2E2, .9
|
||||
-10E-1, -.9
|
||||
@@ -1794,8 +1795,8 @@ create table t1 (a int not null) engine=csv;
|
||||
lock tables t1 read;
|
||||
connect (con1,localhost,root,,);
|
||||
--connection con1
|
||||
--remove_file $MYSQLTEST_VARDIR/master-data/test/t1.CSV
|
||||
--replace_result $MYSQLTEST_VARDIR . master-data/ '' 13 2
|
||||
--remove_file $MYSQLD_DATADIR/test/t1.CSV
|
||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR/ ./ MYSQLD_DATADIR/ 13 2
|
||||
# EE_FILENOTFOUND 29
|
||||
--error 29
|
||||
select * from t1;
|
||||
@@ -1804,4 +1805,17 @@ unlock tables;
|
||||
drop table t1;
|
||||
--disconnect con1
|
||||
|
||||
#
|
||||
# Bug#41441 repair csv table crashes debug server
|
||||
#
|
||||
# Note: The test should be removed after Bug#33717 is fixed
|
||||
|
||||
create table t1(a enum ('a') not null) engine=csv;
|
||||
insert into t1 values (2);
|
||||
--error ER_CRASHED_ON_USAGE
|
||||
select * from t1 limit 1;
|
||||
repair table t1;
|
||||
select * from t1 limit 1;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
@@ -93,7 +93,6 @@ SELECT * FROM t1;
|
||||
UPDATE t1 set b = 'new_value' where a = 0;
|
||||
--enable_warnings
|
||||
SELECT * FROM t1;
|
||||
--error ER_BAD_NULL_ERROR
|
||||
UPDATE t1 set b = NULL where b = 'new_value';
|
||||
SELECT * FROM t1;
|
||||
|
||||
|
||||
@@ -75,12 +75,12 @@ create table t1 (a blob);
|
||||
insert into t1 values (0xEE00);
|
||||
select * into outfile 'test/t1.txt' from t1;
|
||||
delete from t1;
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--eval select hex(load_file('$MYSQLTEST_VARDIR/master-data/test/t1.txt'));
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||
--eval select hex(load_file('$MYSQLD_DATADIR/test/t1.txt'));
|
||||
load data infile 't1.txt' into table t1;
|
||||
select hex(a) from t1;
|
||||
--remove_file $MYSQLTEST_VARDIR/master-data/test/t1.txt
|
||||
|
||||
--remove_file $MYSQLD_DATADIR/test/t1.txt
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
@@ -21,6 +21,22 @@ insert into t1 values ('a');
|
||||
select * from t1 where c1='b';
|
||||
drop table t1;
|
||||
|
||||
|
||||
#
|
||||
# Bug#41084 full-text index added to custom UCA collation not working
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
col1 varchar(100) character set utf8 collate utf8_test_ci
|
||||
);
|
||||
INSERT INTO t1 (col1) VALUES ('abcd'),('efgh'),('ijkl');
|
||||
ALTER TABLE t1 ADD FULLTEXT INDEX (col1);
|
||||
SELECT * FROM t1 where match (col1) against ('abcd');
|
||||
SELECT * FROM t1 where match (col1) against ('abcd' IN BOOLEAN MODE);
|
||||
ALTER TABLE t1 ADD (col2 varchar(100) character set latin1);
|
||||
UPDATE t1 SET col2=col1;
|
||||
SELECT * FROM t1 WHERE col1=col2 ORDER BY col1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Vietnamese experimental collation
|
||||
#
|
||||
|
||||
@@ -697,4 +697,29 @@ set names latin1;
|
||||
#
|
||||
select hex(char(0x41 using ucs2));
|
||||
|
||||
#
|
||||
# Bug#37575: UCASE fails on monthname
|
||||
#
|
||||
SET character_set_connection=ucs2;
|
||||
SELECT CHARSET(DAYNAME(19700101));
|
||||
SELECT CHARSET(MONTHNAME(19700101));
|
||||
SELECT LOWER(DAYNAME(19700101));
|
||||
SELECT LOWER(MONTHNAME(19700101));
|
||||
SELECT UPPER(DAYNAME(19700101));
|
||||
SELECT UPPER(MONTHNAME(19700101));
|
||||
SELECT HEX(MONTHNAME(19700101));
|
||||
SELECT HEX(DAYNAME(19700101));
|
||||
SET LC_TIME_NAMES=ru_RU;
|
||||
SET NAMES utf8;
|
||||
SET character_set_connection=ucs2;
|
||||
SELECT CHARSET(DAYNAME(19700101));
|
||||
SELECT CHARSET(MONTHNAME(19700101));
|
||||
SELECT LOWER(DAYNAME(19700101));
|
||||
SELECT LOWER(MONTHNAME(19700101));
|
||||
SELECT UPPER(DAYNAME(19700101));
|
||||
SELECT UPPER(MONTHNAME(19700101));
|
||||
SELECT HEX(MONTHNAME(19700101));
|
||||
SELECT HEX(DAYNAME(19700101));
|
||||
SET character_set_connection=latin1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
@@ -1,100 +0,0 @@
|
||||
|
||||
|
||||
################## 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'
|
||||
|
||||
|
||||
@@ -6,10 +6,15 @@
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
--replace_result ROW <format> STATEMENT <format> MIXED <format>
|
||||
SHOW GLOBAL VARIABLES LIKE "%e_format";
|
||||
--replace_result ROW <format> STATEMENT <format> MIXED <format>
|
||||
SHOW SESSION VARIABLES LIKE "%e_format";
|
||||
SELECT variable_name, variable_value
|
||||
FROM information_schema.global_variables
|
||||
WHERE variable_name IN ('date_format', 'datetime_format', 'time_format')
|
||||
ORDER BY variable_name;
|
||||
|
||||
SELECT variable_name, variable_value
|
||||
FROM information_schema.session_variables
|
||||
WHERE variable_name IN ('date_format', 'datetime_format', 'time_format')
|
||||
ORDER BY variable_name;
|
||||
|
||||
#
|
||||
# Test setting a lot of different formats to see which formats are accepted and
|
||||
@@ -36,8 +41,10 @@ set datetime_format= '%H:%i:%s.%f %m-%d-%Y';
|
||||
set datetime_format= '%h:%i:%s %p %Y-%m-%d';
|
||||
set datetime_format= '%h:%i:%s.%f %p %Y-%m-%d';
|
||||
|
||||
--replace_result ROW <format> STATEMENT <format> MIXED <format>
|
||||
SHOW SESSION VARIABLES LIKE "%e_format";
|
||||
SELECT variable_name, variable_value
|
||||
FROM information_schema.session_variables
|
||||
WHERE variable_name IN ('date_format', 'datetime_format', 'time_format')
|
||||
ORDER BY variable_name;
|
||||
|
||||
--error 1231
|
||||
SET time_format='%h:%i:%s';
|
||||
@@ -121,7 +128,7 @@ SET datetime_format=default;
|
||||
# Test of str_to_date
|
||||
#
|
||||
|
||||
# PS doesn't support fraction of a seconds
|
||||
# PS doesn't support fractions of a second
|
||||
--disable_ps_protocol
|
||||
select str_to_date(concat('15-01-2001',' 2:59:58.999'),
|
||||
concat('%d-%m-%Y',' ','%H:%i:%s.%f'));
|
||||
@@ -340,3 +347,15 @@ select str_to_date('04/30 /2004', '%m /%d /%Y');
|
||||
select str_to_date('04/30/2004 ', '%m/%d/%Y ');
|
||||
|
||||
--echo "End of 4.1 tests"
|
||||
|
||||
#
|
||||
# Bug #41470: DATE_FORMAT() crashes the complete server with a valid date
|
||||
#
|
||||
|
||||
# show that these two do not crash the server:
|
||||
SELECT DATE_FORMAT("0000-01-01",'%W %d %M %Y') as valid_date;
|
||||
SELECT DATE_FORMAT("0000-02-28",'%W %d %M %Y') as valid_date;
|
||||
# show that date within the Gregorian range render correct results: (THU)
|
||||
SELECT DATE_FORMAT("2009-01-01",'%W %d %M %Y') as valid_date;
|
||||
|
||||
--echo "End of 5.0 tests"
|
||||
|
||||
@@ -1,199 +0,0 @@
|
||||
############## 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 #
|
||||
#############################################################
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
############## 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');
|
||||
|
||||
@@ -1,173 +0,0 @@
|
||||
##################### 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 #
|
||||
########################################################################
|
||||
@@ -1,2 +0,0 @@
|
||||
--myisam-recover=BACKUP,FORCE
|
||||
|
||||
@@ -1,149 +0,0 @@
|
||||
##################### 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 PROCEDURE sp_addRecords;
|
||||
DROP TABLE t1;
|
||||
|
||||
####################################################
|
||||
# End of functionality testing for delay_key_write #
|
||||
####################################################
|
||||
@@ -285,4 +285,47 @@ INSERT DELAYED INTO t2 VALUES (0,'0000-00-00');
|
||||
INSERT DELAYED INTO t2 VALUES (0,'2007-00-00');
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
#
|
||||
# Bug#40536: SELECT is blocked by INSERT DELAYED waiting on upgrading lock,
|
||||
# even with low_priority_updates
|
||||
#
|
||||
|
||||
set @old_delayed_updates = @@global.low_priority_updates;
|
||||
set global low_priority_updates = 1;
|
||||
select @@global.low_priority_updates;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
create table t1 (a int, b int);
|
||||
insert into t1 values (1,1);
|
||||
lock table t1 read;
|
||||
connect (update,localhost,root,,);
|
||||
connection update;
|
||||
--echo connection: update
|
||||
--send insert delayed into t1 values (2,2);
|
||||
connection default;
|
||||
let $wait_condition=
|
||||
select count(*) = 1 from information_schema.processlist
|
||||
where command = "Delayed insert" and state = "upgrading lock";
|
||||
--source include/wait_condition.inc
|
||||
connect (select,localhost,root,,);
|
||||
--echo connection: select
|
||||
select * from t1;
|
||||
connection default;
|
||||
--echo connection: default
|
||||
select * from t1;
|
||||
connection default;
|
||||
disconnect update;
|
||||
disconnect select;
|
||||
unlock tables;
|
||||
let $wait_condition=
|
||||
select count(*) = 1 from information_schema.processlist
|
||||
where command = "Delayed insert" and state = "Waiting for INSERT";
|
||||
--source include/wait_condition.inc
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
set global low_priority_updates = @old_delayed_updates;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
@@ -1,229 +0,0 @@
|
||||
############# 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
|
||||
#
|
||||
|
||||
--source include/not_embedded.inc
|
||||
|
||||
--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;
|
||||
@@ -1,171 +0,0 @@
|
||||
################# 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 #
|
||||
################################################################
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
# Do not use any TAB characters for whitespace.
|
||||
#
|
||||
##############################################################################
|
||||
federated_transactions : Bug#29523 Transactions do not work
|
||||
log_tables.test : Bug #37798: main.log_tables fails randomly on powermacg5 and windows
|
||||
slow_query_log_func.test : Bug #37962: *_func tests containing sleeps/race conditions
|
||||
wait_timeout_func : Bug #41225 joro wait_timeout_func fails
|
||||
kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild.
|
||||
query_cache_28249 : Bug#41098 Query Cache returns wrong result with concurrent insert
|
||||
innodb_bug39438 : BUG#42383 2009-01-28 lsoares "This fails in embedded and on windows. Note that this test is not run on windows and on embedded in PB for main trees currently"
|
||||
|
||||
@@ -440,7 +440,6 @@ SELECT DISTINCT a,a FROM t1 WHERE b < 12 ORDER BY a;
|
||||
DROP TABLE t1;
|
||||
|
||||
#Bug #20836: Selecting into variables results in wrong results being returned
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
@@ -488,14 +487,14 @@ CREATE TABLE t2 (fruit_id INT NOT NULL, fruit_name varchar(20)
|
||||
default NULL);
|
||||
|
||||
SELECT DISTINCT fruit_id, fruit_name INTO OUTFILE
|
||||
'../tmp/data1.tmp' FROM t1 WHERE fruit_name = 'APPLE';
|
||||
LOAD DATA INFILE '../tmp/data1.tmp' INTO TABLE t2;
|
||||
'../../tmp/data1.tmp' FROM t1 WHERE fruit_name = 'APPLE';
|
||||
LOAD DATA INFILE '../../tmp/data1.tmp' INTO TABLE t2;
|
||||
--error 0,1
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/data1.tmp
|
||||
|
||||
SELECT DISTINCT @v19:= fruit_id, @v20:= fruit_name INTO OUTFILE
|
||||
'../tmp/data2.tmp' FROM t1 WHERE fruit_name = 'APPLE';
|
||||
LOAD DATA INFILE '../tmp/data2.tmp' INTO TABLE t2;
|
||||
'../../tmp/data2.tmp' FROM t1 WHERE fruit_name = 'APPLE';
|
||||
LOAD DATA INFILE '../../tmp/data2.tmp' INTO TABLE t2;
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/data2.tmp
|
||||
|
||||
SELECT @v19, @v20;
|
||||
|
||||
@@ -1,209 +0,0 @@
|
||||
############## 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 #
|
||||
#######################################################
|
||||
|
||||
@@ -1,129 +0,0 @@
|
||||
############## 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 #
|
||||
# #
|
||||
################################################################################
|
||||
|
||||
let $save_div_precision_increment = `SELECT @@global.div_precision_increment`
|
||||
|
||||
#SET @save_div_precision_increment = @@global.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;
|
||||
|
||||
connection default;
|
||||
eval SET @@global.div_precision_increment = $save_div_precision_increment;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -131,7 +131,8 @@ create table mysql_test.t1(f1 int);
|
||||
create table mysql_test.`#sql-347f_7` (f1 int);
|
||||
create table mysql_test.`#sql-347f_8` (f1 int);
|
||||
drop table mysql_test.`#sql-347f_8`;
|
||||
copy_file $MYSQLTEST_VARDIR/master-data/mysql_test/t1.frm $MYSQLTEST_VARDIR/master-data/mysql_test/#sql-347f_6.frm;
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
copy_file $MYSQLD_DATADIR/mysql_test/t1.frm $MYSQLD_DATADIR/mysql_test/#sql-347f_6.frm;
|
||||
drop database mysql_test;
|
||||
|
||||
###########################################################################
|
||||
@@ -148,17 +149,18 @@ DROP DATABASE IF EXISTS mysql_test;
|
||||
|
||||
CREATE DATABASE mysql_test;
|
||||
|
||||
--copy_file $MYSQLTEST_VARDIR/master-data/mysql/proc.frm $MYSQLTEST_VARDIR/tmp/bug29958.proc.frm
|
||||
--copy_file $MYSQLTEST_VARDIR/master-data/mysql/proc.MYD $MYSQLTEST_VARDIR/tmp/bug29958.proc.MYD
|
||||
--copy_file $MYSQLTEST_VARDIR/master-data/mysql/proc.MYI $MYSQLTEST_VARDIR/tmp/bug29958.proc.MYI
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
--copy_file $MYSQLD_DATADIR/mysql/proc.frm $MYSQLTEST_VARDIR/tmp/bug29958.proc.frm
|
||||
--copy_file $MYSQLD_DATADIR/mysql/proc.MYD $MYSQLTEST_VARDIR/tmp/bug29958.proc.MYD
|
||||
--copy_file $MYSQLD_DATADIR/mysql/proc.MYI $MYSQLTEST_VARDIR/tmp/bug29958.proc.MYI
|
||||
|
||||
DROP TABLE mysql.proc;
|
||||
|
||||
DROP DATABASE mysql_test;
|
||||
|
||||
--copy_file $MYSQLTEST_VARDIR/tmp/bug29958.proc.frm $MYSQLTEST_VARDIR/master-data/mysql/proc.frm
|
||||
--copy_file $MYSQLTEST_VARDIR/tmp/bug29958.proc.MYD $MYSQLTEST_VARDIR/master-data/mysql/proc.MYD
|
||||
--copy_file $MYSQLTEST_VARDIR/tmp/bug29958.proc.MYI $MYSQLTEST_VARDIR/master-data/mysql/proc.MYI
|
||||
--copy_file $MYSQLTEST_VARDIR/tmp/bug29958.proc.frm $MYSQLD_DATADIR/mysql/proc.frm
|
||||
--copy_file $MYSQLTEST_VARDIR/tmp/bug29958.proc.MYD $MYSQLD_DATADIR/mysql/proc.MYD
|
||||
--copy_file $MYSQLTEST_VARDIR/tmp/bug29958.proc.MYI $MYSQLD_DATADIR/mysql/proc.MYI
|
||||
|
||||
--echo
|
||||
--echo # --
|
||||
|
||||
@@ -1,227 +0,0 @@
|
||||
############## 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 #
|
||||
###############################################################
|
||||
@@ -1,97 +0,0 @@
|
||||
|
||||
|
||||
################## 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'
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
--loose-debug=d,raise_error
|
||||
@@ -21,10 +21,15 @@ INSERT INTO t1 VALUES
|
||||
|
||||
set tmp_table_size=1024;
|
||||
|
||||
# Set debug flag so an error is returned when
|
||||
# tmp table in query is converted from heap to myisam
|
||||
set session debug="d,raise_error";
|
||||
|
||||
--replace_regex /in table '[^']+'/in table 'tmp_table'/
|
||||
--error ER_DUP_KEY
|
||||
SELECT MAX(a) FROM t1 GROUP BY a,b;
|
||||
|
||||
set tmp_table_size=default;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
|
||||
@@ -1,175 +0,0 @@
|
||||
#################### 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/not_embedded.inc
|
||||
--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 #
|
||||
#####################################################
|
||||
@@ -1,91 +0,0 @@
|
||||
############## 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 #
|
||||
# #
|
||||
################################################################################
|
||||
|
||||
-- source include/not_embedded.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)
|
||||
);
|
||||
|
||||
--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;
|
||||
|
||||
@@ -1,40 +1,133 @@
|
||||
#### t/events_bugs.test
|
||||
#
|
||||
# Last change:
|
||||
# 2008-10-16 mleich
|
||||
# 2009-01-08 mleich
|
||||
# - Fix for
|
||||
# Bug#39848 events_bugs fails sporadically on pushbuild
|
||||
# (missing rows in table event_log)
|
||||
# Bug#39863 events_bugs fails sporadically on pushbuild (extra processes
|
||||
# in I_S.PROCESSLIST)
|
||||
# Bug#39978 main.events_bugs does not clean up
|
||||
# Bug#39569 events_bugs fails sporadically on pushbuild (should have
|
||||
# failed with errno 1539)
|
||||
# - Minor improvements of formatting
|
||||
# Bug#41111 events_bugs fails sporadically on pushbuild
|
||||
# - Avoid effects of
|
||||
# Bug#41925 Warning 1366 Incorrect string value: ... for column processlist.info
|
||||
#
|
||||
# Please set $
|
||||
let $fixed_bug41925= 0;
|
||||
#
|
||||
# Dear maintainer of this test. Please do NOT remove the next big comment.
|
||||
# The tests for events were quite unstable over a significant time because the
|
||||
# effects of events in general and their representation within the processlist
|
||||
# were partially not known. Therefore I had to make excessive experiments.
|
||||
# The comment with the outcome of these experiments will be moved into a README
|
||||
# file as soon as the tests for events get their own testsuite.
|
||||
#
|
||||
# Outcome of some experiments (mleich, mysql-5.1 2008-12):
|
||||
# --------------------------------------------------------
|
||||
# 0. Most time used setup:
|
||||
# High parallel I/O load
|
||||
# set global event_scheduler= off;
|
||||
# sleep 3;
|
||||
# use events_test;
|
||||
# create event e_16407 on schedule every 2 second do
|
||||
# begin
|
||||
# select 'FIRST COMMAND', sleep(0.5);
|
||||
# select 'SECOND COMMAND';
|
||||
# end|
|
||||
# set global event_scheduler= on;
|
||||
# Start observation of the processlist
|
||||
#
|
||||
#
|
||||
# 1. SET GLOBAL event_scheduler = 'ON' and immediate observation of the processlist.
|
||||
# 1.1 Effects around event scheduler:
|
||||
# 1.1.1 First phase (very short)
|
||||
# No user 'event_scheduler' within information_schema.processlist.
|
||||
# 1.1.2 Second phase observed (independend of probably existing events and very short) was
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# event_scheduler localhost NULL Daemon 0 Initialized NULL
|
||||
# 1.1.3 Third phase observed:
|
||||
# 1.1.3.1 Case we do not have existing events (rather long)
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# event_scheduler localhost NULL Daemon 0 Waiting on empty queue NULL
|
||||
# 1.1.3.2 Case there exists already an event
|
||||
# 1.1.3.2.1 Event executor is not visible in processlist but comes up soon
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# event_scheduler localhost NULL Daemon 0 NULL
|
||||
# or
|
||||
# event_scheduler localhost NULL Daemon 0 NULL NULL
|
||||
# 1.1.3.2.2 A bit later, at least one event executor is or was visible in processlist
|
||||
# The states mentioned in 3.2.1 or a bit later
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# event_scheduler localhost NULL Daemon 0 Waiting for next activation NULL
|
||||
# 1.2 Effects around event executor:
|
||||
# Typical processlist content:
|
||||
# USER evtest1 -- Definer of event
|
||||
# DB events_test -- DB during time of event creation (use DB is not allowed in events)
|
||||
# COMMAND Connect
|
||||
# STATE NULL
|
||||
# INFO SET @evname = 'ev_sched_1823' -- Part of the event code
|
||||
#
|
||||
# State before "User sleep select 'FIRST COMMAND', sleep(0.5);"
|
||||
# ID USER HOST DB COMMAND TIME STATE INFO
|
||||
# 7 event_scheduler localhost NULL Connect 0 NULL NULL
|
||||
# !! The user is not the event creator and the DB is different. !!
|
||||
# !! This means that we must get later a change of the identity. !!
|
||||
# or
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# root localhost events_test Connect 0 checking permissions
|
||||
# or
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# root localhost events_test Connect 0 checking permissions CREATE PROCEDURE ....
|
||||
# or
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# root localhost events_test Connect 0 NULL select 'FIRST COMMAND', sleep(0.5)
|
||||
# or
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# root localhost events_test Connect 0 checking permissions select 'FIRST COMMAND'...
|
||||
# or
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# root localhost events_test Connect 0 Opening table select 'FIRST COMMAND', sleep(0.5)
|
||||
# or
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# root localhost events_test Connect 0 Locked select 'FIRST COMMAND', sleep(0.5)
|
||||
# or
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# root localhost events_test Connect 0 executing select 'FIRST COMMAND', sleep(0.5)
|
||||
#
|
||||
# State "User sleep select 'FIRST COMMAND', sleep(0.5);" reached
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# root localhost events_test Connect 0 User sleep select 'FIRST COMMAND', sleep(0.5)
|
||||
#
|
||||
# State at end (! It looks like a slow CREATE PROC !) of event code execution was sometimes
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# root localhost events_test Connect 0 logging slow query CREATE PROCEDURE `e_16407`...
|
||||
#
|
||||
# State after running some event code was sometimes
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# root localhost events_test Connect 0 logging slow query select 'SECOND COMMAND'
|
||||
#
|
||||
# State somewhere (I guess just before the event executor disappears)
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# Event thread fin <empty> events_test Connect 0 Clearing NULL
|
||||
#
|
||||
#
|
||||
# Outcome of some experiments (mleich):
|
||||
# 1. SET GLOBAL event_scheduler = 'ON';
|
||||
# Immediate observation of the processlist.
|
||||
# Effects:
|
||||
# 1. There is no guarantee to find immediate the user 'event_scheduler'
|
||||
# within information_schema.processlist.
|
||||
# 2. Some states of the user 'event_scheduler' found in PROCESSLIST:
|
||||
# USER HOST DB COMMAND TIME STATE INFO
|
||||
# event_scheduler localhost NULL Daemon 0 Waiting on empty queue NULL
|
||||
# event_scheduler localhost NULL Daemon 0 Initialized NULL
|
||||
# 2. SET GLOBAL event_scheduler = 'OFF';
|
||||
# Immediate observation of the processlist.
|
||||
# Effects:
|
||||
# 1. I never found the user 'event_scheduler' within the processlist.
|
||||
# 2. Events just during execution could be found within the processlist
|
||||
# = It does not look like "SET GLOBAL event_scheduler = 'OFF'" stops them.
|
||||
# 3. An event gets executed
|
||||
# USER evtest1 (Definer of event)
|
||||
# DB events_test (DB during time of event creation)
|
||||
# COMMAND Connect
|
||||
# STATE NULL
|
||||
# INFO SET @evname = 'ev_sched_1823' (Part of the event code)
|
||||
# ==> Everything mentioned in 1.2 above could be observed.
|
||||
#
|
||||
# Several subtests were weak because they showed random result set differences after issuing
|
||||
# "SET GLOBAL EVENT_SCHEDULER= off;".
|
||||
# 1. Reason one: There were already event executors
|
||||
# Fix: Wait till there is no event executor active ==> no session WHERE
|
||||
# - command IN ('Connect')
|
||||
# There must be no parallel session being just in "Connect" phase!
|
||||
# or
|
||||
# - user = <who created the maybe current running events>
|
||||
# There must be no parallel session of this person.
|
||||
# or user = 'event_scheduler' with command = 'Connect'
|
||||
# The session which will soon change its identity to event creator.
|
||||
#
|
||||
# 2. Reason two: If an event modifies a MyISAM table than a delayed visibilty of changes
|
||||
# might occur (concurrent_inserts=on or delayed inserts ...).
|
||||
#
|
||||
|
||||
# Can't test with embedded server that doesn't support grants
|
||||
@@ -47,6 +140,10 @@ drop database if exists mysqltest_db2;
|
||||
--enable_warnings
|
||||
create database events_test;
|
||||
use events_test;
|
||||
# We use MyISAM tables and must avoid effects (visibility of changes might be
|
||||
# delayed) caused by concurrent_insert on (default).
|
||||
set @concurrent_insert= @@global.concurrent_insert;
|
||||
set @@global.concurrent_insert = 0;
|
||||
|
||||
#
|
||||
# START: Bug #31332 --event-scheduler option misbehaving
|
||||
@@ -56,8 +153,11 @@ use events_test;
|
||||
# option with no argument in events_bugs-master.opt turns the scheduler on.
|
||||
|
||||
select * from information_schema.global_variables where variable_name like 'event_scheduler';
|
||||
# Check that the event_scheduler is really running
|
||||
--source include/running_event_scheduler.inc
|
||||
|
||||
SET GLOBAL event_scheduler = 'OFF';
|
||||
--source include/check_events_off.inc
|
||||
|
||||
#
|
||||
# END: Bug #31332
|
||||
@@ -132,8 +232,10 @@ create event e_55 on schedule every 10 hour starts 10000101000000 do drop table
|
||||
# Start - 16407: Events: Changes in sql_mode won't be taken into account
|
||||
#
|
||||
set global event_scheduler=off;
|
||||
--source include/check_events_off.inc
|
||||
delete from mysql.event;
|
||||
set global event_scheduler= on;
|
||||
--source include/running_event_scheduler.inc
|
||||
set @old_sql_mode:=@@sql_mode;
|
||||
set sql_mode=ansi;
|
||||
select get_lock('test_bug16407', 60);
|
||||
@@ -148,13 +250,13 @@ delimiter ;|
|
||||
# We wait till one event runs and hangs when trying to get the user lock.
|
||||
let $wait_condition=
|
||||
select count(*) > 0 from information_schema.processlist
|
||||
where info = 'select get_lock(\'test_bug16407\', 60)';
|
||||
where state = 'User lock' and info = 'select get_lock(\'test_bug16407\', 60)';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
--echo "Now if everything is fine the event has compiled and is locked"
|
||||
# Expect to see one session in events_test waiting for the user lock.
|
||||
select /*1*/ user, host, db, info from information_schema.processlist
|
||||
where info = 'select get_lock(\'test_bug16407\', 60)';
|
||||
where state = 'User lock' and info = 'select get_lock(\'test_bug16407\', 60)';
|
||||
select release_lock('test_bug16407');
|
||||
# Try to avoid
|
||||
# Bug#39863 events_bugs fails sporadically on pushbuild (extra processes in I_S.PROCESSLIST)
|
||||
@@ -162,23 +264,27 @@ select release_lock('test_bug16407');
|
||||
# Bug#32782 User lock hash fails to find lock
|
||||
# "various issues related to missing or incorrect return results
|
||||
# from release_lock()."
|
||||
# Therefore we check here if the event executing session disappeared or
|
||||
# Therefore we check here if the event executor is no more locked or
|
||||
# we waited >= 5 seconds for this to happen.
|
||||
let $wait_timeout= 5;
|
||||
let $wait_condition=
|
||||
select count(*) = 0 from information_schema.processlist
|
||||
where info = 'select get_lock(\'test_bug16407\', 60)';
|
||||
where state = 'User lock' and info = 'select get_lock(\'test_bug16407\', 60)';
|
||||
--source include/wait_condition.inc
|
||||
if (!`$wait_condition`)
|
||||
{
|
||||
--echo ERROR: There must be no session with info = 'select get_lock('test_bug16407', 60) within the processlist.
|
||||
--echo ERROR: There must be no session with
|
||||
--echo state = 'User lock' and info = 'select get_lock('test_bug16407', 60)
|
||||
--echo within the processlist.
|
||||
--echo We probably hit Bug#32782 User lock hash fails to find lock
|
||||
eval select * from information_schema.processlist;
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--echo Abort
|
||||
exit;
|
||||
}
|
||||
|
||||
set global event_scheduler= off;
|
||||
# Wait till the event scheduler and all event executors have finished their work.
|
||||
--source include/check_events_off.inc
|
||||
|
||||
select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name;
|
||||
--echo "Let's check whether we change the sql_mode on ALTER EVENT"
|
||||
@@ -191,9 +297,10 @@ set sql_mode="ansi";
|
||||
select get_lock('ee_16407_2', 60);
|
||||
|
||||
set global event_scheduler= 1;
|
||||
--source include/running_event_scheduler.inc
|
||||
--echo "Another sql_mode test"
|
||||
set sql_mode="traditional";
|
||||
create table events_smode_test(ev_name char(10), a date) engine=myisam;
|
||||
create table events_smode_test(ev_name char(10), a date);
|
||||
--echo "This should never insert something"
|
||||
delimiter |;
|
||||
create event ee_16407_2 on schedule every 60 second do
|
||||
@@ -203,7 +310,7 @@ begin
|
||||
insert into events_test.events_smode_test values('ee_16407_2','1980-19-02');
|
||||
end|
|
||||
--error ER_TRUNCATED_WRONG_VALUE
|
||||
insert into events_smode_test values ('test','1980-19-02')|
|
||||
insert into events_test.events_smode_test values ('test','1980-19-02')|
|
||||
--echo "This is ok"
|
||||
create event ee_16407_3 on schedule every 60 second do
|
||||
begin
|
||||
@@ -223,13 +330,20 @@ end|
|
||||
delimiter ;|
|
||||
select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name;
|
||||
|
||||
# We wait till we have three event executors waiting for the removal of the lock.
|
||||
let $wait_condition=
|
||||
select count(*) = 3 from information_schema.processlist
|
||||
where info = 'select get_lock(\'ee_16407_2\', 60)';
|
||||
where state = 'User lock' and info = 'select get_lock(\'ee_16407_2\', 60)';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
# There is an extreme low risk that an additional event execution is just coming
|
||||
# up because
|
||||
# - the events have to be started every 60 seconds.
|
||||
# - we are just after event creation + waiting for seeing 3 locked
|
||||
# We expect to see three event executors in state 'User lock'.
|
||||
select /*2*/ user, host, db, info from information_schema.processlist
|
||||
where info = 'select get_lock(\'ee_16407_2\', 60)';
|
||||
where state = 'User lock' and info = 'select get_lock(\'ee_16407_2\', 60)';
|
||||
|
||||
select release_lock('ee_16407_2');
|
||||
|
||||
# Try to avoid
|
||||
@@ -244,13 +358,37 @@ let $wait_timeout= 5;
|
||||
let $wait_condition=
|
||||
select count(*) = 0
|
||||
from information_schema.processlist
|
||||
where info = 'select get_lock(\'ee_16407_2\', 60)';
|
||||
where state = 'User lock' and info = 'select get_lock(\'ee_16407_2\', 60)';
|
||||
--source include/wait_condition.inc
|
||||
if (!`$wait_condition`)
|
||||
{
|
||||
--echo ERROR: There must be no session with
|
||||
--echo state = 'User lock' and info = 'select get_lock('test_bug16407_2', 60)
|
||||
--echo within the processlist.
|
||||
--echo We probably hit Bug#32782 User lock hash fails to find lock
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--echo Abort
|
||||
exit;
|
||||
}
|
||||
|
||||
# We expect to see no event executors in state 'User lock'.
|
||||
if(!$fixed_bug41925)
|
||||
{
|
||||
--disable_warnings
|
||||
}
|
||||
select /*3*/ user, host, db, info from information_schema.processlist
|
||||
where info = 'select get_lock(\'ee_16407_2\', 60)';
|
||||
where state = 'User lock' and info = 'select get_lock(\'ee_16407_2\', 60)';
|
||||
if(!$fixed_bug41925)
|
||||
{
|
||||
--enable_warnings
|
||||
}
|
||||
|
||||
set global event_scheduler= off;
|
||||
select * from events_smode_test order by ev_name, a;
|
||||
# Wait till the event scheduler and all event executors have finished their work.
|
||||
# Without this the next queries will give unstable results.
|
||||
--source include/check_events_off.inc
|
||||
|
||||
select * from events_test.events_smode_test order by ev_name, a;
|
||||
--echo "OK, last check before we drop them"
|
||||
select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name;
|
||||
drop event ee_16407_2;
|
||||
@@ -259,11 +397,12 @@ drop event ee_16407_4;
|
||||
|
||||
|
||||
--echo "And now one last test regarding sql_mode and call of SP from an event"
|
||||
delete from events_smode_test;
|
||||
delete from events_test.events_smode_test;
|
||||
set sql_mode='ansi';
|
||||
select get_lock('ee_16407_5', 60);
|
||||
|
||||
set global event_scheduler= on;
|
||||
--source include/running_event_scheduler.inc
|
||||
|
||||
set sql_mode='traditional';
|
||||
delimiter |;
|
||||
@@ -286,34 +425,46 @@ delimiter ;|
|
||||
|
||||
let $wait_condition=
|
||||
select count(*) = 2 from information_schema.processlist
|
||||
where info = 'select get_lock(\'ee_16407_5\', 60)';
|
||||
where state = 'User lock' and info = 'select get_lock(\'ee_16407_5\', 60)';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
--echo "Should have 2 locked processes"
|
||||
select /*4*/ user, host, db, info from information_schema.processlist
|
||||
where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%')
|
||||
order by info;
|
||||
where state = 'User lock' and info = 'select get_lock(\'ee_16407_5\', 60)';
|
||||
|
||||
select release_lock('ee_16407_5');
|
||||
|
||||
let $wait_condition=
|
||||
select count(*) = 1 and user = 'event_scheduler' and info is null
|
||||
from information_schema.processlist
|
||||
where (command!='Daemon' || user='event_scheduler')
|
||||
and (info is null or info not like '%processlist%');
|
||||
select count(*) = 0 from information_schema.processlist
|
||||
where state = 'User lock' and info = 'select get_lock(\'ee_16407_5\', 60)';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
--echo "Should have 0 processes locked"
|
||||
if(!$fixed_bug41925)
|
||||
{
|
||||
--disable_warnings
|
||||
}
|
||||
select /*5*/ user, host, db, info from information_schema.processlist
|
||||
where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%')
|
||||
order by info;
|
||||
select * from events_smode_test order by ev_name, a;
|
||||
where state = 'User lock' and info = 'select get_lock(\'ee_16407_5\', 60)';
|
||||
if(!$fixed_bug41925)
|
||||
{
|
||||
--enable_warnings
|
||||
}
|
||||
|
||||
# Wait till all event executors have finished their work, so that we can be sure
|
||||
# that their changes to events_smode_test are done.
|
||||
--source include/no_running_events.inc
|
||||
|
||||
select * from events_test.events_smode_test order by ev_name, a;
|
||||
--echo "And here we check one more time before we drop the events"
|
||||
select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name;
|
||||
|
||||
drop event ee_16407_5;
|
||||
drop event ee_16407_6;
|
||||
drop procedure ee_16407_5_pendant;
|
||||
drop procedure ee_16407_6_pendant;
|
||||
set global event_scheduler= off;
|
||||
--source include/check_events_off.inc
|
||||
drop table events_smode_test;
|
||||
set sql_mode=@old_sql_mode;
|
||||
#
|
||||
@@ -324,6 +475,7 @@ set sql_mode=@old_sql_mode;
|
||||
# START - 18897: Events: unauthorized action possible with alter event rename
|
||||
#
|
||||
set global event_scheduler=off;
|
||||
--source include/check_events_off.inc
|
||||
--disable_warnings
|
||||
delete from mysql.user where User like 'mysqltest_%';
|
||||
delete from mysql.db where User like 'mysqltest_%';
|
||||
@@ -409,6 +561,7 @@ create function f22830 () returns int return 5;
|
||||
|
||||
select get_lock('ee_22830', 60);
|
||||
set global event_scheduler=on;
|
||||
--source include/running_event_scheduler.inc
|
||||
|
||||
delimiter |;
|
||||
create procedure p22830_wait()
|
||||
@@ -456,6 +609,7 @@ let $wait_condition=
|
||||
--source include/wait_condition.inc
|
||||
|
||||
set global event_scheduler=off;
|
||||
--source include/check_events_off.inc
|
||||
select event_name, event_definition, interval_value, interval_field from information_schema.events order by event_name;
|
||||
drop procedure p22830_wait;
|
||||
drop function f22830;
|
||||
@@ -537,6 +691,7 @@ DROP USER mysqltest_u1@localhost;
|
||||
# For the actual tests of time zones please see events_time_zone.test
|
||||
#
|
||||
SET GLOBAL EVENT_SCHEDULER= OFF;
|
||||
--source include/check_events_off.inc
|
||||
SET @save_time_zone= @@TIME_ZONE;
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
@@ -749,6 +904,7 @@ let $engine=MyISAM;
|
||||
USE test;
|
||||
SHOW GRANTS FOR CURRENT_USER;
|
||||
SET GLOBAL event_scheduler = ON;
|
||||
--source include/running_event_scheduler.inc
|
||||
eval
|
||||
CREATE TABLE events_test.event_log
|
||||
(id int KEY AUTO_INCREMENT, ev_nm char(40), ev_cnt int, ev_tm timestamp)
|
||||
@@ -817,12 +973,14 @@ disconnect e1;
|
||||
DROP EVENT events_test.ev_sched_1823;
|
||||
DROP TABLE events_test.event_log;
|
||||
SET GLOBAL event_scheduler = OFF;
|
||||
--source include/check_events_off.inc
|
||||
|
||||
|
||||
#
|
||||
# Bug#28641 CREATE EVENT with '2038.01.18 03:00:00' let server crash.
|
||||
#
|
||||
SET GLOBAL event_scheduler= ON;
|
||||
--source include/running_event_scheduler.inc
|
||||
DELIMITER |;
|
||||
CREATE EVENT bug28641 ON SCHEDULE AT '2038.01.18 03:00:00'
|
||||
DO BEGIN
|
||||
@@ -831,6 +989,7 @@ END;|
|
||||
|
||||
DELIMITER ;|
|
||||
SET GLOBAL event_scheduler= OFF;
|
||||
--source include/check_events_off.inc
|
||||
DROP EVENT bug28641;
|
||||
|
||||
###########################################################################
|
||||
@@ -955,6 +1114,7 @@ SET GLOBAL READ_ONLY = 1;
|
||||
--echo
|
||||
|
||||
SET GLOBAL EVENT_SCHEDULER = ON;
|
||||
--source include/running_event_scheduler.inc
|
||||
|
||||
--echo
|
||||
|
||||
@@ -980,6 +1140,7 @@ let $wait_condition =
|
||||
--echo
|
||||
|
||||
SET GLOBAL EVENT_SCHEDULER = OFF;
|
||||
--source include/check_events_off.inc
|
||||
|
||||
--echo
|
||||
|
||||
@@ -1056,14 +1217,15 @@ drop event e1;
|
||||
#
|
||||
###########################################################################
|
||||
|
||||
let $wait_condition=
|
||||
select count(*) = 0 from information_schema.processlist
|
||||
where db='events_test' and command = 'Connect' and user=current_user();
|
||||
--source include/wait_condition.inc
|
||||
# Ensure that all event executors have finished their work and cannot harm
|
||||
# the next test.
|
||||
--source include/no_running_events.inc
|
||||
|
||||
DROP DATABASE events_test;
|
||||
# Restore the original state (option with no argument in events_bugs-master.opt
|
||||
# turns the scheduler on).
|
||||
SET GLOBAL event_scheduler = 'ON';
|
||||
# Restore the original state i.e to how it was when test started
|
||||
# (option with no argument in events_bugs-master.opt turns the scheduler on).
|
||||
SET GLOBAL event_scheduler= 'ON';
|
||||
--source include/running_event_scheduler.inc
|
||||
SET @@global.concurrent_insert= @concurrent_insert;
|
||||
|
||||
# THIS MUST BE THE LAST LINE in this file.
|
||||
|
||||
1
mysql-test/t/events_restart-master.opt
Normal file
1
mysql-test/t/events_restart-master.opt
Normal file
@@ -0,0 +1 @@
|
||||
--event-scheduler
|
||||
106
mysql-test/t/events_restart.test
Normal file
106
mysql-test/t/events_restart.test
Normal file
@@ -0,0 +1,106 @@
|
||||
# Can't test with embedded server that doesn't support grants
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
#
|
||||
# Test that when the server is restarted, it checks mysql.event table,
|
||||
# and disables the scheduler if it's not up to date.
|
||||
#
|
||||
|
||||
# Switch off the scheduler for now.
|
||||
set global event_scheduler=off;
|
||||
|
||||
--disable_warnings
|
||||
drop database if exists events_test;
|
||||
--enable_warnings
|
||||
create database events_test;
|
||||
use events_test;
|
||||
create table execution_log(name char(10));
|
||||
|
||||
create event abc1 on schedule every 1 second do
|
||||
insert into execution_log value('abc1');
|
||||
create event abc2 on schedule every 1 second do
|
||||
insert into execution_log value('abc2');
|
||||
create event abc3 on schedule every 1 second do
|
||||
insert into execution_log value('abc3');
|
||||
#
|
||||
# There are various conditions when a server would regard mysql.event
|
||||
# table as damaged:
|
||||
# - the table has more column than specified in the compiled in value, but
|
||||
# the version of the server which created the table is the same
|
||||
# - the column count in the table is less than the compiled in value
|
||||
# - some column has an incompatible type specification (for what is an
|
||||
# incompatible type specification please refer to the comments in the source
|
||||
#
|
||||
# Unfortunately, in order to test a condition, we need to restart the
|
||||
# server. Therefore, here we test only one simple case: changing the data
|
||||
# type of the 'body' field to blob.
|
||||
#
|
||||
# First, let's do a backup to not depend on actual definition of mysql.event
|
||||
create table event_like like mysql.event;
|
||||
insert into event_like select * from mysql.event;
|
||||
# Now let's alter the table and restart the server
|
||||
alter table mysql.event
|
||||
change column body body longtext character set utf8 collate utf8_bin;
|
||||
--echo "Now we restart the server"
|
||||
|
||||
--source include/restart_mysqld.inc
|
||||
|
||||
use events_test;
|
||||
# Event scheduler should be disabled: the system tables are damaged
|
||||
select @@event_scheduler;
|
||||
# Try various Event Scheduler operation and check the output.
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
show events;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
select event_name from information_schema.events;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
show create event intact_check;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
drop event no_such_event;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
create event intact_check_1 on schedule every 5 hour do select 5;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
alter event intact_check_1 on schedule every 8 hour do select 8;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
alter event intact_check_1 rename to intact_check_2;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
drop event intact_check_1;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
drop event intact_check_2;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
drop event intact_check;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
set global event_scheduler=on;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
set global event_scheduler=off;
|
||||
show variables like 'event_scheduler';
|
||||
--echo Make sure that we still can create and drop databases,
|
||||
--echo and no warnings are produced.
|
||||
drop database if exists mysqltest_database_not_exists;
|
||||
create database mysqltest_db1;
|
||||
drop database mysqltest_db1;
|
||||
--echo Restore the original mysql.event table
|
||||
drop table mysql.event;
|
||||
rename table event_like to mysql.event;
|
||||
--echo Now let's restart the server again
|
||||
|
||||
--source include/restart_mysqld.inc
|
||||
|
||||
# We need this file primarily to make sure that the scheduler is restarted
|
||||
# and enabled after we have restored mysql.event table.
|
||||
# This is the final step of the "cleanup".
|
||||
#
|
||||
# Make sure also that events are executed OK after restart, just in case.
|
||||
use events_test;
|
||||
# Make sure the scheduler was started successfully
|
||||
select @@event_scheduler;
|
||||
let $wait_condition=select count(distinct name)=3 from execution_log;
|
||||
--source include/wait_condition.inc
|
||||
drop table execution_log;
|
||||
# Will drop all events
|
||||
drop database events_test;
|
||||
|
||||
let $wait_condition=
|
||||
select count(*) = 0 from information_schema.processlist
|
||||
where db='events_test' and command = 'Connect' and user=current_user();
|
||||
--source include/wait_condition.inc
|
||||
@@ -1,43 +0,0 @@
|
||||
# Can't test with embedded server that doesn't support grants
|
||||
-- source include/not_embedded.inc
|
||||
#
|
||||
# Test that when the server is restarted, it checks mysql.event table,
|
||||
# and disables the scheduler if it's not up to date.
|
||||
#
|
||||
|
||||
# Switch off the scheduler for now.
|
||||
set global event_scheduler=off;
|
||||
|
||||
--disable_warnings
|
||||
drop database if exists events_test;
|
||||
--enable_warnings
|
||||
create database events_test;
|
||||
use events_test;
|
||||
create table execution_log(name char(10));
|
||||
|
||||
create event abc1 on schedule every 1 second do
|
||||
insert into execution_log value('abc1');
|
||||
create event abc2 on schedule every 1 second do
|
||||
insert into execution_log value('abc2');
|
||||
create event abc3 on schedule every 1 second do
|
||||
insert into execution_log value('abc3');
|
||||
#
|
||||
# There are various conditions when a server would regard mysql.event
|
||||
# table as damaged:
|
||||
# - the table has more column than specified in the compiled in value, but
|
||||
# the version of the server which created the table is the same
|
||||
# - the column count in the table is less than the compiled in value
|
||||
# - some column has an incompatible type specification (for what is an
|
||||
# incompatible type specification please refer to the comments in the source
|
||||
#
|
||||
# Unfortunately, in order to test a condition, we need to restart the
|
||||
# server. Therefore, here we test only one simple case: changing the data
|
||||
# type of the 'body' field to blob.
|
||||
#
|
||||
# First, let's do a backup to not depend on actual definition of mysql.event
|
||||
create table event_like like mysql.event;
|
||||
insert into event_like select * from mysql.event;
|
||||
# Now let's alter the table and restart the server
|
||||
alter table mysql.event
|
||||
change column body body longtext character set utf8 collate utf8_bin;
|
||||
--echo "Now we restart the server"
|
||||
@@ -1 +0,0 @@
|
||||
--event-scheduler=on
|
||||
@@ -1,41 +0,0 @@
|
||||
# Can't test with embedded server that doesn't support grants
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
use events_test;
|
||||
# Event scheduler should be disabled: the system tables are damaged
|
||||
select @@event_scheduler;
|
||||
# Try various Event Scheduler operation and check the output.
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
show events;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
select event_name from information_schema.events;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
show create event intact_check;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
drop event no_such_event;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
create event intact_check_1 on schedule every 5 hour do select 5;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
alter event intact_check_1 on schedule every 8 hour do select 8;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
alter event intact_check_1 rename to intact_check_2;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
drop event intact_check_1;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
drop event intact_check_2;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
drop event intact_check;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
set global event_scheduler=on;
|
||||
--error ER_EVENTS_DB_ERROR
|
||||
set global event_scheduler=off;
|
||||
show variables like 'event_scheduler';
|
||||
--echo Make sure that we still can create and drop databases,
|
||||
--echo and no warnings are produced.
|
||||
drop database if exists mysqltest_database_not_exists;
|
||||
create database mysqltest_db1;
|
||||
drop database mysqltest_db1;
|
||||
--echo Restore the original mysql.event table
|
||||
drop table mysql.event;
|
||||
rename table event_like to mysql.event;
|
||||
--echo Now let's restart the server again
|
||||
@@ -1 +0,0 @@
|
||||
--event-scheduler=1
|
||||
@@ -1,21 +0,0 @@
|
||||
# Can't test with embedded server that doesn't support grants
|
||||
-- source include/not_embedded.inc
|
||||
#
|
||||
# We need this file primarily to make sure that the scheduler is restarted
|
||||
# and enabled after we have restored mysql.event table.
|
||||
# This is the final step of the "cleanup".
|
||||
#
|
||||
# Make sure also that events are executed OK after restart, just in case.
|
||||
use events_test;
|
||||
# Make sure the scheduler was started successfully
|
||||
select @@event_scheduler;
|
||||
let $wait_condition=select count(distinct name)=3 from execution_log;
|
||||
--source include/wait_condition.inc
|
||||
drop table execution_log;
|
||||
# Will drop all events
|
||||
drop database events_test;
|
||||
|
||||
let $wait_condition=
|
||||
select count(*) = 0 from information_schema.processlist
|
||||
where db='events_test' and command = 'Connect' and user=current_user();
|
||||
--source include/wait_condition.inc
|
||||
@@ -58,8 +58,6 @@ ON COMPLETION PRESERVE
|
||||
DO
|
||||
INSERT INTO table_4 VALUES (1);
|
||||
|
||||
# Wait for the events to fire and check the data afterwards
|
||||
|
||||
# Let event_1 insert at least 4 records into the table
|
||||
let $wait_condition=select count(*) >= 4 from table_1;
|
||||
--source include/wait_condition.inc
|
||||
@@ -85,25 +83,13 @@ let $wait_condition=select count(*) = 0 from information_schema.events
|
||||
where event_name='event_4' and status='enabled';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
let $wait_condition=SELECT SUM(a) >= 4 FROM table_1;
|
||||
source include/wait_condition.inc;
|
||||
SELECT IF(SUM(a) >= 4, 'OK', 'ERROR') FROM table_1;
|
||||
|
||||
# In case of a testing box under heavy load it cannot be guaranteed that
|
||||
# it is really often enough checked if event_2 has to be executed.
|
||||
# -> Bug#39854 events_scheduling fails sporadically on pushbuild
|
||||
# Therefore we lowered here the original expectation of 5 to 4.
|
||||
let $wait_condition=SELECT SUM(a) >= 4 FROM table_2;
|
||||
source include/wait_condition.inc;
|
||||
SELECT IF(SUM(a) >= 4, 'OK', 'ERROR') FROM table_2;
|
||||
|
||||
let $wait_condition=SELECT SUM(a) >= 1 FROM table_3;
|
||||
source include/wait_condition.inc;
|
||||
SELECT IF(SUM(a) >= 1, 'OK', 'ERROR') FROM table_3;
|
||||
|
||||
let $wait_condition=SELECT SUM(a) >= 1 FROM table_4;
|
||||
source include/wait_condition.inc;
|
||||
SELECT IF(SUM(a) >= 1, 'OK', 'ERROR') FROM table_4;
|
||||
#
|
||||
# On a busy system the scheduler may skip execution of events,
|
||||
# we can't reliably expect that the data in a table to be modified
|
||||
# by an event will be exact. Thus we do not SELECT from the tables
|
||||
# in this test. See also
|
||||
# Bug#39854 events_scheduling fails sporadically on pushbuild
|
||||
#
|
||||
|
||||
SELECT IF(TIME_TO_SEC(TIMEDIFF(ENDS,STARTS))=6, 'OK', 'ERROR')
|
||||
FROM INFORMATION_SCHEMA.EVENTS
|
||||
|
||||
@@ -41,12 +41,19 @@ while ($i)
|
||||
error 0,1436 //
|
||||
eval $query_head 0 $query_tail//
|
||||
|
||||
if ($mysql_errno != 1436)
|
||||
if ($mysql_errno)
|
||||
{
|
||||
# We reached the place where we reported an error about the stack limit,
|
||||
# and we successfully returned the error. That means that at the stack
|
||||
# limit, we still have enough space reserved to report an error.
|
||||
let $i = 1//
|
||||
|
||||
# Check that mysql_errno is 1436
|
||||
if (`select $mysql_errno != 1436`)
|
||||
{
|
||||
die Wrong error triggered, expected 1436 but got $mysql_errno//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
# Multiplying by three stack frames should be fine enough resolution.
|
||||
|
||||
@@ -1,179 +0,0 @@
|
||||
############## 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 #
|
||||
########################################################################
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,60 +0,0 @@
|
||||
# should work with embedded server after mysqltest is fixed
|
||||
-- source include/not_embedded.inc
|
||||
source include/have_archive.inc;
|
||||
source include/federated.inc;
|
||||
|
||||
|
||||
connection slave;
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS federated.archive_table;
|
||||
--enable_warnings
|
||||
|
||||
CREATE TABLE federated.archive_table (
|
||||
`id` int(4) NOT NULL,
|
||||
`name` varchar(54) default NULL
|
||||
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1;
|
||||
|
||||
|
||||
connection master;
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
--enable_warnings
|
||||
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval CREATE TABLE federated.t1 (
|
||||
`id` int(4) NOT NULL,
|
||||
`name` varchar(54) default NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/archive_table';
|
||||
|
||||
INSERT INTO federated.t1 (id, name) VALUES (1, 'foo');
|
||||
INSERT INTO federated.t1 (id, name) VALUES (2, 'bar');
|
||||
|
||||
SELECT * FROM federated.t1;
|
||||
|
||||
--error 1296
|
||||
DELETE FROM federated.t1 WHERE id = 1;
|
||||
|
||||
SELECT * FROM federated.t1;
|
||||
|
||||
|
||||
--error 1296
|
||||
UPDATE federated.t1 SET name='baz' WHERE id = 1;
|
||||
|
||||
SELECT * FROM federated.t1;
|
||||
|
||||
|
||||
# --error 1296
|
||||
# TRUNCATE federated.t1;
|
||||
#
|
||||
# SELECT * from federated.t1;
|
||||
|
||||
DROP TABLE federated.t1;
|
||||
connection slave;
|
||||
DROP TABLE federated.archive_table;
|
||||
|
||||
|
||||
source include/federated_cleanup.inc;
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
# should work with embedded server after mysqltest is fixed
|
||||
-- source include/not_embedded.inc
|
||||
source include/federated.inc;
|
||||
|
||||
|
||||
connection slave;
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS federated.bug_13118_table;
|
||||
--enable_warnings
|
||||
|
||||
CREATE TABLE federated.bug_13118_table (
|
||||
`foo` integer,
|
||||
`bar` integer
|
||||
);
|
||||
|
||||
|
||||
connection master;
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
--enable_warnings
|
||||
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval CREATE TABLE federated.t1 (
|
||||
`foo` integer,
|
||||
`bar` integer
|
||||
) ENGINE="FEDERATED"
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/bug_13118_table';
|
||||
|
||||
SELECT * from federated.t1;
|
||||
|
||||
INSERT INTO federated.t1 VALUES (1,1);
|
||||
SELECT * FROM federated.t1;
|
||||
|
||||
INSERT INTO federated.t1 VALUES (1,1);
|
||||
SELECT * FROM federated.t1;
|
||||
|
||||
|
||||
DROP TABLE federated.t1;
|
||||
connection slave;
|
||||
DROP TABLE federated.bug_13118_table;
|
||||
|
||||
|
||||
source include/federated_cleanup.inc;
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
--source include/have_bug25714.inc
|
||||
source include/federated.inc;
|
||||
|
||||
connection master;
|
||||
# Disable concurrent inserts to avoid test failures when reading
|
||||
# data from concurrent connections (insert might return before
|
||||
# the data is actually in the table).
|
||||
SET @OLD_MASTER_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= 0;
|
||||
|
||||
connection slave;
|
||||
SET @OLD_SLAVE_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= 0;
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS federated.bug_13118_table;
|
||||
--enable_warnings
|
||||
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int auto_increment primary key,
|
||||
`value` int
|
||||
) ENGINE=MyISAM;
|
||||
INSERT INTO federated.t1 SET value=1;
|
||||
INSERT INTO federated.t1 SET value=2;
|
||||
INSERT INTO federated.t1 SET value=2;
|
||||
|
||||
connection master;
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
--enable_warnings
|
||||
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval CREATE TABLE federated.t1 (
|
||||
`id` int auto_increment primary key,
|
||||
`value` int
|
||||
) ENGINE=FEDERATED
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1';
|
||||
|
||||
SELECT * from federated.t1;
|
||||
|
||||
INSERT INTO federated.t1 SET value=4;
|
||||
|
||||
SELECT LAST_INSERT_ID();
|
||||
|
||||
--exec $MYSQL_BUG25714 $SLAVE_MYPORT
|
||||
--exec $MYSQL_BUG25714 $MASTER_MYPORT
|
||||
|
||||
SELECT * from federated.t1;
|
||||
|
||||
DROP TABLE federated.t1;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT;
|
||||
connection slave;
|
||||
DROP TABLE federated.t1;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT;
|
||||
|
||||
|
||||
source include/federated_cleanup.inc;
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
--innodb
|
||||
@@ -1,39 +0,0 @@
|
||||
# NOTE: Keep any include/ files that will kill / skip a test BEFORE any others
|
||||
# having federated.inc before have_innodb.inc allows for an orphaned database
|
||||
# that can cause other tests to fail.
|
||||
# See Bug #40645 Test main.federated_innodb does not always clean up after itself
|
||||
|
||||
source include/have_innodb.inc;
|
||||
source include/federated.inc;
|
||||
|
||||
#
|
||||
# Bug#25513 Federated transaction failures
|
||||
#
|
||||
connection slave;
|
||||
create table federated.t1 (a int primary key, b varchar(64))
|
||||
engine=myisam;
|
||||
connection master;
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval create table federated.t1 (a int primary key, b varchar(64))
|
||||
engine=federated
|
||||
connection='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1';
|
||||
|
||||
--error ER_DUP_KEY
|
||||
insert into federated.t1 values (1,"Larry"), (2,"Curly"), (1,"Moe");
|
||||
select * from federated.t1;
|
||||
|
||||
connection slave;
|
||||
truncate federated.t1;
|
||||
alter table federated.t1 engine=innodb;
|
||||
connection master;
|
||||
|
||||
--error ER_DUP_KEY
|
||||
insert into federated.t1 values (1,"Larry"), (2,"Curly"), (1,"Moe");
|
||||
select * from federated.t1;
|
||||
|
||||
drop table federated.t1;
|
||||
connection slave;
|
||||
drop table federated.t1;
|
||||
|
||||
|
||||
source include/federated_cleanup.inc;
|
||||
@@ -1,337 +0,0 @@
|
||||
# WL #3031 This test tests the new servers table as well as
|
||||
# if federated can utilise the servers table
|
||||
# should work with embedded server after mysqltest is fixed
|
||||
-- source include/not_embedded.inc
|
||||
-- source include/federated.inc
|
||||
-- source include/big_test.inc
|
||||
|
||||
connection slave;
|
||||
create database first_db;
|
||||
create database second_db;
|
||||
|
||||
use first_db;
|
||||
|
||||
DROP TABLE IF EXISTS first_db.t1;
|
||||
CREATE TABLE first_db.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
DEFAULT CHARSET=latin1;
|
||||
|
||||
DROP TABLE IF EXISTS first_db.t2;
|
||||
CREATE TABLE first_db.t2 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
DEFAULT CHARSET=latin1;
|
||||
|
||||
use second_db;
|
||||
DROP TABLE IF EXISTS second_db.t1;
|
||||
CREATE TABLE second_db.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
DEFAULT CHARSET=latin1;
|
||||
|
||||
DROP TABLE IF EXISTS second_db.t2;
|
||||
CREATE TABLE second_db.t2 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
DEFAULT CHARSET=latin1;
|
||||
|
||||
connection master;
|
||||
|
||||
drop server if exists 'server_one';
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval create server 'server_one' foreign data wrapper 'mysql' options
|
||||
(HOST '127.0.0.1',
|
||||
DATABASE 'first_db',
|
||||
USER 'root',
|
||||
PASSWORD '',
|
||||
PORT $SLAVE_MYPORT,
|
||||
SOCKET '',
|
||||
OWNER 'root');
|
||||
|
||||
drop server if exists 'server_two';
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval create server 'server_two' foreign data wrapper 'mysql' options
|
||||
(HOST '127.0.0.1',
|
||||
DATABASE 'second_db',
|
||||
USER 'root',
|
||||
PASSWORD '',
|
||||
PORT $SLAVE_MYPORT,
|
||||
SOCKET '',
|
||||
OWNER 'root');
|
||||
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval select * from mysql.servers;
|
||||
|
||||
DROP TABLE IF EXISTS federated.old;
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval CREATE TABLE federated.old (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/first_db/t1';
|
||||
|
||||
INSERT INTO federated.old (id, name) values (1, 'federated.old-> first_db.t1, url format');
|
||||
|
||||
SELECT * FROM federated.old;
|
||||
|
||||
DROP TABLE IF EXISTS federated.old2;
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval CREATE TABLE federated.old2 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/first_db/t2';
|
||||
|
||||
INSERT INTO federated.old2 (id, name) values (1, 'federated.old2-> first_db.t2, url format');
|
||||
SELECT * FROM federated.old2;
|
||||
|
||||
DROP TABLE IF EXISTS federated.urldb2t1;
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval CREATE TABLE federated.urldb2t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/second_db/t1';
|
||||
INSERT INTO federated.urldb2t1 (id, name) values (1, 'federated.urldb2t1 -> second_db.t1, url format');
|
||||
SELECT * FROM federated.urldb2t1;
|
||||
|
||||
DROP TABLE IF EXISTS federated.urldb2t2;
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval CREATE TABLE federated.urldb2t2 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/second_db/t2';
|
||||
INSERT INTO federated.urldb2t2 (id, name) values (1, 'federated.urldb2t2 -> second_db.t2, url format');
|
||||
SELECT * FROM federated.urldb2t2;
|
||||
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='server_one';
|
||||
|
||||
INSERT INTO federated.t1 (id, name) values (1, 'server_one, new scheme, first_db.t1');
|
||||
|
||||
SELECT * FROM federated.t1;
|
||||
|
||||
DROP TABLE IF EXISTS federated.whatever;
|
||||
CREATE TABLE federated.whatever (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='server_one/t1';
|
||||
INSERT INTO federated.whatever (id, name) values (1, 'server_one, new scheme, whatever, first_db.t1');
|
||||
SELECT * FROM federated.whatever;
|
||||
|
||||
ALTER SERVER 'server_one' options(DATABASE 'second_db');
|
||||
|
||||
# FLUSH TABLES is now unneccessary
|
||||
|
||||
INSERT INTO federated.t1 (id, name) values (1, 'server_two, new scheme, second_db.t1');
|
||||
SELECT * FROM federated.t1;
|
||||
|
||||
INSERT INTO federated.whatever (id, name) values (1, 'server_two, new scheme, whatever, second_db.t1');
|
||||
SELECT * FROM federated.whatever;
|
||||
|
||||
drop table federated.t1;
|
||||
|
||||
drop server 'server_one';
|
||||
drop server 'server_two';
|
||||
select * from mysql.servers;
|
||||
|
||||
connection slave;
|
||||
drop table first_db.t1;
|
||||
drop table second_db.t1;
|
||||
drop database first_db;
|
||||
drop database second_db;
|
||||
|
||||
#
|
||||
# Bug#25671 - CREATE/DROP/ALTER SERVER should require privileges
|
||||
#
|
||||
# Changes to SERVER declarations should require SUPER privilege.
|
||||
# Based upon test case by Giuseppe Maxia
|
||||
|
||||
create database db_legitimate;
|
||||
create database db_bogus;
|
||||
|
||||
use db_legitimate;
|
||||
CREATE TABLE db_legitimate.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
);
|
||||
INSERT INTO db_legitimate.t1 VALUES ('1','this is legitimate');
|
||||
|
||||
use db_bogus;
|
||||
CREATE TABLE db_bogus.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
;
|
||||
INSERT INTO db_bogus.t1 VALUES ('2','this is bogus');
|
||||
|
||||
connection master;
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval create server 's1' foreign data wrapper 'mysql' options
|
||||
(HOST '127.0.0.1',
|
||||
DATABASE 'db_legitimate',
|
||||
USER 'root',
|
||||
PASSWORD '',
|
||||
PORT $SLAVE_MYPORT,
|
||||
SOCKET '',
|
||||
OWNER 'root');
|
||||
|
||||
create user guest_select@localhost;
|
||||
grant select on federated.* to guest_select@localhost;
|
||||
|
||||
create user guest_super@localhost;
|
||||
grant select,SUPER,RELOAD on *.* to guest_super@localhost;
|
||||
|
||||
create user guest_usage@localhost;
|
||||
grant usage on *.* to guest_usage@localhost;
|
||||
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
) ENGINE = FEDERATED CONNECTION = 's1';
|
||||
|
||||
select * from federated.t1;
|
||||
|
||||
connect (conn_select,127.0.0.1,guest_select,,federated,$MASTER_MYPORT);
|
||||
connect (conn_usage,127.0.0.1,guest_usage,,,$MASTER_MYPORT);
|
||||
connect (conn_super,127.0.0.1,guest_super,,,$MASTER_MYPORT);
|
||||
|
||||
connection conn_select;
|
||||
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
||||
alter server s1 options (database 'db_bogus');
|
||||
|
||||
connection master;
|
||||
flush tables;
|
||||
select * from federated.t1;
|
||||
|
||||
connection conn_usage;
|
||||
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
||||
alter server s1 options (database 'db_bogus');
|
||||
|
||||
connection master;
|
||||
flush tables;
|
||||
select * from federated.t1;
|
||||
|
||||
connection conn_super;
|
||||
alter server s1 options (database 'db_bogus');
|
||||
|
||||
connection master;
|
||||
flush tables;
|
||||
select * from federated.t1;
|
||||
|
||||
connection conn_select;
|
||||
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
||||
drop server if exists 's1';
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
||||
eval create server 's1' foreign data wrapper 'mysql' options
|
||||
(HOST '127.0.0.1',
|
||||
DATABASE 'db_legitimate',
|
||||
USER 'root',
|
||||
PASSWORD '',
|
||||
PORT $SLAVE_MYPORT,
|
||||
SOCKET '',
|
||||
OWNER 'root');
|
||||
|
||||
connection conn_super;
|
||||
drop server 's1';
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval create server 's1' foreign data wrapper 'mysql' options
|
||||
(HOST '127.0.0.1',
|
||||
DATABASE 'db_legitimate',
|
||||
USER 'root',
|
||||
PASSWORD '',
|
||||
PORT $SLAVE_MYPORT,
|
||||
SOCKET '',
|
||||
OWNER 'root');
|
||||
|
||||
connection master;
|
||||
flush tables;
|
||||
select * from federated.t1;
|
||||
|
||||
# clean up test
|
||||
connection slave;
|
||||
drop database db_legitimate;
|
||||
drop database db_bogus;
|
||||
|
||||
disconnect conn_select;
|
||||
disconnect conn_usage;
|
||||
disconnect conn_super;
|
||||
|
||||
connection master;
|
||||
drop user guest_super@localhost;
|
||||
drop user guest_usage@localhost;
|
||||
drop user guest_select@localhost;
|
||||
drop table federated.t1;
|
||||
drop server 's1';
|
||||
|
||||
#
|
||||
# Bug#30671 - ALTER SERVER causes the server to crash
|
||||
#
|
||||
create server 's1' foreign data wrapper 'mysql' options (port 3306);
|
||||
alter server 's1' options
|
||||
(host 'localhost', database '', user '',
|
||||
password '', socket '', owner '', port 3306);
|
||||
# The next statement would crash unpatched server
|
||||
alter server 's1' options
|
||||
(host 'localhost', database 'database1', user '',
|
||||
password '', socket '', owner '', port 3306);
|
||||
drop server 's1';
|
||||
|
||||
--echo # End of 5.1 tests
|
||||
|
||||
|
||||
#
|
||||
# Bug#25721 - deadlock with ALTER/CREATE SERVER
|
||||
#
|
||||
connect (other,localhost,root,,);
|
||||
connection master;
|
||||
use test;
|
||||
delimiter //;
|
||||
create procedure p1 ()
|
||||
begin
|
||||
DECLARE v INT DEFAULT 0;
|
||||
DECLARE e INT DEFAULT 0;
|
||||
DECLARE i INT;
|
||||
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET e = e + 1;
|
||||
SET i = sleep(5);
|
||||
WHILE v < 10000 do
|
||||
CREATE SERVER s
|
||||
FOREIGN DATA WRAPPER mysql
|
||||
OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
|
||||
ALTER SERVER s OPTIONS (USER 'Remote');
|
||||
DROP SERVER s;
|
||||
SET v = v + 1;
|
||||
END WHILE;
|
||||
SELECT e > 0;
|
||||
END//
|
||||
delimiter ;//
|
||||
connection other;
|
||||
use test;
|
||||
send call p1();
|
||||
connection master;
|
||||
call p1();
|
||||
connection other;
|
||||
reap;
|
||||
drop procedure p1;
|
||||
drop server if exists s;
|
||||
|
||||
|
||||
source include/federated_cleanup.inc;
|
||||
@@ -1 +0,0 @@
|
||||
--loose-innodb
|
||||
@@ -1,40 +0,0 @@
|
||||
# should work with embedded server after mysqltest is fixed
|
||||
-- source include/not_embedded.inc
|
||||
source include/have_innodb.inc;
|
||||
source include/federated.inc;
|
||||
|
||||
connection slave;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
#SHOW ENGINES;
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(32) NOT NULL default ''
|
||||
)
|
||||
DEFAULT CHARSET=latin1 ENGINE=innodb;
|
||||
|
||||
connection master;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
# # correct connection, same named tables
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(32) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1';
|
||||
|
||||
set autocommit=0;
|
||||
INSERT INTO federated.t1 (id, name) VALUES (1, 'foo');
|
||||
INSERT INTO federated.t1 (id, name) VALUES (2, 'fee');
|
||||
COMMIT;
|
||||
INSERT INTO federated.t1 (id, name) VALUES (3, 'fie');
|
||||
INSERT INTO federated.t1 (id, name) VALUES (4, 'fum');
|
||||
ROLLBACK;
|
||||
set autocommit=1;
|
||||
INSERT INTO federated.t1 (id, name) VALUES (5, 'foe');
|
||||
INSERT INTO federated.t1 (id, name) VALUES (6, 'fig');
|
||||
|
||||
SELECT * FROM federated.t1;
|
||||
DELETE FROM federated.t1;
|
||||
|
||||
source include/federated_cleanup.inc;
|
||||
@@ -51,7 +51,8 @@ echo;
|
||||
-- disable_query_log
|
||||
|
||||
# Run the mysql_fix_privilege_tables.sql using "mysql --force"
|
||||
--exec $MYSQL --force mysql < $MYSQL_FIX_PRIVILEGE_TABLES > $MYSQLTEST_VARDIR/log/fix_priv_tables.log 2>&1
|
||||
--exec $MYSQL --force mysql < $MYSQL_FIX_PRIVILEGE_TABLES > $MYSQLTEST_VARDIR/tmp/fix_priv_tables.log 2>&1
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/fix_priv_tables.log
|
||||
|
||||
-- enable_query_log
|
||||
-- enable_result_log
|
||||
|
||||
@@ -1,172 +0,0 @@
|
||||
############## 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 #
|
||||
#############################################################
|
||||
@@ -1,172 +0,0 @@
|
||||
############## 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 #
|
||||
###############################################################
|
||||
@@ -1,139 +0,0 @@
|
||||
############## 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 #
|
||||
##########################################################
|
||||
|
||||
@@ -1,162 +0,0 @@
|
||||
############## 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 #
|
||||
##########################################################
|
||||
@@ -1,126 +0,0 @@
|
||||
############## 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 #
|
||||
#########################################################
|
||||
DROP TABLE articles;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user