mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			112 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
'#--------------------FN_DYNVARS_011_01-------------------------#'
 | 
						||
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;
 | 
						||
'connect (con1,localhost,root,,,,)'
 | 
						||
'connection con1'
 | 
						||
SELECT @@global.collation_database;
 | 
						||
@@global.collation_database
 | 
						||
latin1_danish_ci
 | 
						||
SELECT @@session.collation_database;
 | 
						||
@@session.collation_database
 | 
						||
latin1_swedish_ci
 | 
						||
'Bug#35378: New session collation_database is not change by global collation_database'
 | 
						||
'#--------------------FN_DYNVARS_011_02-------------------------#'
 | 
						||
'connection default'
 | 
						||
DROP TABLE IF EXISTS t1,t2;
 | 
						||
SELECT @@character_set_server,@@collation_server;
 | 
						||
@@character_set_server	@@collation_server
 | 
						||
latin1	latin1_swedish_ci
 | 
						||
'--check if setting collation_database update character_set_database--'
 | 
						||
SET @@session.collation_database = utf8_spanish_ci;
 | 
						||
SELECT @@collation_database, @@character_set_database;
 | 
						||
@@collation_database	@@character_set_database
 | 
						||
utf8_spanish_ci	utf8
 | 
						||
'--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;
 | 
						||
Database	Create Database
 | 
						||
db1	CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_roman_ci */
 | 
						||
'Bug#35380: collation_database does not effects CREATE DATABASE without characater set'
 | 
						||
CREATE TABLE t1(a CHAR(20));
 | 
						||
SHOW CREATE TABLE t1;
 | 
						||
Table	Create Table
 | 
						||
t1	CREATE TABLE `t1` (
 | 
						||
  `a` char(20) COLLATE utf8_roman_ci DEFAULT NULL
 | 
						||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_roman_ci
 | 
						||
'---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;
 | 
						||
Table	Create Table
 | 
						||
t2	CREATE TABLE `t2` (
 | 
						||
  `a` char(10) COLLATE utf8_roman_ci DEFAULT NULL
 | 
						||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_roman_ci
 | 
						||
DROP TABLE t1,t2;
 | 
						||
'--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;
 | 
						||
@@collation_database	@@collation_server	@@character_set_database	@@character_set_server
 | 
						||
utf8_roman_ci	utf8_roman_ci	utf8	utf8
 | 
						||
USE test;
 | 
						||
SELECT @@collation_database,@@collation_server,@@character_set_database,@@character_set_server;
 | 
						||
@@collation_database	@@collation_server	@@character_set_database	@@character_set_server
 | 
						||
utf8_roman_ci	utf8_roman_ci	utf8	utf8
 | 
						||
'fill table with some test data';
 | 
						||
CREATE TABLE t1(a CHAR(20))CHARACTER SET=latin1;
 | 
						||
INSERT INTO t1 VALUES('Muffler'),('M<>ller'),('MX Systems');
 | 
						||
'---check if collation_database effects results sort order---'
 | 
						||
SET @@session.collation_database = latin1_swedish_ci;
 | 
						||
SELECT * FROM t1 ORDER BY a;
 | 
						||
a
 | 
						||
Muffler
 | 
						||
MX Systems
 | 
						||
M<EFBFBD>ller
 | 
						||
SET @@session.collation_database = latin1_german1_ci;
 | 
						||
SELECT * FROM t1 ORDER BY a;
 | 
						||
a
 | 
						||
Muffler
 | 
						||
MX Systems
 | 
						||
M<EFBFBD>ller
 | 
						||
'explicit Collate clause should effects results sort order';
 | 
						||
SELECT * FROM t1 ORDER BY a COLLATE latin1_swedish_ci;
 | 
						||
a
 | 
						||
Muffler
 | 
						||
MX Systems
 | 
						||
M<EFBFBD>ller
 | 
						||
SELECT * FROM t1 ORDER BY a COLLATE latin1_german1_ci;
 | 
						||
a
 | 
						||
Muffler
 | 
						||
M<EFBFBD>ller
 | 
						||
MX Systems
 | 
						||
'----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;
 | 
						||
Table	Op	Msg_type	Msg_text
 | 
						||
test.t1	repair	status	OK
 | 
						||
SELECT * FROM t1 ORDER BY a;
 | 
						||
a
 | 
						||
Muffler
 | 
						||
MX Systems
 | 
						||
M<EFBFBD>ller
 | 
						||
ALTER TABLE t1 DROP PRIMARY KEY;
 | 
						||
SET @@session.collation_database = latin1_german1_ci;
 | 
						||
ALTER TABLE t1 ADD PRIMARY KEY (a);
 | 
						||
REPAIR TABLE t1;
 | 
						||
Table	Op	Msg_type	Msg_text
 | 
						||
test.t1	repair	status	OK
 | 
						||
SELECT * FROM t1 ORDER BY a;
 | 
						||
a
 | 
						||
Muffler
 | 
						||
MX Systems
 | 
						||
M<EFBFBD>ller
 | 
						||
DROP TABLE t1;
 | 
						||
SET @@global.collation_database = @global_collation_database;
 | 
						||
SET @@session.collation_database = @session_collation_database;
 | 
						||
SET @@session.collation_server = @session_collation_server;
 |