1
0
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:
Mikael Ronstrom
2009-02-17 13:24:09 +01:00
1739 changed files with 40835 additions and 25223 deletions

View File

@@ -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
#

View File

@@ -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;

View File

@@ -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 #
########################################################################

View File

@@ -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;

View File

@@ -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 #
#############################################################

View File

@@ -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;

View File

@@ -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 #
###################################################

View File

@@ -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;

View File

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

View File

@@ -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;

View File

@@ -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 #
#############################################################

View File

@@ -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;

View File

@@ -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`;

View File

@@ -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'

View File

@@ -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 #
#######################################################

View File

@@ -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

View File

@@ -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

View File

@@ -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
#

View File

@@ -0,0 +1 @@
--force-restart

View File

@@ -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;

View File

@@ -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 #
#############################################################

View File

@@ -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 #
############################################################

View File

@@ -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 #
#############################################################

View File

@@ -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 #
#############################################################

View File

@@ -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 #
#############################################################

View File

@@ -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 #
############################################################

View File

@@ -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 #
#############################################################

View File

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

View File

@@ -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 #
#############################################################

View File

@@ -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 #
##########################################################

View File

@@ -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 #
#############################################################

View File

@@ -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 #
############################################################

View File

@@ -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'

View File

@@ -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 #
#############################################################

View File

@@ -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 #
#########################################################

View File

@@ -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 #
###########################################################

View File

@@ -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 #
#######################################################

View File

@@ -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 #
#####################################################

View File

@@ -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 #
#####################################################

View File

@@ -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 #
############################################

View File

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

View File

@@ -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');

View File

@@ -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 #
#######################################################

View File

@@ -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;

View File

@@ -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 #
#########################################################

View File

@@ -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

View File

@@ -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

View File

@@ -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);

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View File

@@ -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
#

View File

@@ -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

View File

@@ -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'

View File

@@ -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"

View File

@@ -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 #
#############################################################

View File

@@ -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');

View File

@@ -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 #
########################################################################

View File

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

View File

@@ -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 #
####################################################

View File

@@ -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

View File

@@ -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;

View File

@@ -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 #
################################################################

View File

@@ -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"

View File

@@ -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;

View File

@@ -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 #
#######################################################

View File

@@ -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;

View File

@@ -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 # --

View File

@@ -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 #
###############################################################

View File

@@ -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'

View File

@@ -1 +0,0 @@
--loose-debug=d,raise_error

View File

@@ -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;

View File

@@ -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 #
#####################################################

View File

@@ -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;

View File

@@ -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.

View File

@@ -0,0 +1 @@
--event-scheduler

View 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

View File

@@ -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"

View File

@@ -1 +0,0 @@
--event-scheduler=on

View File

@@ -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

View File

@@ -1 +0,0 @@
--event-scheduler=1

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

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

View File

@@ -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;

View File

@@ -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;

View File

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

View File

@@ -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;

View File

@@ -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

View File

@@ -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 #
#############################################################

View File

@@ -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 #
###############################################################

View File

@@ -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 #
##########################################################

View File

@@ -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 #
##########################################################

View File

@@ -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