mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			218 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			218 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| --disable_warnings
 | ||
| drop table if exists `T1`;
 | ||
| drop table if exists `T2`;
 | ||
| drop table if exists `T3`;
 | ||
| drop table if exists `T4`;
 | ||
| drop table if exists `T5`;
 | ||
| drop table if exists `T6`;
 | ||
| drop table if exists `T7`;
 | ||
| drop table if exists `T8`;
 | ||
| drop table if exists `T9`;
 | ||
| drop table if exists `T10`;
 | ||
| drop table if exists `T11`;
 | ||
| drop table if exists `T12`;
 | ||
| --enable_warnings
 | ||
| 
 | ||
| #
 | ||
| # Test table JOIN using Japanese characters in utf8
 | ||
| #
 | ||
| 
 | ||
| SET NAMES utf8;
 | ||
| SET character_set_database = utf8;
 | ||
| 
 | ||
| CREATE TABLE `T1a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T1b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T2a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T2b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T3a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T3b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T4a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T4b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T5a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T5b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T6a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T6b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T7a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T7b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T8a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T8b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T9a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T9b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T10a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T10b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T11a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T11b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T12a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| CREATE TABLE `T12b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = innodb;
 | ||
| 
 | ||
| #insert the following data in each table
 | ||
| # jisx0201 hankaku-katakana data
 | ||
| # jisx0208 data
 | ||
| # jisx0212 supplemental character data
 | ||
| 
 | ||
| INSERT INTO `T1a` VALUES ('ア'),('カ'),('サ');
 | ||
| INSERT INTO `T1b` VALUES ('ア');
 | ||
| INSERT INTO `T2a` VALUES ('あ'),('か'),('さ');
 | ||
| INSERT INTO `T2b` VALUES ('あ');
 | ||
| INSERT INTO `T3a` VALUES ('龔'),('龖'),('龗');
 | ||
| INSERT INTO `T3b` VALUES ('龔');
 | ||
| INSERT INTO `T4a` VALUES ('ア'),('カ'),('サ');
 | ||
| INSERT INTO `T4b` VALUES ('ア');
 | ||
| INSERT INTO `T5a` VALUES ('あ'),('か'),('さ');
 | ||
| INSERT INTO `T5b` VALUES ('あ');
 | ||
| INSERT INTO `T6a` VALUES ('龔'),('龖'),('龗');
 | ||
| INSERT INTO `T6b` VALUES ('龔');
 | ||
| INSERT INTO `T7a` VALUES ('ア'),('カ'),('サ');
 | ||
| INSERT INTO `T7b` VALUES ('ア');
 | ||
| INSERT INTO `T8a` VALUES ('あ'),('か'),('さ');
 | ||
| INSERT INTO `T8b` VALUES ('あ');
 | ||
| INSERT INTO `T9a` VALUES ('龔'),('龖'),('龗');
 | ||
| INSERT INTO `T9b` VALUES ('龔');
 | ||
| INSERT INTO `T10a` VALUES ('ア'),('カ'),('サ');
 | ||
| INSERT INTO `T10b` VALUES ('ア');
 | ||
| INSERT INTO `T11a` VALUES ('あ'),('か'),('さ');
 | ||
| INSERT INTO `T11b` VALUES ('あ');
 | ||
| INSERT INTO `T12a` VALUES ('龔'),('龖'),('龗');
 | ||
| INSERT INTO `T12b` VALUES ('龔');
 | ||
| 
 | ||
| #Test for innodb
 | ||
| SELECT * FROM `T1a` JOIN `T1b`;
 | ||
| SELECT * FROM `T1a` INNER JOIN `T1b`;
 | ||
| SELECT * FROM `T1a` JOIN `T1b` USING (`C1`);
 | ||
| SELECT * FROM `T1a` INNER JOIN `T1b` USING (`C1`);
 | ||
| SELECT * FROM `T1a` CROSS JOIN `T1b`;
 | ||
| SELECT * FROM `T1a` LEFT JOIN `T1b` USING (`C1`);
 | ||
