--source include/have_ucs2.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 `�ԣ�`;
drop table if exists `�ԣ���`;
drop table if exists `�ԣ���`;
drop table if exists `�ԣ���`;
--enable_warnings

#
# Test subquery using Japanese characters in ucs2 encoding 
#

SET NAMES ujis;
SET character_set_database = ucs2;
SET collation_connection = ucs2_general_ci;

CREATE TABLE `�ԣ�a` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = innodb;
CREATE TABLE `�ԣ�b` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = innodb;
CREATE TABLE `�ԣ�a` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = innodb;
CREATE TABLE `�ԣ�b` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = innodb;
CREATE TABLE `�ԣ�a` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = innodb;
CREATE TABLE `�ԣ�b` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = innodb;
CREATE TABLE `�ԣ�a` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = myisam;
CREATE TABLE `�ԣ�b` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = myisam;
CREATE TABLE `�ԣ�a` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = myisam;
CREATE TABLE `�ԣ�b` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = myisam;
CREATE TABLE `�ԣ�a` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = myisam;
CREATE TABLE `�ԣ�b` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = myisam;
CREATE TABLE `�ԣ�a` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = heap;
CREATE TABLE `�ԣ�b` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = heap;
CREATE TABLE `�ԣ�a` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = heap;
CREATE TABLE `�ԣ�b` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = heap;
CREATE TABLE `�ԣ�a` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = heap;
CREATE TABLE `�ԣ�b` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = heap;
CREATE TABLE `�ԣ���a` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = heap;
CREATE TABLE `�ԣ���b` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = heap;
CREATE TABLE `�ԣ���a` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = heap;
CREATE TABLE `�ԣ���b` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = heap;
CREATE TABLE `�ԣ���a` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = heap;
CREATE TABLE `�ԣ���b` (`�ã�` char(1) PRIMARY KEY) DEFAULT CHARSET = ucs2 engine = heap;

#insert the following data in each table
# jisx0201 hankaku-katakana data
# jisx0208 data
# jisx0212 supplemental character data

INSERT INTO `�ԣ�a` VALUES ('��'),('��'),('��');
INSERT INTO `�ԣ�b` VALUES ('��');
INSERT INTO `�ԣ�a` VALUES ('��'),('��'),('��');
INSERT INTO `�ԣ�b` VALUES ('��');
INSERT INTO `�ԣ�a` VALUES ('���'),('���'),('���');
INSERT INTO `�ԣ�b` VALUES ('���');
INSERT INTO `�ԣ�a` VALUES ('��'),('��'),('��');
INSERT INTO `�ԣ�b` VALUES ('��');
INSERT INTO `�ԣ�a` VALUES ('��'),('��'),('��');
INSERT INTO `�ԣ�b` VALUES ('��');
INSERT INTO `�ԣ�a` VALUES ('���'),('���'),('���');
INSERT INTO `�ԣ�b` VALUES ('���');
INSERT INTO `�ԣ�a` VALUES ('��'),('��'),('��');
INSERT INTO `�ԣ�b` VALUES ('��');
INSERT INTO `�ԣ�a` VALUES ('��'),('��'),('��');
INSERT INTO `�ԣ�b` VALUES ('��');
INSERT INTO `�ԣ�a` VALUES ('���'),('���'),('���');
INSERT INTO `�ԣ�b` VALUES ('���');
INSERT INTO `�ԣ���a` VALUES ('��'),('��'),('��');
INSERT INTO `�ԣ���b` VALUES ('��');
INSERT INTO `�ԣ���a` VALUES ('��'),('��'),('��');
INSERT INTO `�ԣ���b` VALUES ('��');
INSERT INTO `�ԣ���a` VALUES ('���'),('���'),('���');
INSERT INTO `�ԣ���b` VALUES ('���');

