mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
464c2de70a
Bug#28563 Test suite "jp" fails completely - The main goal of this fix is to make the "jp" suite runnable in general and to make it more robust for use in pushbuild under build team conditions. - It was decided to fix the remaining heavy issues within the architecture of this test later (-> WL 4327 Redesign the 'jp' testsuite for build team testing conditions) Only the test jp_trim_sjis got some significant improvements of its architecture (Just as proof of concept for the other tests). - Tests suffering from Bug 36597 Testsuite "jp": Suspicious results for some tests (unexpected result sets) were disabled - *.opt files were used to avoid differences on OS (Windows) because of case sensitive tablenames within the tests
114 lines
6.5 KiB
Text
114 lines
6.5 KiB
Text
--source include/have_utf8.inc
|
||
--source include/have_innodb.inc
|
||
|
||
--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`;
|
||
--enable_warnings
|
||
|
||
#
|
||
# Test subquery using Japanese characters in utf8 encoding
|
||
#
|
||
|
||
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 = myisam;
|
||
CREATE TABLE `T4b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = myisam;
|
||
CREATE TABLE `T5a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = myisam;
|
||
CREATE TABLE `T5b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = myisam;
|
||
CREATE TABLE `T6a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = myisam;
|
||
CREATE TABLE `T6b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = myisam;
|
||
CREATE TABLE `T7a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = MEMORY;
|
||
CREATE TABLE `T7b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = MEMORY;
|
||
CREATE TABLE `T8a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = MEMORY;
|
||
CREATE TABLE `T8b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = MEMORY;
|
||
CREATE TABLE `T9a` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = MEMORY;
|
||
CREATE TABLE `T9b` (`C1` char(1) PRIMARY KEY) DEFAULT CHARSET = utf8 engine = MEMORY;
|
||
|
||
#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 ('龔');
|
||
|
||
#Test for innodb
|
||
SELECT `C1` FROM `T1a` WHERE `C1` IN (SELECT `C1` FROM `T1b`);
|
||
SELECT `C1` FROM `T1a` WHERE EXISTS (SELECT `C1` FROM `T1b` WHERE `T1a`.`C1` = `T1b`.`C1`);
|
||
SELECT `C1` FROM `T1a` WHERE NOT EXISTS (SELECT `C1` FROM `T1b` WHERE `T1a`.`C1` = `T1b`.`C1`);
|
||
SELECT `C1` FROM `T2a` WHERE `C1` IN (SELECT `C1` FROM `T2b`);
|
||
SELECT `C1` FROM `T2a` WHERE EXISTS (SELECT `C1` FROM `T2b` WHERE `T2a`.`C1` = `T2b`.`C1`);
|
||
SELECT `C1` FROM `T2a` WHERE NOT EXISTS (SELECT `C1` FROM `T2b` WHERE `T2a`.`C1` = `T2b`.`C1`);
|
||
SELECT `C1` FROM `T3a` WHERE `C1` IN (SELECT `C1` FROM `T3b`);
|
||
SELECT `C1` FROM `T3a` WHERE EXISTS (SELECT `C1` FROM `T3b` WHERE `T3a`.`C1` = `T3b`.`C1`);
|
||
SELECT `C1` FROM `T3a` WHERE NOT EXISTS (SELECT `C1` FROM `T3b` WHERE `T3a`.`C1` = `T3b`.`C1`);
|
||
#Test for myisam
|
||
SELECT `C1` FROM `T4a` WHERE `C1` IN (SELECT `C1` FROM `T4b`);
|
||
SELECT `C1` FROM `T4a` WHERE EXISTS (SELECT `C1` FROM `T4b` WHERE `T4a`.`C1` = `T4b`.`C1`);
|
||
SELECT `C1` FROM `T4a` WHERE NOT EXISTS (SELECT `C1` FROM `T4b` WHERE `T4a`.`C1` = `T4b`.`C1`);
|
||
SELECT `C1` FROM `T5a` WHERE `C1` IN (SELECT `C1` FROM `T5b`);
|
||
SELECT `C1` FROM `T5a` WHERE EXISTS (SELECT `C1` FROM `T5b` WHERE `T5a`.`C1` = `T5b`.`C1`);
|
||
SELECT `C1` FROM `T5a` WHERE NOT EXISTS (SELECT `C1` FROM `T5b` WHERE `T5a`.`C1` = `T5b`.`C1`);
|
||
SELECT `C1` FROM `T6a` WHERE `C1` IN (SELECT `C1` FROM `T6b`);
|
||
SELECT `C1` FROM `T6a` WHERE EXISTS (SELECT `C1` FROM `T6b` WHERE `T6a`.`C1` = `T6b`.`C1`);
|
||
SELECT `C1` FROM `T6a` WHERE NOT EXISTS (SELECT `C1` FROM `T6b` WHERE `T6a`.`C1` = `T6b`.`C1`);
|
||
#Test for memory
|
||
SELECT `C1` FROM `T7a` WHERE `C1` IN (SELECT `C1` FROM `T7b`);
|
||
SELECT `C1` FROM `T7a` WHERE EXISTS (SELECT `C1` FROM `T7b` WHERE `T7a`.`C1` = `T7b`.`C1`);
|
||
SELECT `C1` FROM `T7a` WHERE NOT EXISTS (SELECT `C1` FROM `T7b` WHERE `T7a`.`C1` = `T7b`.`C1`);
|
||
SELECT `C1` FROM `T8a` WHERE `C1` IN (SELECT `C1` FROM `T8b`);
|
||
SELECT `C1` FROM `T8a` WHERE EXISTS (SELECT `C1` FROM `T8b` WHERE `T8a`.`C1` = `T8b`.`C1`);
|
||
SELECT `C1` FROM `T8a` WHERE NOT EXISTS (SELECT `C1` FROM `T8b` WHERE `T8a`.`C1` = `T8b`.`C1`);
|
||
SELECT `C1` FROM `T9a` WHERE `C1` IN (SELECT `C1` FROM `T9b`);
|
||
SELECT `C1` FROM `T9a` WHERE EXISTS (SELECT `C1` FROM `T9b` WHERE `T9a`.`C1` = `T9b`.`C1`);
|
||
SELECT `C1` FROM `T9a` WHERE NOT EXISTS (SELECT `C1` FROM `T9b` WHERE `T9a`.`C1` = `T9b`.`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`;
|