summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/jp/t/jp_alter_sjis.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/jp/t/jp_alter_sjis.test')
-rw-r--r--mysql-test/suite/jp/t/jp_alter_sjis.test318
1 files changed, 318 insertions, 0 deletions
diff --git a/mysql-test/suite/jp/t/jp_alter_sjis.test b/mysql-test/suite/jp/t/jp_alter_sjis.test
new file mode 100644
index 00000000..ec3abf01
--- /dev/null
+++ b/mysql-test/suite/jp/t/jp_alter_sjis.test
@@ -0,0 +1,318 @@
+--source include/have_sjis.inc
+--character_set sjis
+SET NAMES sjis;
+SET character_set_database = sjis;
+--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 `十十十`;
+--enable_warnings
+
+#
+# Test altering table with Japanese characters in sjis encoding
+#
+
+#
+# Test InnoDB
+#
+CREATE TABLE `アアア`(`キキキ` char(5)) DEFAULT CHARSET = sjis engine=INNODB;
+CREATE TABLE `イイイ`(`ケケケ` char(5)) DEFAULT CHARSET = sjis engine=INNODB;
+CREATE TABLE `あああ`(`ききき` char(5)) DEFAULT CHARSET = sjis engine=INNODB;
+CREATE TABLE `いいい`(`けけけ` char(5)) DEFAULT CHARSET = sjis engine=INNODB;
+CREATE TABLE `ソソソ`(`表表表` char(5)) DEFAULT CHARSET = sjis engine=INNODB;
+CREATE TABLE `十十十`(`予予予` char(5)) DEFAULT CHARSET = sjis engine=INNODB;
+
+INSERT INTO `アアア` VALUES ('アアアアア'),('イイイイイ'),('ウウウウウ');
+INSERT INTO `あああ` VALUES ('あああああ'),('いいいいい'),('ううううう');
+INSERT INTO `ソソソ` VALUES ('表表表表表'),('構構構構構'),('能能能能能');
+
+# Test basic alter operation
+
+ALTER TABLE `アアア` ADD `カカカ` char(1) FIRST;
+ALTER TABLE `アアア` ADD `ククク` char(1) AFTER `キキキ`;
+ALTER TABLE `アアア` ADD `ケケケ` char(1);
+ALTER TABLE `アアア` ADD INDEX (`カカカ`);
+ALTER TABLE `アアア` ADD PRIMARY KEY (`キキキ`);
+ALTER TABLE `アアア` ADD UNIQUE (`ククク`);
+#Multi-byte field name is not allowed for FOREIGN KEY As of 4.1.4
+#ALTER TABLE `アアア` ADD FOREIGN KEY (`ケケケ`) REFERENCES `イイイ`(`ケケケ`);
+ALTER TABLE `アアア` CHANGE `カカカ` `カカ` char(1);
+ALTER TABLE `アアア` MODIFY `キキキ` char(6);
+
+SELECT * FROM `アアア`;
+DESC `アアア`;
+SHOW CREATE TABLE `アアア`;
+
+ALTER TABLE `アアア` DROP INDEX `カカカ`;
+ALTER TABLE `アアア` DROP PRIMARY KEY;
+ALTER TABLE `アアア` DROP INDEX `ククク`;
+#ALTER TABLE `アアア` DROP FOREIGN KEY `ケケケ`;
+ALTER TABLE `アアア` DROP `カカ`;
+ALTER TABLE `アアア` DROP `ククク`;
+ALTER TABLE `アアア` DROP `ケケケ`;
+SELECT * FROM `アアア`;
+DESC `アアア`;
+SHOW CREATE TABLE `アアア`;
+
+ALTER TABLE `あああ` ADD `かかか` char(1) FIRST;
+ALTER TABLE `あああ` ADD `くくく` char(1) AFTER `ききき`;
+ALTER TABLE `あああ` ADD `けけけ` char(1);
+ALTER TABLE `あああ` ADD INDEX (`かかか`);
+ALTER TABLE `あああ` ADD PRIMARY KEY (`ききき`);
+ALTER TABLE `あああ` ADD UNIQUE (`くくく`);
+#Multi-byte field name is not allowed for FOREIGN KEY As of 4.1.4
+#ALTER TABLE `あああ` ADD FOREIGN KEY (`けけけ`) REFERENCES `いいい`(`けけけ`);
+ALTER TABLE `あああ` CHANGE `かかか` `かか` char(1);
+ALTER TABLE `あああ` MODIFY `ききき` char(6);
+
+SELECT * FROM `あああ`;
+DESC `あああ`;
+SHOW CREATE TABLE `あああ`;
+
+ALTER TABLE `あああ` DROP INDEX `かかか`;
+ALTER TABLE `あああ` DROP PRIMARY KEY;
+ALTER TABLE `あああ` DROP INDEX `くくく`;
+#ALTER TABLE `あああ` DROP FOREIGN KEY `けけけ`;
+ALTER TABLE `あああ` DROP `かか`;
+ALTER TABLE `あああ` DROP `くくく`;
+ALTER TABLE `あああ` DROP `けけけ`;
+
+SELECT * FROM `あああ`;
+DESC `あああ`;
+SHOW CREATE TABLE `あああ`;
+
+ALTER TABLE `ソソソ` ADD `構構構` char(1) FIRST;
+ALTER TABLE `ソソソ` ADD `能能能` char(1) AFTER `表表表`;
+ALTER TABLE `ソソソ` ADD `予予予` char(1);
+ALTER TABLE `ソソソ` ADD INDEX (`構構構`);
+ALTER TABLE `ソソソ` ADD PRIMARY KEY (`表表表`);
+ALTER TABLE `ソソソ` ADD UNIQUE (`能能能`);
+#Multi-byte field name is not allowed for FOREIGN KEY As of 4.1.4
+#ALTER TABLE `ソソソ` ADD FOREIGN KEY (`予予予`) REFERENCES `十十十`(`予予予`);
+ALTER TABLE `ソソソ` CHANGE `構構構` `構構` char(1);
+ALTER TABLE `ソソソ` MODIFY `表表表` char(6);
+
+SELECT * FROM `ソソソ`;
+DESC `ソソソ`;
+SHOW CREATE TABLE `ソソソ`;
+
+ALTER TABLE `ソソソ` DROP INDEX `構構構`;
+ALTER TABLE `ソソソ` DROP PRIMARY KEY;
+ALTER TABLE `ソソソ` DROP INDEX `能能能`;
+#ALTER TABLE `ソソソ` DROP FOREIGN KEY `予予予`;
+ALTER TABLE `ソソソ` DROP `構構`;
+ALTER TABLE `ソソソ` DROP `能能能`;
+ALTER TABLE `ソソソ` DROP `予予予`;
+
+SELECT * FROM `ソソソ`;
+DESC `ソソソ`;
+SHOW CREATE TABLE `ソソソ`;
+
+DROP TABLE `アアア`;
+DROP TABLE `イイイ`;
+DROP TABLE `あああ`;
+DROP TABLE `いいい`;
+DROP TABLE `ソソソ`;
+DROP TABLE `十十十`;
+
+#
+# Test MyISAM
+#
+
+CREATE TABLE `アアア`(`キキキ` char(5)) DEFAULT CHARSET = sjis engine=MYISAM;
+CREATE TABLE `イイイ`(`ケケケ` char(5)) DEFAULT CHARSET = sjis engine=MYISAM;
+CREATE TABLE `あああ`(`ききき` char(5)) DEFAULT CHARSET = sjis engine=MYISAM;
+CREATE TABLE `いいい`(`けけけ` char(5)) DEFAULT CHARSET = sjis engine=MYISAM;
+CREATE TABLE `ソソソ`(`表表表` char(5)) DEFAULT CHARSET = sjis engine=MYISAM;
+CREATE TABLE `十十十`(`予予予` char(5)) DEFAULT CHARSET = sjis engine=MYISAM;
+
+INSERT INTO `アアア` VALUES ('アアアアア'),('イイイイイ'),('ウウウウウ');
+INSERT INTO `あああ` VALUES ('あああああ'),('いいいいい'),('ううううう');
+INSERT INTO `ソソソ` VALUES ('表表表表表'),('構構構構構'),('能能能能能');
+
+ALTER TABLE `アアア` ADD `カカカ` char(1) FIRST;
+ALTER TABLE `アアア` ADD `ククク` char(1) AFTER `キキキ`;
+ALTER TABLE `アアア` ADD `ケケケ` char(1);
+ALTER TABLE `アアア` ADD INDEX (`カカカ`);
+ALTER TABLE `アアア` ADD PRIMARY KEY (`キキキ`);
+ALTER TABLE `アアア` ADD UNIQUE (`ククク`);
+#ALTER TABLE `アアア` ADD FOREIGN KEY (`ケケケ`) REFERENCES `イイイ`(`ケケケ`);
+ALTER TABLE `アアア` CHANGE `カカカ` `カカ` char(1);
+ALTER TABLE `アアア` MODIFY `キキキ` char(6);
+
+SELECT * FROM `アアア`;
+DESC `アアア`;
+SHOW CREATE TABLE `アアア`;
+
+ALTER TABLE `アアア` DROP INDEX `カカカ`;
+ALTER TABLE `アアア` DROP PRIMARY KEY;
+ALTER TABLE `アアア` DROP INDEX `ククク`;
+#ALTER TABLE `アアア` DROP FOREIGN KEY `ケケケ`;
+ALTER TABLE `アアア` DROP `カカ`;
+ALTER TABLE `アアア` DROP `ククク`;
+ALTER TABLE `アアア` DROP `ケケケ`;
+SELECT * FROM `アアア`;
+DESC `アアア`;
+SHOW CREATE TABLE `アアア`;
+
+ALTER TABLE `あああ` ADD `かかか` char(1) FIRST;
+ALTER TABLE `あああ` ADD `くくく` char(1) AFTER `ききき`;
+ALTER TABLE `あああ` ADD `けけけ` char(1);
+ALTER TABLE `あああ` ADD INDEX (`かかか`);
+ALTER TABLE `あああ` ADD PRIMARY KEY (`ききき`);
+ALTER TABLE `あああ` ADD UNIQUE (`くくく`);
+#ALTER TABLE `あああ` ADD FOREIGN KEY (`けけけ`) REFERENCES `いいい`(`けけけ`);
+ALTER TABLE `あああ` CHANGE `かかか` `かか` char(1);
+ALTER TABLE `あああ` MODIFY `ききき` char(6);
+
+SELECT * FROM `あああ`;
+DESC `あああ`;
+SHOW CREATE TABLE `あああ`;
+
+ALTER TABLE `あああ` DROP INDEX `かかか`;
+ALTER TABLE `あああ` DROP PRIMARY KEY;
+ALTER TABLE `あああ` DROP INDEX `くくく`;
+#ALTER TABLE `あああ` DROP FOREIGN KEY `けけけ`;
+ALTER TABLE `あああ` DROP `かか`;
+ALTER TABLE `あああ` DROP `くくく`;
+ALTER TABLE `あああ` DROP `けけけ`;
+
+SELECT * FROM `あああ`;
+DESC `あああ`;
+SHOW CREATE TABLE `あああ`;
+
+ALTER TABLE `ソソソ` ADD `構構構` char(1) FIRST;
+ALTER TABLE `ソソソ` ADD `能能能` char(1) AFTER `表表表`;
+ALTER TABLE `ソソソ` ADD `予予予` char(1);
+ALTER TABLE `ソソソ` ADD INDEX (`構構構`);
+ALTER TABLE `ソソソ` ADD PRIMARY KEY (`表表表`);
+ALTER TABLE `ソソソ` ADD UNIQUE (`能能能`);
+#ALTER TABLE `ソソソ` ADD FOREIGN KEY (`予予予`) REFERENCES `十十十`(`予予予`);
+ALTER TABLE `ソソソ` CHANGE `構構構` `構構` char(1);
+ALTER TABLE `ソソソ` MODIFY `表表表` char(6);
+
+SELECT * FROM `ソソソ`;
+DESC `ソソソ`;
+SHOW CREATE TABLE `ソソソ`;
+
+ALTER TABLE `ソソソ` DROP INDEX `構構構`;
+ALTER TABLE `ソソソ` DROP PRIMARY KEY;
+ALTER TABLE `ソソソ` DROP INDEX `能能能`;
+#ALTER TABLE `ソソソ` DROP FOREIGN KEY `予予予`;
+ALTER TABLE `ソソソ` DROP `構構`;
+ALTER TABLE `ソソソ` DROP `能能能`;
+ALTER TABLE `ソソソ` DROP `予予予`;
+
+SELECT * FROM `ソソソ`;
+DESC `ソソソ`;
+SHOW CREATE TABLE `ソソソ`;
+
+DROP TABLE `アアア`;
+DROP TABLE `イイイ`;
+DROP TABLE `あああ`;
+DROP TABLE `いいい`;
+DROP TABLE `ソソソ`;
+DROP TABLE `十十十`;
+
+#
+# Test MEMORY
+#
+
+CREATE TABLE `アアア`(`キキキ` char(5)) DEFAULT CHARSET = sjis engine=MEMORY;
+CREATE TABLE `イイイ`(`ケケケ` char(5)) DEFAULT CHARSET = sjis engine=MEMORY;
+CREATE TABLE `あああ`(`ききき` char(5)) DEFAULT CHARSET = sjis engine=MEMORY;
+CREATE TABLE `いいい`(`けけけ` char(5)) DEFAULT CHARSET = sjis engine=MEMORY;
+CREATE TABLE `ソソソ`(`表表表` char(5)) DEFAULT CHARSET = sjis engine=MEMORY;
+CREATE TABLE `十十十`(`予予予` char(5)) DEFAULT CHARSET = sjis engine=MEMORY;
+
+INSERT INTO `アアア` VALUES ('アアアアア'),('イイイイイ'),('ウウウウウ');
+INSERT INTO `あああ` VALUES ('あああああ'),('いいいいい'),('ううううう');
+INSERT INTO `ソソソ` VALUES ('表表表表表'),('構構構構構'),('能能能能能');
+
+ALTER TABLE `アアア` ADD `カカカ` char(1) FIRST;
+ALTER TABLE `アアア` ADD `ククク` char(1) AFTER `キキキ`;
+ALTER TABLE `アアア` ADD `ケケケ` char(1);
+ALTER TABLE `アアア` ADD INDEX (`カカカ`);
+ALTER TABLE `アアア` ADD PRIMARY KEY (`キキキ`);
+ALTER TABLE `アアア` ADD UNIQUE (`ククク`);
+#ALTER TABLE `アアア` ADD FOREIGN KEY (`ケケケ`) REFERENCES `イイイ`(`ケケケ`);
+ALTER TABLE `アアア` CHANGE `カカカ` `カカ` char(1);
+ALTER TABLE `アアア` MODIFY `キキキ` char(6);
+
+SELECT * FROM `アアア`;
+DESC `アアア`;
+SHOW CREATE TABLE `アアア`;
+
+ALTER TABLE `アアア` DROP INDEX `カカカ`;
+ALTER TABLE `アアア` DROP PRIMARY KEY;
+ALTER TABLE `アアア` DROP INDEX `ククク`;
+#ALTER TABLE `アアア` DROP FOREIGN KEY `ケケケ`;
+ALTER TABLE `アアア` DROP `カカ`;
+ALTER TABLE `アアア` DROP `ククク`;
+ALTER TABLE `アアア` DROP `ケケケ`;
+SELECT * FROM `アアア`;
+DESC `アアア`;
+SHOW CREATE TABLE `アアア`;
+
+ALTER TABLE `あああ` ADD `かかか` char(1) FIRST;
+ALTER TABLE `あああ` ADD `くくく` char(1) AFTER `ききき`;
+ALTER TABLE `あああ` ADD `けけけ` char(1);
+ALTER TABLE `あああ` ADD INDEX (`かかか`);
+ALTER TABLE `あああ` ADD PRIMARY KEY (`ききき`);
+ALTER TABLE `あああ` ADD UNIQUE (`くくく`);
+#ALTER TABLE `あああ` ADD FOREIGN KEY (`けけけ`) REFERENCES `いいい`(`けけけ`);
+ALTER TABLE `あああ` CHANGE `かかか` `かか` char(1);
+ALTER TABLE `あああ` MODIFY `ききき` char(6);
+
+SELECT * FROM `あああ`;
+DESC `あああ`;
+SHOW CREATE TABLE `あああ`;
+
+ALTER TABLE `あああ` DROP INDEX `かかか`;
+ALTER TABLE `あああ` DROP PRIMARY KEY;
+ALTER TABLE `あああ` DROP INDEX `くくく`;
+#ALTER TABLE `あああ` DROP FOREIGN KEY `けけけ`;
+ALTER TABLE `あああ` DROP `かか`;
+ALTER TABLE `あああ` DROP `くくく`;
+ALTER TABLE `あああ` DROP `けけけ`;
+
+SELECT * FROM `あああ`;
+DESC `あああ`;
+SHOW CREATE TABLE `あああ`;
+
+ALTER TABLE `ソソソ` ADD `構構構` char(1) FIRST;
+ALTER TABLE `ソソソ` ADD `能能能` char(1) AFTER `表表表`;
+ALTER TABLE `ソソソ` ADD `予予予` char(1);
+ALTER TABLE `ソソソ` ADD INDEX (`構構構`);
+ALTER TABLE `ソソソ` ADD PRIMARY KEY (`表表表`);
+ALTER TABLE `ソソソ` ADD UNIQUE (`能能能`);
+#ALTER TABLE `ソソソ` ADD FOREIGN KEY (`予予予`) REFERENCES `十十十`(`予予予`);
+ALTER TABLE `ソソソ` CHANGE `構構構` `構構` char(1);
+ALTER TABLE `ソソソ` MODIFY `表表表` char(6);
+
+SELECT * FROM `ソソソ`;
+DESC `ソソソ`;
+SHOW CREATE TABLE `ソソソ`;
+
+ALTER TABLE `ソソソ` DROP INDEX `構構構`;
+ALTER TABLE `ソソソ` DROP PRIMARY KEY;
+ALTER TABLE `ソソソ` DROP INDEX `能能能`;
+#ALTER TABLE `ソソソ` DROP FOREIGN KEY `予予予`;
+ALTER TABLE `ソソソ` DROP `構構`;
+ALTER TABLE `ソソソ` DROP `能能能`;
+ALTER TABLE `ソソソ` DROP `予予予`;
+
+SELECT * FROM `ソソソ`;
+DESC `ソソソ`;
+SHOW CREATE TABLE `ソソソ`;
+
+DROP TABLE `アアア`;
+DROP TABLE `イイイ`;
+DROP TABLE `あああ`;
+DROP TABLE `いいい`;
+DROP TABLE `ソソソ`;
+DROP TABLE `十十十`;