#Test for innodb
SELECT `�ã�` FROM `�ԣ�a` WHERE `�ã�` IN (SELECT `�ã�` FROM `�ԣ�b`);
SELECT `�ã�` FROM `�ԣ�a` WHERE EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE NOT EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE `�ã�` IN (SELECT `�ã�` FROM `�ԣ�b`);
SELECT `�ã�` FROM `�ԣ�a` WHERE EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE NOT EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE `�ã�` IN (SELECT `�ã�` FROM `�ԣ�b`);
SELECT `�ã�` FROM `�ԣ�a` WHERE EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE NOT EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE `�ã�` IN (SELECT `�ã�` FROM `�ԣ�b`);
SELECT `�ã�` FROM `�ԣ�a` WHERE EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE NOT EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE `�ã�` IN (SELECT `�ã�` FROM `�ԣ�b`);
SELECT `�ã�` FROM `�ԣ�a` WHERE EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE NOT EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE `�ã�` IN (SELECT `�ã�` FROM `�ԣ�b`);
SELECT `�ã�` FROM `�ԣ�a` WHERE EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE NOT EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE `�ã�` IN (SELECT `�ã�` FROM `�ԣ�b`);
SELECT `�ã�` FROM `�ԣ�a` WHERE EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE NOT EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE `�ã�` IN (SELECT `�ã�` FROM `�ԣ�b`);
SELECT `�ã�` FROM `�ԣ�a` WHERE EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE NOT EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE `�ã�` IN (SELECT `�ã�` FROM `�ԣ�b`);
SELECT `�ã�` FROM `�ԣ�a` WHERE EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ�a` WHERE NOT EXISTS (SELECT `�ã�` FROM `�ԣ�b` WHERE `�ԣ�a`.`�ã�` = `�ԣ�b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ���a` WHERE `�ã�` IN (SELECT `�ã�` FROM `�ԣ���b`);
SELECT `�ã�` FROM `�ԣ���a` WHERE EXISTS (SELECT `�ã�` FROM `�ԣ���b` WHERE `�ԣ���a`.`�ã�` = `�ԣ���b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ���a` WHERE NOT EXISTS (SELECT `�ã�` FROM `�ԣ���b` WHERE `�ԣ���a`.`�ã�` = `�ԣ���b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ���a` WHERE `�ã�` IN (SELECT `�ã�` FROM `�ԣ���b`);
SELECT `�ã�` FROM `�ԣ���a` WHERE EXISTS (SELECT `�ã�` FROM `�ԣ���b` WHERE `�ԣ���a`.`�ã�` = `�ԣ���b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ���a` WHERE NOT EXISTS (SELECT `�ã�` FROM `�ԣ���b` WHERE `�ԣ���a`.`�ã�` = `�ԣ���b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ���a` WHERE `�ã�` IN (SELECT `�ã�` FROM `�ԣ���b`);
SELECT `�ã�` FROM `�ԣ���a` WHERE EXISTS (SELECT `�ã�` FROM `�ԣ���b` WHERE `�ԣ���a`.`�ã�` = `�ԣ���b`.`�ã�`);
SELECT `�ã�` FROM `�ԣ���a` WHERE NOT EXISTS (SELECT `�ã�` FROM `�ԣ���b` WHERE `�ԣ���a`.`�ã�` = `�ԣ���b`.`�ã�`);

DROP TABLE `�ԣ�a`;
DROP TABLE `�ԣ�b`;
DROP TABLE `�ԣ�a`;
DROP TABLE `�ԣ�b`;
DROP TABLE `�ԣ�a`;
DROP TABLE `�ԣ�b`;
DROP TABLE `�ԣ�a`;
DROP TABLE `�ԣ�b`;
DROP TABLE `�ԣ�a`;
DROP TABLE `�ԣ�b`;
DROP TABLE `�ԣ�a`;
DROP TABLE `�ԣ�b`;
DROP TABLE `�ԣ�a`;
DROP TABLE `�ԣ�b`;
DROP TABLE `�ԣ�a`;
DROP TABLE `�ԣ�b`;
DROP TABLE `�ԣ�a`;
DROP TABLE `�ԣ�b`;
DROP TABLE `�ԣ���a`;
DROP TABLE `�ԣ���b`;
DROP TABLE `�ԣ���a`;
DROP TABLE `�ԣ���b`;
DROP TABLE `�ԣ���a`;
DROP TABLE `�ԣ���b`;