| SELECT * FROM `T1a` LEFT JOIN `T1b` ON (`T1a`.`C1` = `T1b`.`C1`);
 | ||
| SELECT * FROM `T1b` RIGHT JOIN `T1a` USING (`C1`);
 | ||
| SELECT * FROM `T1b` RIGHT JOIN `T1a` ON (`T1a`.`C1` = `T1b`.`C1`);
 | ||
| SELECT * FROM `T2a` JOIN `T2b`;
 | ||
| SELECT * FROM `T2a` INNER JOIN `T2b`;
 | ||
| SELECT * FROM `T2a` JOIN `T2b` USING (`C1`);
 | ||
| SELECT * FROM `T2a` INNER JOIN `T2b` USING (`C1`);
 | ||
| SELECT * FROM `T2a` CROSS JOIN `T2b`;
 | ||
| SELECT * FROM `T2a` LEFT JOIN `T2b` USING (`C1`);
 | ||
| SELECT * FROM `T2a` LEFT JOIN `T2b` ON (`T2a`.`C1` = `T2b`.`C1`);
 | ||
| SELECT * FROM `T2b` RIGHT JOIN `T2a` USING (`C1`);
 | ||
| SELECT * FROM `T2b` RIGHT JOIN `T2a` ON (`T2a`.`C1` = `T2b`.`C1`);
 | ||
| SELECT * FROM `T3a` JOIN `T3b`;
 | ||
| SELECT * FROM `T3a` INNER JOIN `T3b`;
 | ||
| SELECT * FROM `T3a` JOIN `T3b` USING (`C1`);
 | ||
| SELECT * FROM `T3a` INNER JOIN `T3b` USING (`C1`);
 | ||
| SELECT * FROM `T3a` CROSS JOIN `T3b`;
 | ||
| SELECT * FROM `T3a` LEFT JOIN `T3b` USING (`C1`);
 | ||
| SELECT * FROM `T3a` LEFT JOIN `T3b` ON (`T3a`.`C1` = `T3b`.`C1`);
 | ||
| SELECT * FROM `T3b` RIGHT JOIN `T3a` USING (`C1`);
 | ||
| SELECT * FROM `T3b` RIGHT JOIN `T3a` ON (`T3a`.`C1` = `T3b`.`C1`);
 | ||
| 
 | ||
| #Test for myisam
 | ||
| SELECT * FROM `T4a` JOIN `T4b`;
 | ||
| SELECT * FROM `T4a` INNER JOIN `T4b`;
 | ||
| SELECT * FROM `T4a` JOIN `T4b` USING (`C1`);
 | ||
| SELECT * FROM `T4a` INNER JOIN `T4b` USING (`C1`);
 | ||
| SELECT * FROM `T4a` CROSS JOIN `T4b`;
 | ||
| SELECT * FROM `T4a` LEFT JOIN `T4b` USING (`C1`);
 | ||
| SELECT * FROM `T4a` LEFT JOIN `T4b` ON (`T4a`.`C1` = `T4b`.`C1`);
 | ||
| SELECT * FROM `T4b` RIGHT JOIN `T4a` USING (`C1`);
 | ||
| SELECT * FROM `T4b` RIGHT JOIN `T4a` ON (`T4a`.`C1` = `T4b`.`C1`);
 | ||
| SELECT * FROM `T5a` JOIN `T5b`;
 | ||
| SELECT * FROM `T5a` INNER JOIN `T5b`;
 | ||
| SELECT * FROM `T5a` JOIN `T5b` USING (`C1`);
 | ||
| SELECT * FROM `T5a` INNER JOIN `T5b` USING (`C1`);
 | ||
| SELECT * FROM `T5a` CROSS JOIN `T5b`;
 | ||
| SELECT * FROM `T5a` LEFT JOIN `T5b` USING (`C1`);
 | ||
| SELECT * FROM `T5a` LEFT JOIN `T5b` ON (`T5a`.`C1` = `T5b`.`C1`);
 | ||
| SELECT * FROM `T5b` RIGHT JOIN `T5a` USING (`C1`);
 | ||
