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