1############## mysql-test\t\character_set_results_func.test ################## 2# # 3# Variable Name: character_set_results # 4# Scope: GLOBAL | SESSION # 5# Access Type: Dynamic # 6# Data Type: string # 7# Default Value: utf8 (session), latin1 (global) # 8# Range: NA # 9# # 10# # 11# Creation Date: 2008-03-08 # 12# Author: Rizwan # 13# # 14# Description: Test Cases of Dynamic System Variable character_set_results # 15# that checks the behavior of this variable # 16# # 17# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # 18# server-system-variables.html # 19# # 20############################################################################### 21 22--echo '#--------------------FN_DYNVARS_012_01-------------------------#' 23####################################################################### 24# Check if setting character_set_results is changed in new connection # 25####################################################################### 26 27# save 28SET @global_character_set_results = @@global.character_set_results; 29SET @session_character_set_results = @@session.character_set_results; 30 31 32SET @@global.character_set_results = utf8; 33--echo 'connect (con1,localhost,root,,,,)' 34connect (con1,localhost,root,,,,); 35--echo 'connection con1' 36connection con1; 37SELECT @@global.character_set_results; 38SELECT @@session.character_set_results; 39disconnect con1; 40 41 42--echo '#--------------------FN_DYNVARS_012_02-------------------------#' 43############################################################# 44# Begin the functionality Testing of character_set_results # 45############################################################# 46 47--echo 'connection default' 48connection default; 49 50--disable_warnings 51DROP TABLE IF EXISTS t1; 52--enable_warnings 53 54CREATE TABLE t1(b CHAR(40) character set utf8); 55SET NAMES utf8; 56 57#============================================================================== 58--echo '----check string literals against different character_set_results---' 59#============================================================================== 60--echo check if results are converted to character_set_results 61SET @@session.character_set_results = greek; 62SELECT 'ЁЂЃЄ' AS utf_text; 63 64--echo check effect of character_set_results when introducers are used 65SET @@session.character_set_results = latin1; 66SELECT _latin1'M�ller' AS latin1_text; 67SET @@session.character_set_results = ascii; 68SELECT _latin1'M�ller' AS latin1_text; 69 70--echo check when we dont want any conversion 71SET @@session.character_set_results = NULL; 72SELECT 'ЁЂЃЄ' AS utf_text; 73 74#============================================================================== 75--echo '---check results from table against different character_set_results--' 76#============================================================================== 77INSERT INTO t1 VALUES(_utf8'ЁЂЃЄ'); 78INSERT INTO t1 VALUES('ФХЦЧШ'); 79 80SET @@session.character_set_results = NULL; 81SELECT b, CHAR_LENGTH(b) FROM t1; 82 83SET @@session.character_set_results = utf8; 84SELECT b, CHAR_LENGTH(b) FROM t1; 85 86SET @@session.character_set_results = koi8r; 87SELECT b, CHAR_LENGTH(b) FROM t1; 88 89SET @@session.character_set_results = cp1250; 90SELECT b, CHAR_LENGTH(b) FROM t1; 91 92DROP TABLE t1; 93# restore 94--echo 'connection default;' 95connection default; 96SET @@global.character_set_results = @global_character_set_results; 97SET @@session.character_set_results = @session_character_set_results; 98 99########################################################## 100# End of functionality Testing for character_set_results # 101########################################################## 102 103