| SELECT * FROM `T5b` RIGHT JOIN `T5a` ON (`T5a`.`C1` = `T5b`.`C1`);
 | ||
| SELECT * FROM `T6a` JOIN `T6b`;
 | ||
| SELECT * FROM `T6a` INNER JOIN `T6b`;
 | ||
| SELECT * FROM `T6a` JOIN `T6b` USING (`C1`);
 | ||
| SELECT * FROM `T6a` INNER JOIN `T6b` USING (`C1`);
 | ||
| SELECT * FROM `T6a` CROSS JOIN `T6b`;
 | ||
| SELECT * FROM `T6a` LEFT JOIN `T6b` USING (`C1`);
 | ||
| SELECT * FROM `T6a` LEFT JOIN `T6b` ON (`T6a`.`C1` = `T6b`.`C1`);
 | ||
| SELECT * FROM `T6b` RIGHT JOIN `T6a` USING (`C1`);
 | ||
| SELECT * FROM `T6b` RIGHT JOIN `T6a` ON (`T6a`.`C1` = `T6b`.`C1`);
 | ||
| 
 | ||
| #Test for heap
 | ||
| SELECT * FROM `T7a` JOIN `T7b`;
 | ||
| SELECT * FROM `T7a` INNER JOIN `T7b`;
 | ||
| SELECT * FROM `T7a` JOIN `T7b` USING (`C1`);
 | ||
| SELECT * FROM `T7a` INNER JOIN `T7b` USING (`C1`);
 | ||
| SELECT * FROM `T7a` CROSS JOIN `T7b`;
 | ||
| SELECT * FROM `T7a` LEFT JOIN `T7b` USING (`C1`);
 | ||
| SELECT * FROM `T7a` LEFT JOIN `T7b` ON (`T7a`.`C1` = `T7b`.`C1`);
 | ||
| SELECT * FROM `T7b` RIGHT JOIN `T7a` USING (`C1`);
 | ||
| SELECT * FROM `T7b` RIGHT JOIN `T7a` ON (`T7a`.`C1` = `T7b`.`C1`);
 | ||
| SELECT * FROM `T8a` JOIN `T8b`;
 | ||
| SELECT * FROM `T8a` INNER JOIN `T8b`;
 | ||
| SELECT * FROM `T8a` JOIN `T8b` USING (`C1`);
 | ||
| SELECT * FROM `T8a` INNER JOIN `T8b` USING (`C1`);
 | ||
| SELECT * FROM `T8a` CROSS JOIN `T8b`;
 | ||
| SELECT * FROM `T8a` LEFT JOIN `T8b` USING (`C1`);
 | ||
| SELECT * FROM `T8a` LEFT JOIN `T8b` ON (`T8a`.`C1` = `T8b`.`C1`);
 | ||
| SELECT * FROM `T8b` RIGHT JOIN `T8a` USING (`C1`);
 | ||
| SELECT * FROM `T8b` RIGHT JOIN `T8a` ON (`T8a`.`C1` = `T8b`.`C1`);
 | ||
| SELECT * FROM `T9a` JOIN `T9b`;
 | ||
| SELECT * FROM `T9a` INNER JOIN `T9b`;
 | ||
| SELECT * FROM `T9a` JOIN `T9b` USING (`C1`);
 | ||
| SELECT * FROM `T9a` INNER JOIN `T9b` USING (`C1`);
 | ||
| SELECT * FROM `T9a` CROSS JOIN `T9b`;
 | ||
| SELECT * FROM `T9a` LEFT JOIN `T9b` USING (`C1`);
 | ||
| SELECT * FROM `T9a` LEFT JOIN `T9b` ON (`T9a`.`C1` = `T9b`.`C1`);
 | ||
| SELECT * FROM `T9b` RIGHT JOIN `T9a` USING (`C1`);
 | ||
| SELECT * FROM `T9b` RIGHT JOIN `T9a` ON (`T9a`.`C1` = `T9b`.`C1`);
 | ||
| 
 | ||
| #Test for heap
 | ||
