summaryrefslogtreecommitdiff
path: root/mysql-test/suite/jp/t/jp_enum_sjis.test
blob: 1060f83ec06baae6095d834bd0f97778b8942c29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#Server variable option 'lower_case_table_names' sets '0' as default value
#in case sensitive filesystem. Using 'lower_case_table_names=0' in case of
#insensitive filsystem is not allowed.
-- source include/have_case_sensitive_file_system.inc
--source include/have_sjis.inc
--source include/have_innodb.inc
--character_set sjis
--disable_warnings
drop table if exists `sP`;
drop table if exists `sQ`;
drop table if exists `sR`;
drop table if exists `sS`;
drop table if exists `sT`;
drop table if exists `sU`;
drop table if exists `sV`;
drop table if exists `sW`;
drop table if exists `sX`;
drop table if exists t1;
--enable_warnings

#
# Test ENUM values with Japanese characters in sjis encoding
#

SET NAMES sjis;
SET character_set_database = sjis;

CREATE TABLE `sP` (`bP` ENUM('','',''), INDEX(`bP`)) DEFAULT CHARSET = sjis engine = innodb;
CREATE TABLE `sQ` (`bP` ENUM('','',''), INDEX(`bP`)) DEFAULT CHARSET = sjis engine = innodb;
CREATE TABLE `sR` (`bP` ENUM('\','\','\'), INDEX(`bP`)) DEFAULT CHARSET = sjis engine = innodb;
CREATE TABLE `sS` (`bP` ENUM('','',''), INDEX(`bP`)) DEFAULT CHARSET = sjis engine = myisam;
CREATE TABLE `sT` (`bP` ENUM('','',''), INDEX(`bP`)) DEFAULT CHARSET = sjis engine = myisam;
CREATE TABLE `sU` (`bP` ENUM('\','\','\'), INDEX(`bP`)) DEFAULT CHARSET = sjis engine = myisam;
CREATE TABLE `sV` (`bP` ENUM('','',''), INDEX(`bP`)) DEFAULT CHARSET = sjis engine = MEMORY;
CREATE TABLE `sW` (`bP` ENUM('','',''), INDEX(`bP`)) DEFAULT CHARSET = sjis engine = MEMORY;
CREATE TABLE `sX` (`bP` ENUM('\','\','\'), INDEX(`bP`)) DEFAULT CHARSET = sjis engine = MEMORY;

INSERT INTO `sP` VALUES (''),(''),('');
INSERT INTO `sQ` VALUES (''),(''),('');
INSERT INTO `sR` VALUES ('\'),('\'),('\');
INSERT INTO `sS` VALUES (''),(''),('');
INSERT INTO `sT` VALUES (''),(''),('');
INSERT INTO `sU` VALUES ('\'),('\'),('\');
INSERT INTO `sV` VALUES (''),(''),('');
INSERT INTO `sW` VALUES (''),(''),('');
INSERT INTO `sX` VALUES ('\'),('\'),('\');

SELECT * FROM `sP`;
SELECT * FROM `sQ`;
SELECT * FROM `sR`;
SELECT * FROM `sS`;
SELECT * FROM `sT`;
SELECT * FROM `sU`;
SELECT * FROM `sV`;
SELECT * FROM `sW`;
SELECT * FROM `sX`;

SHOW CREATE TABLE `sP`;
SHOW CREATE TABLE `sQ`;
SHOW CREATE TABLE `sR`;
SHOW CREATE TABLE `sS`;
SHOW CREATE TABLE `sT`;
SHOW CREATE TABLE `sU`;
SHOW CREATE TABLE `sV`;
SHOW CREATE TABLE `sW`;
SHOW CREATE TABLE `sX`;

DESC `sP`;
DESC `sQ`;
DESC `sR`;
DESC `sS`;
DESC `sT`;
DESC `sU`;
DESC `sV`;
DESC `sW`;
DESC `sX`;

#
# Test problem with enum values after the colum with  NOT NULL restriction
#

ALTER TABLE `sP` ADD `bQ` CHAR(1) NOT NULL FIRST;
ALTER TABLE `sQ` ADD `bQ` CHAR(1) NOT NULL FIRST;
ALTER TABLE `sR` ADD `bQ` CHAR(1) NOT NULL FIRST;
ALTER TABLE `sS` ADD `bQ` CHAR(1) NOT NULL FIRST;
ALTER TABLE `sT` ADD `bQ` CHAR(1) NOT NULL FIRST;
ALTER TABLE `sU` ADD `bQ` CHAR(1) NOT NULL FIRST;
ALTER TABLE `sV` ADD `bQ` CHAR(1) NOT NULL FIRST;
ALTER TABLE `sW` ADD `bQ` CHAR(1) NOT NULL FIRST;
ALTER TABLE `sX` ADD `bQ` CHAR(1) NOT NULL FIRST;

SHOW CREATE TABLE `sP`;
SHOW CREATE TABLE `sQ`;
SHOW CREATE TABLE `sR`;
SHOW CREATE TABLE `sS`;
SHOW CREATE TABLE `sT`;
SHOW CREATE TABLE `sU`;
SHOW CREATE TABLE `sV`;
SHOW CREATE TABLE `sW`;
SHOW CREATE TABLE `sX`;

#
# Test to distinguish 0x9353 and 0x9373
# Bug#6206 ENUMs are not case sensitive even if declared BINARY
#

CREATE TABLE t1(c1 enum('S','s')) default character set = sjis;
INSERT INTO t1 VALUES('S'),('s');
SELECT * FROM t1 WHERE c1 LIKE 'S';
DROP TABLE t1;

DESC `sP`;
DESC `sQ`;
DESC `sR`;
DESC `sS`;
DESC `sT`;
DESC `sU`;
DESC `sV`;
DESC `sW`;
DESC `sX`;

DROP TABLE `sP`;
DROP TABLE `sQ`;
DROP TABLE `sR`;
DROP TABLE `sS`;
DROP TABLE `sT`;
DROP TABLE `sU`;
DROP TABLE `sV`;
DROP TABLE `sW`;
DROP TABLE `sX`;