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