| SELECT * FROM `T10a` JOIN `T10b`;
 | ||
| SELECT * FROM `T10a` INNER JOIN `T10b`;
 | ||
| SELECT * FROM `T10a` JOIN `T10b` USING (`C1`);
 | ||
| SELECT * FROM `T10a` INNER JOIN `T10b` USING (`C1`);
 | ||
| SELECT * FROM `T10a` CROSS JOIN `T10b`;
 | ||
| SELECT * FROM `T10a` LEFT JOIN `T10b` USING (`C1`);
 | ||
| SELECT * FROM `T10a` LEFT JOIN `T10b` ON (`T10a`.`C1` = `T10b`.`C1`);
 | ||
| SELECT * FROM `T10b` RIGHT JOIN `T10a` USING (`C1`);
 | ||
| SELECT * FROM `T10b` RIGHT JOIN `T10a` ON (`T10a`.`C1` = `T10b`.`C1`);
 | ||
| SELECT * FROM `T11a` JOIN `T11b`;
 | ||
| SELECT * FROM `T11a` INNER JOIN `T11b`;
 | ||
| SELECT * FROM `T11a` JOIN `T11b` USING (`C1`);
 | ||
| SELECT * FROM `T11a` INNER JOIN `T11b` USING (`C1`);
 | ||
| SELECT * FROM `T11a` CROSS JOIN `T11b`;
 | ||
| SELECT * FROM `T11a` LEFT JOIN `T11b` USING (`C1`);
 | ||
| SELECT * FROM `T11a` LEFT JOIN `T11b` ON (`T11a`.`C1` = `T11b`.`C1`);
 | ||
| SELECT * FROM `T11b` RIGHT JOIN `T11a` USING (`C1`);
 | ||
| SELECT * FROM `T11b` RIGHT JOIN `T11a` ON (`T11a`.`C1` = `T11b`.`C1`);
 | ||
| SELECT * FROM `T12a` JOIN `T12b`;
 | ||
| SELECT * FROM `T12a` INNER JOIN `T12b`;
 | ||
| SELECT * FROM `T12a` JOIN `T12b` USING (`C1`);
 | ||
| SELECT * FROM `T12a` INNER JOIN `T12b` USING (`C1`);
 | ||
| SELECT * FROM `T12a` CROSS JOIN `T12b`;
 | ||
| SELECT * FROM `T12a` LEFT JOIN `T12b` USING (`C1`);
 | ||
| SELECT * FROM `T12a` LEFT JOIN `T12b` ON (`T12a`.`C1` = `T12b`.`C1`);
 | ||
| SELECT * FROM `T12b` RIGHT JOIN `T12a` USING (`C1`);
 | ||
| SELECT * FROM `T12b` RIGHT JOIN `T12a` ON (`T12a`.`C1` = `T12b`.`C1`);
 | ||
| 
 | ||
| DROP TABLE `T1a`;
 | ||
| DROP TABLE `T1b`;
 | ||
| DROP TABLE `T2a`;
 | ||
| DROP TABLE `T2b`;
 | ||
| DROP TABLE `T3a`;
 | ||
| DROP TABLE `T3b`;
 | ||
| DROP TABLE `T4a`;
 | ||
| DROP TABLE `T4b`;
 | ||
| DROP TABLE `T5a`;
 | ||
| DROP TABLE `T5b`;
 | ||
| DROP TABLE `T6a`;
 | ||
| DROP TABLE `T6b`;
 | ||
| DROP TABLE `T7a`;
 | ||
| DROP TABLE `T7b`;
 | ||
| DROP TABLE `T8a`;
 | ||
| DROP TABLE `T8b`;
 | ||
| DROP TABLE `T9a`;
 | ||
| DROP TABLE `T9b`;
 | ||
| DROP TABLE `T10a`;
 | ||
| DROP TABLE `T10b`;
 | ||
| DROP TABLE `T11a`;
 | ||
| DROP TABLE `T11b`;
 | ||
| DROP TABLE `T12a`;
 | ||
| DROP TABLE `T12b`;
 | 
