~ubuntu-branches/ubuntu/trusty/mariadb-5.5/trusty-proposed

« back to all changes in this revision

Viewing changes to mysql-test/suite/sys_vars/t/collation_database_func.test

  • Committer: Package Import Robot
  • Author(s): Otto Kekäläinen
  • Date: 2013-12-22 10:27:05 UTC
  • Revision ID: package-import@ubuntu.com-20131222102705-mndw7s12mz0szrcn
Tags: upstream-5.5.32
Import upstream version 5.5.32

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
############## mysql-test\t\collation_database_func.test  #####################
 
2
#                                                                             #
 
3
# Variable Name: collation_database                                           #
 
4
# Scope: GLOBAL | SESSION                                                     #
 
5
# Access Type: Dynamic                                                        #
 
6
# Data Type: string                                                           #
 
7
# Default Value:                                                              #
 
8
# Range:                                                                      #
 
9
#                                                                             #
 
10
#                                                                             #
 
11
# Creation Date: 2008-03-08                                                   #
 
12
# Author:  Rizwan                                                             #
 
13
#                                                                             #
 
14
# Description: Test Cases of Dynamic System Variable collation_database       #
 
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
 
 
23
--echo '#--------------------FN_DYNVARS_011_01-------------------------#'
 
24
####################################################################
 
25
# Check if setting collation_database is changed in new connection # 
 
26
####################################################################
 
27
SET @global_collation_database = @@global.collation_database;
 
28
SET @session_collation_database = @@session.collation_database;
 
29
SET @session_collation_server = @@session.collation_server;
 
30
 
 
31
 
 
32
SET @@global.collation_database = latin1_danish_ci;
 
33
--echo 'connect (con1,localhost,root,,,,)'
 
34
connect (con1,localhost,root,,,,);
 
35
--echo 'connection con1'
 
36
connection con1; 
 
37
SELECT @@global.collation_database;
 
38
SELECT @@session.collation_database;
 
39
disconnect con1;
 
40
 
 
41
--echo '#--------------------FN_DYNVARS_011_02-------------------------#'
 
42
#########################################################
 
43
# Begin the functionality Testing of collation_database #
 
44
#########################################################
 
45
 
 
46
--echo 'connection default'
 
47
connection default;
 
48
 
 
49
--disable_warnings
 
50
DROP TABLE IF EXISTS t1,t2;
 
51
--enable_warnings
 
52
 
 
53
 
 
54
SELECT @@character_set_server,@@collation_server;
 
55
#==============================================================================
 
56
--echo '--check if setting collation_database update character_set_database--'
 
57
#==============================================================================
 
58
 
 
59
SET @@session.collation_database = utf8_spanish_ci;
 
60
SELECT @@collation_database, @@character_set_database;
 
61
 
 
62
#==============================================================================
 
63
--echo '--check if collation_database effects database/tables charset/collation'
 
64
#==============================================================================
 
65
SET @@session.collation_server = utf8_roman_ci;
 
66
SET @@session.collation_database = latin2_croatian_ci;
 
67
CREATE DATABASE db1;
 
68
USE db1;
 
69
SHOW CREATE DATABASE db1;
 
70
 
 
71
CREATE TABLE t1(a CHAR(20));
 
72
SHOW CREATE TABLE t1;
 
73
 
 
74
#==============================================================================
 
75
--echo '---check if updating collation_database effects new table/column---'
 
76
#==============================================================================
 
77
SET @@session.collation_database = latin7_general_cs;
 
78
CREATE TABLE t2(a CHAR(10));
 
79
SHOW CREATE TABLE t2;
 
80
 
 
81
DROP TABLE t1,t2;
 
82
 
 
83
 
 
84
#==============================================================================
 
85
--echo '--check value of collation and character set when current db is dropped'
 
86
#==============================================================================
 
87
DROP DATABASE db1;
 
88
SELECT @@collation_database,@@collation_server,@@character_set_database,@@character_set_server;
 
89
USE test;
 
90
SELECT @@collation_database,@@collation_server,@@character_set_database,@@character_set_server;
 
91
 
 
92
 
 
93
--echo 'fill table with some test data';
 
94
CREATE TABLE t1(a CHAR(20))CHARACTER SET=latin1;
 
95
INSERT INTO t1 VALUES('Muffler'),('M�ller'),('MX Systems');
 
96
 
 
97
#==============================================================================
 
98
--echo '---check if collation_database effects results sort order---'
 
99
#==============================================================================
 
100
 
 
101
SET @@session.collation_database = latin1_swedish_ci;
 
102
SELECT * FROM t1 ORDER BY a;
 
103
 
 
104
SET @@session.collation_database = latin1_german1_ci;
 
105
SELECT * FROM t1 ORDER BY a;
 
106
 
 
107
--echo 'explicit Collate clause should effects results sort order';
 
108
 
 
109
SELECT * FROM t1 ORDER BY a COLLATE latin1_swedish_ci;
 
110
SELECT * FROM t1 ORDER BY a COLLATE latin1_german1_ci;
 
111
 
 
112
 
 
113
#==============================================================================
 
114
--echo '----check if indexing is effected by collation_database---'
 
115
#==============================================================================
 
116
SET @@session.collation_database = latin1_swedish_ci;
 
117
ALTER TABLE t1 ADD PRIMARY KEY (a);
 
118
REPAIR TABLE t1;
 
119
SELECT * FROM t1 ORDER BY a;
 
120
 
 
121
ALTER TABLE t1 DROP PRIMARY KEY;
 
122
SET @@session.collation_database = latin1_german1_ci;
 
123
ALTER TABLE t1 ADD PRIMARY KEY (a);
 
124
REPAIR TABLE t1;
 
125
SELECT * FROM t1 ORDER BY a;
 
126
 
 
127
# clean up
 
128
DROP TABLE t1;
 
129
SET @@global.collation_database = @global_collation_database;
 
130
SET @@session.collation_database = @session_collation_database;
 
131
SET @@session.collation_server = @session_collation_server;
 
132
 
 
133
#######################################################
 
134
# End of functionality Testing for collation_database #
 
135
#######################################################