summaryrefslogtreecommitdiff
path: root/mysql-test/suite/jp/t/jp_union_ujis.test
blob: 73c9c6607ad80930a2297c594f0e674e4356c619 (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
--source include/have_ujis.inc
--source include/have_innodb.inc

--disable_warnings
drop table if exists `」ヤ」ア`;
drop table if exists `」ヤ」イ`;
drop table if exists `」ヤ」ウ`;
drop table if exists `」ヤ」エ`;
drop table if exists `」ヤ」オ`;
drop table if exists `」ヤ」カ`;
drop table if exists `」ヤ」キ`;
drop table if exists `」ヤ」ク`;
drop table if exists `」ヤ」ケ`;
--enable_warnings

#
# Test UNION with Japanese characters in ujis encoding
#

SET NAMES ujis;
SET character_set_database = ujis;

#InnoDB
CREATE TABLE `」ヤ」ア` (`」テ」ア` char(1), INDEX(`」テ」ア`)) DEFAULT CHARSET = ujis engine = innodb;
CREATE TABLE `」ヤ」イ` (`」テ」ア` char(1), INDEX(`」テ」ア`)) DEFAULT CHARSET = ujis engine = innodb;
CREATE TABLE `」ヤ」ウ` (`」テ」ア` char(1), INDEX(`」テ」ア`)) DEFAULT CHARSET = ujis engine = innodb;
INSERT INTO `」ヤ」ア` VALUES('竺'),('竺'),('、「'),('、「'),('常ワ'),('常ワ');
INSERT INTO `」ヤ」イ` VALUES('軸'),('軸'),('、、'),('、、'),('常ン'),('常ン');
INSERT INTO `」ヤ」ウ` VALUES('宍'),('宍'),('、ヲ'),('、ヲ'),('常゙'),('常゙');
SELECT * FROM `」ヤ」ア` UNION DISTINCT SELECT * FROM `」ヤ」イ` ORDER BY `」テ」ア`;
SELECT * FROM `」ヤ」ア` UNION ALL SELECT * FROM `」ヤ」イ` ORDER BY `」テ」ア`;
(SELECT * FROM `」ヤ」ア`) UNION (SELECT * FROM `」ヤ」イ`) UNION (SELECT '、ヲ') ORDER BY `」テ」ア`;
(SELECT '、ヲ' AS `」テ」ア`) UNION (SELECT * FROM `」ヤ」ア`) UNION (SELECT * FROM `」ヤ」イ`) ORDER BY `」テ」ア`;
SELECT `」テ」ア`, COUNT(*) FROM `」ヤ」ア` GROUP BY `」テ」ア` UNION
SELECT `」テ」ア`, COUNT(*) FROM `」ヤ」イ` GROUP BY `」テ」ア` ORDER BY `」テ」ア`;
SELECT * FROM `」ヤ」ア` UNION DISTINCT
SELECT * FROM `」ヤ」イ` UNION ALL
SELECT * FROM `」ヤ」ウ` ORDER BY `」テ」ア`;
SELECT * FROM `」ヤ」ア` UNION ALL
SELECT * FROM `」ヤ」イ` UNION DISTINCT
SELECT * FROM `」ヤ」ウ` ORDER BY `」テ」ア`;
SELECT * FROM `」ヤ」ア` UNION SELECT REPEAT(`」テ」ア`,5) FROM `」ヤ」イ` ORDER BY `」テ」ア`;
DROP TABLE `」ヤ」ア` ;
DROP TABLE `」ヤ」イ` ;
DROP TABLE `」ヤ」ウ` ;

#MyISAM
CREATE TABLE `」ヤ」ア` (`」テ」ア` char(1), INDEX(`」テ」ア`)) DEFAULT CHARSET = ujis engine = MYISAM;
CREATE TABLE `」ヤ」イ` (`」テ」ア` char(1), INDEX(`」テ」ア`)) DEFAULT CHARSET = ujis engine = MYISAM;
CREATE TABLE `」ヤ」ウ` (`」テ」ア` char(1), INDEX(`」テ」ア`)) DEFAULT CHARSET = ujis engine = MYISAM;
INSERT INTO `」ヤ」ア` VALUES('竺'),('竺'),('、「'),('、「'),('常ワ'),('常ワ');
INSERT INTO `」ヤ」イ` VALUES('軸'),('軸'),('、、'),('、、'),('常ン'),('常ン');
INSERT INTO `」ヤ」ウ` VALUES('宍'),('宍'),('、ヲ'),('、ヲ'),('常゙'),('常゙');
SELECT * FROM `」ヤ」ア` UNION DISTINCT SELECT * FROM `」ヤ」イ` ORDER BY `」テ」ア`;
SELECT * FROM `」ヤ」ア` UNION ALL SELECT * FROM `」ヤ」イ` ORDER BY `」テ」ア`;
(SELECT * FROM `」ヤ」ア`) UNION (SELECT * FROM `」ヤ」イ`) UNION (SELECT '、ヲ') ORDER BY `」テ」ア`;
(SELECT '、ヲ' AS `」テ」ア`) UNION (SELECT * FROM `」ヤ」ア`) UNION (SELECT * FROM `」ヤ」イ`) ORDER BY `」テ」ア`;
SELECT `」テ」ア`, COUNT(*) FROM `」ヤ」ア` GROUP BY `」テ」ア` UNION
SELECT `」テ」ア`, COUNT(*) FROM `」ヤ」イ` GROUP BY `」テ」ア` ORDER BY `」テ」ア`;
SELECT * FROM `」ヤ」ア` UNION DISTINCT
SELECT * FROM `」ヤ」イ` UNION ALL
SELECT * FROM `」ヤ」ウ` ORDER BY `」テ」ア`;
SELECT * FROM `」ヤ」ア` UNION ALL
SELECT * FROM `」ヤ」イ` UNION DISTINCT
SELECT * FROM `」ヤ」ウ` ORDER BY `」テ」ア`;
SELECT * FROM `」ヤ」ア` UNION SELECT REPEAT(`」テ」ア`,5) FROM `」ヤ」イ` ORDER BY `」テ」ア`;
DROP TABLE `」ヤ」ア` ;
DROP TABLE `」ヤ」イ` ;
DROP TABLE `」ヤ」ウ` ;

#MEMORY
CREATE TABLE `」ヤ」ア` (`」テ」ア` char(1), INDEX(`」テ」ア`)) DEFAULT CHARSET = ujis engine = MEMORY;
CREATE TABLE `」ヤ」イ` (`」テ」ア` char(1), INDEX(`」テ」ア`)) DEFAULT CHARSET = ujis engine = MEMORY;
CREATE TABLE `」ヤ」ウ` (`」テ」ア` char(1), INDEX(`」テ」ア`)) DEFAULT CHARSET = ujis engine = MEMORY;
INSERT INTO `」ヤ」ア` VALUES('竺'),('竺'),('、「'),('、「'),('常ワ'),('常ワ');
INSERT INTO `」ヤ」イ` VALUES('軸'),('軸'),('、、'),('、、'),('常ン'),('常ン');
INSERT INTO `」ヤ」ウ` VALUES('宍'),('宍'),('、ヲ'),('、ヲ'),('常゙'),('常゙');
SELECT * FROM `」ヤ」ア` UNION DISTINCT SELECT * FROM `」ヤ」イ` ORDER BY `」テ」ア`;
SELECT * FROM `」ヤ」ア` UNION ALL SELECT * FROM `」ヤ」イ` ORDER BY `」テ」ア`;
(SELECT * FROM `」ヤ」ア`) UNION (SELECT * FROM `」ヤ」イ`) UNION (SELECT '、ヲ') ORDER BY `」テ」ア`;
(SELECT '、ヲ' AS `」テ」ア`) UNION (SELECT * FROM `」ヤ」ア`) UNION (SELECT * FROM `」ヤ」イ`) ORDER BY `」テ」ア`;
SELECT `」テ」ア`, COUNT(*) FROM `」ヤ」ア` GROUP BY `」テ」ア` UNION
SELECT `」テ」ア`, COUNT(*) FROM `」ヤ」イ` GROUP BY `」テ」ア` ORDER BY `」テ」ア`;
SELECT * FROM `」ヤ」ア` UNION DISTINCT
SELECT * FROM `」ヤ」イ` UNION ALL
SELECT * FROM `」ヤ」ウ` ORDER BY `」テ」ア`;
SELECT * FROM `」ヤ」ア` UNION ALL
SELECT * FROM `」ヤ」イ` UNION DISTINCT
SELECT * FROM `」ヤ」ウ` ORDER BY `」テ」ア`;
SELECT * FROM `」ヤ」ア` UNION SELECT REPEAT(`」テ」ア`,5) FROM `」ヤ」イ` ORDER BY `」テ」ア`;
DROP TABLE `」ヤ」ア` ;
DROP TABLE `」ヤ」イ` ;
DROP TABLE `」ヤ」ウ` ;

# Test mixed strage engine
CREATE TABLE `」ヤ」ア` (`」テ」ア` char(1), INDEX(`」テ」ア`)) DEFAULT CHARSET = ujis engine = InnoDB;
CREATE TABLE `」ヤ」イ` (`」テ」ア` char(1), INDEX(`」テ」ア`)) DEFAULT CHARSET = ujis engine = MyISAM;
INSERT INTO `」ヤ」ア` VALUES('竺'),('竺'),('、「'),('、「'),('常ワ'),('常ワ');
INSERT INTO `」ヤ」イ` VALUES('軸'),('軸'),('、、'),('、、'),('常ン'),('常ン');
SELECT * FROM `」ヤ」ア` UNION DISTINCT SELECT * FROM `」ヤ」イ` ORDER BY `」テ」ア`;
SELECT * FROM `」ヤ」ア` UNION ALL SELECT * FROM `」ヤ」イ` ORDER BY `」テ」ア`;
DROP TABLE `」ヤ」ア`;
DROP TABLE `」ヤ」イ`;