mariadb/mysql-test/suite/jp/t/jp_ps_ujis.test
serg@sergbook.mysql.com 77bc68f99d Many files:
Change mode to -rw-rw----
2005-01-07 14:32:05 +02:00

455 lines
13 KiB
Text
Raw Blame History

--source include/have_ujis.inc
--disable_warnings
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t2;
DROP TABLE IF EXISTS t3;
DROP TABLE IF EXISTS t4;
--enable_warnings
#
# Test Prepares Statement with Japanese character in ujis encoding
#
SET NAMES ujis;
SET character_set_database = ujis;
### Test InnoDB ###
CREATE TABLE t1(c1 char(3)) DEFAULT CHARSET = ujis ENGINE = InnoDB;
CREATE TABLE t2(c1 char(3)) DEFAULT CHARSET = ujis ENGINE = InnoDB;
CREATE TABLE t3(
`Ž±` char(1),
`¤¢` char(1),
`<60>íÜ` char(1)
)DEFAULT CHARSET = ujis ENGINE = InnoDB;
CREATE TABLE t4(c1 char(1)) DEFAULT CHARSET = ujis ENGINE = InnoDB;
INSERT INTO t1 VALUES ('xxx');
INSERT INTO t2 VALUES ('Ž±¤¢<C2A4>íÜ');
INSERT INTO t3 VALUES ('x','x','x'),('x','x','x'),('y','y','y'),('y','y','y'),('z','z','z'),('z','z','z');
INSERT INTO t4 VALUES ('Ž±'),('¤¢'),('<27>íÜ');
# Japanese parameter for column name
# the parameter for stmt is not interpreted as column name
PREPARE stmt1 FROM 'SELECT ? FROM t3';
PREPARE stmt2 FROM 'SELECT * FROM t3 ORDER BY ?';
PREPARE stmt3 FROM 'SELECT COUNT(*) FROM t3 GROUP BY ?';
# Japanese parameter for function argument
PREPARE stmt4 FROM 'SELECT CHAR_LENGTH(?)';
PREPARE stmt5 FROM 'SELECT CHARSET(?)';
PREPARE stmt6 FROM 'SELECT INSERT(c1,1,1,?) FROM t1';
PREPARE stmt7 FROM 'SELECT INSTR(c1,?) FROM t2';
PREPARE stmt8 FROM 'SELECT LOCATE(?,c1) FROM t2';
PREPARE stmt9 FROM 'SELECT LPAD(c1,9,?) FROM t1';
PREPARE stmt10 FROM 'SELECT REPLACE(c1,?,\'x\') FROM t2';
PREPARE stmt11 FROM 'SELECT REPLACE(c1,\'x\',?) FROM t1';
PREPARE stmt12 FROM 'SELECT RPAD(c1,9,?) FROM t1';
# Japanese parameter for UPDATE
PREPARE stmt13 FROM 'UPDATE t4 SET c1=\'x\' WHERE c1=?';
PREPARE stmt14 FROM 'UPDATE t4 SET c1=? WHERE c1=\'x\'';
## Test jisx0201 ##
SET @arg = 'Ž±';
EXECUTE stmt1 USING @arg;
EXECUTE stmt2 USING @arg;
EXECUTE stmt3 USING @arg;
EXECUTE stmt4 USING @arg;
EXECUTE stmt5 USING @arg;
EXECUTE stmt6 USING @arg;
EXECUTE stmt7 USING @arg;
EXECUTE stmt8 USING @arg;
EXECUTE stmt9 USING @arg;
EXECUTE stmt10 USING @arg;
EXECUTE stmt11 USING @arg;
EXECUTE stmt12 USING @arg;
EXECUTE stmt13 USING @arg;
SELECT * FROM t4;
EXECUTE stmt14 USING @arg;
SELECT * FROM t4;
## Test jisx0208 ##
SET @arg = '¤¢';
EXECUTE stmt1 USING @arg;
EXECUTE stmt2 USING @arg;
EXECUTE stmt3 USING @arg;
EXECUTE stmt4 USING @arg;
EXECUTE stmt5 USING @arg;
EXECUTE stmt6 USING @arg;
EXECUTE stmt7 USING @arg;
EXECUTE stmt8 USING @arg;
EXECUTE stmt9 USING @arg;
EXECUTE stmt10 USING @arg;
EXECUTE stmt11 USING @arg;
EXECUTE stmt12 USING @arg;
EXECUTE stmt13 USING @arg;
SELECT * FROM t4;
EXECUTE stmt14 USING @arg;
SELECT * FROM t4;
# Test jisx0212 ##
SET @arg = '<27>íÜ';
EXECUTE stmt1 USING @arg;
EXECUTE stmt2 USING @arg;
EXECUTE stmt3 USING @arg;
EXECUTE stmt4 USING @arg;
EXECUTE stmt5 USING @arg;
EXECUTE stmt6 USING @arg;
EXECUTE stmt7 USING @arg;
EXECUTE stmt8 USING @arg;
EXECUTE stmt9 USING @arg;
EXECUTE stmt10 USING @arg;
EXECUTE stmt11 USING @arg;
EXECUTE stmt12 USING @arg;
EXECUTE stmt13 USING @arg;
SELECT * FROM t4;
EXECUTE stmt14 USING @arg;
SELECT * FROM t4;
DEALLOCATE PREPARE stmt1;
DEALLOCATE PREPARE stmt2;
DEALLOCATE PREPARE stmt3;
DEALLOCATE PREPARE stmt4;
DEALLOCATE PREPARE stmt5;
DEALLOCATE PREPARE stmt6;
DEALLOCATE PREPARE stmt7;
DEALLOCATE PREPARE stmt8;
DEALLOCATE PREPARE stmt9;
DEALLOCATE PREPARE stmt10;
DEALLOCATE PREPARE stmt11;
DEALLOCATE PREPARE stmt12;
DEALLOCATE PREPARE stmt13;
DEALLOCATE PREPARE stmt14;
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE t4;
### Test MyISAM ###
CREATE TABLE t1(c1 char(3)) DEFAULT CHARSET = ujis ENGINE = MyISAM;
CREATE TABLE t2(c1 char(3)) DEFAULT CHARSET = ujis ENGINE = MyISAM;
CREATE TABLE t3(
`Ž±` char(1),
`¤¢` char(1),
`<60>íÜ` char(1)
)DEFAULT CHARSET = ujis ENGINE = MyISAM;
CREATE TABLE t4(c1 char(1)) DEFAULT CHARSET = ujis ENGINE = MyISAM;
INSERT INTO t1 VALUES ('xxx');
INSERT INTO t2 VALUES ('Ž±¤¢<C2A4>íÜ');
INSERT INTO t3 VALUES ('x','x','x'),('x','x','x'),('y','y','y'),('y','y','y'),('z','z','z'),('z','z','z');
INSERT INTO t4 VALUES ('Ž±'),('¤¢'),('<27>íÜ' );
# Japanese parameter for column name
PREPARE stmt1 FROM 'SELECT ? FROM t3';
PREPARE stmt2 FROM 'SELECT * FROM t3 ORDER BY ?';
PREPARE stmt3 FROM 'SELECT COUNT(*) FROM t3 GROUP BY ?';
# Japanese parameter for function argument
PREPARE stmt4 FROM 'SELECT CHAR_LENGTH(?)';
PREPARE stmt5 FROM 'SELECT CHARSET(?)';
PREPARE stmt6 FROM 'SELECT INSERT(c1,1,1,?) FROM t1';
PREPARE stmt7 FROM 'SELECT INSTR(c1,?) FROM t2';
PREPARE stmt8 FROM 'SELECT LOCATE(?,c1) FROM t2';
PREPARE stmt9 FROM 'SELECT LPAD(c1,9,?) FROM t1';
PREPARE stmt10 FROM 'SELECT REPLACE(c1,?,\'x\') FROM t2';
PREPARE stmt11 FROM 'SELECT REPLACE(c1,\'x\',?) FROM t1';
PREPARE stmt12 FROM 'SELECT RPAD(c1,9,?) FROM t1';
# Japanese parameter for UPDATE
PREPARE stmt13 FROM 'UPDATE t4 SET c1=\'x\' WHERE c1=?';
PREPARE stmt14 FROM 'UPDATE t4 SET c1=? WHERE c1=\'x\'';
## Test jisx0201 ##
SET @arg = 'Ž±';
EXECUTE stmt1 USING @arg;
EXECUTE stmt2 USING @arg;
EXECUTE stmt3 USING @arg;
EXECUTE stmt4 USING @arg;
EXECUTE stmt5 USING @arg;
EXECUTE stmt6 USING @arg;
EXECUTE stmt7 USING @arg;
EXECUTE stmt8 USING @arg;
EXECUTE stmt9 USING @arg;
EXECUTE stmt10 USING @arg;
EXECUTE stmt11 USING @arg;
EXECUTE stmt12 USING @arg;
EXECUTE stmt13 USING @arg;
SELECT * FROM t4;
EXECUTE stmt14 USING @arg;
SELECT * FROM t4;
## Test jisx0208 ##
SET @arg = '¤¢';
EXECUTE stmt1 USING @arg;
EXECUTE stmt2 USING @arg;
EXECUTE stmt3 USING @arg;
EXECUTE stmt4 USING @arg;
EXECUTE stmt5 USING @arg;
EXECUTE stmt6 USING @arg;
EXECUTE stmt7 USING @arg;
EXECUTE stmt8 USING @arg;
EXECUTE stmt9 USING @arg;
EXECUTE stmt10 USING @arg;
EXECUTE stmt11 USING @arg;
EXECUTE stmt12 USING @arg;
EXECUTE stmt13 USING @arg;
SELECT * FROM t4;
EXECUTE stmt14 USING @arg;
SELECT * FROM t4;
## Test jisx0212 ##
SET @arg = '<27>íÜ';
EXECUTE stmt1 USING @arg;
EXECUTE stmt2 USING @arg;
EXECUTE stmt3 USING @arg;
EXECUTE stmt4 USING @arg;
EXECUTE stmt5 USING @arg;
EXECUTE stmt6 USING @arg;
EXECUTE stmt7 USING @arg;
EXECUTE stmt8 USING @arg;
EXECUTE stmt9 USING @arg;
EXECUTE stmt10 USING @arg;
EXECUTE stmt11 USING @arg;
EXECUTE stmt12 USING @arg;
EXECUTE stmt13 USING @arg;
SELECT * FROM t4;
EXECUTE stmt14 USING @arg;
SELECT * FROM t4;
DEALLOCATE PREPARE stmt1;
DEALLOCATE PREPARE stmt2;
DEALLOCATE PREPARE stmt3;
DEALLOCATE PREPARE stmt4;
DEALLOCATE PREPARE stmt5;
DEALLOCATE PREPARE stmt6;
DEALLOCATE PREPARE stmt7;
DEALLOCATE PREPARE stmt8;
DEALLOCATE PREPARE stmt9;
DEALLOCATE PREPARE stmt10;
DEALLOCATE PREPARE stmt11;
DEALLOCATE PREPARE stmt12;
DEALLOCATE PREPARE stmt13;
DEALLOCATE PREPARE stmt14;
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE t4;
### Test HEAP ###
CREATE TABLE t1(c1 char(3)) DEFAULT CHARSET = ujis ENGINE = HEAP;
CREATE TABLE t2(c1 char(3)) DEFAULT CHARSET = ujis ENGINE = HEAP;
CREATE TABLE t3(
`Ž±` char(1),
`¤¢` char(1),
`<60>íÜ` char(1)
)DEFAULT CHARSET = ujis ENGINE = HEAP;
CREATE TABLE t4(c1 char(1)) DEFAULT CHARSET = ujis ENGINE =HEAP;
INSERT INTO t1 VALUES ('xxx');
INSERT INTO t2 VALUES ('Ž±¤¢<C2A4>íÜ');
INSERT INTO t3 VALUES ('x','x','x'),('x','x','x'),('y','y','y'),('y','y','y'),('z','z','z'),('z','z','z');
INSERT INTO t4 VALUES ('Ž±'),('¤¢'),('<27>íÜ' );
# Japanese parameter for column name
PREPARE stmt1 FROM 'SELECT ? FROM t3';
PREPARE stmt2 FROM 'SELECT * FROM t3 ORDER BY ?';
PREPARE stmt3 FROM 'SELECT COUNT(*) FROM t3 GROUP BY ?';
# Japanese parameter for function argument
PREPARE stmt4 FROM 'SELECT CHAR_LENGTH(?)';
PREPARE stmt5 FROM 'SELECT CHARSET(?)';
PREPARE stmt6 FROM 'SELECT INSERT(c1,1,1,?) FROM t1';
PREPARE stmt7 FROM 'SELECT INSTR(c1,?) FROM t2';
PREPARE stmt8 FROM 'SELECT LOCATE(?,c1) FROM t2';
PREPARE stmt9 FROM 'SELECT LPAD(c1,9,?) FROM t1';
PREPARE stmt10 FROM 'SELECT REPLACE(c1,?,\'x\') FROM t2';
PREPARE stmt11 FROM 'SELECT REPLACE(c1,\'x\',?) FROM t1';
PREPARE stmt12 FROM 'SELECT RPAD(c1,9,?) FROM t1';
# Japanese parameter for UPDATE
PREPARE stmt13 FROM 'UPDATE t4 SET c1=\'x\' WHERE c1=?';
PREPARE stmt14 FROM 'UPDATE t4 SET c1=? WHERE c1=\'x\'';
## Test jisx0201 ##
SET @arg = 'Ž±';
EXECUTE stmt1 USING @arg;
EXECUTE stmt2 USING @arg;
EXECUTE stmt3 USING @arg;
EXECUTE stmt4 USING @arg;
EXECUTE stmt5 USING @arg;
EXECUTE stmt6 USING @arg;
EXECUTE stmt7 USING @arg;
EXECUTE stmt8 USING @arg;
EXECUTE stmt9 USING @arg;
EXECUTE stmt10 USING @arg;
EXECUTE stmt11 USING @arg;
EXECUTE stmt12 USING @arg;
EXECUTE stmt13 USING @arg;
SELECT * FROM t4;
EXECUTE stmt14 USING @arg;
SELECT * FROM t4;
## Test jisx0208 ##
SET @arg = '¤¢';
EXECUTE stmt1 USING @arg;
EXECUTE stmt2 USING @arg;
EXECUTE stmt3 USING @arg;
EXECUTE stmt4 USING @arg;
EXECUTE stmt5 USING @arg;
EXECUTE stmt6 USING @arg;
EXECUTE stmt7 USING @arg;
EXECUTE stmt8 USING @arg;
EXECUTE stmt9 USING @arg;
EXECUTE stmt10 USING @arg;
EXECUTE stmt11 USING @arg;
EXECUTE stmt12 USING @arg;
EXECUTE stmt13 USING @arg;
SELECT * FROM t4;
EXECUTE stmt14 USING @arg;
SELECT * FROM t4;
## Test jisx0212 ##
SET @arg = '<27>íÜ';
EXECUTE stmt1 USING @arg;
EXECUTE stmt2 USING @arg;
EXECUTE stmt3 USING @arg;
EXECUTE stmt4 USING @arg;
EXECUTE stmt5 USING @arg;
EXECUTE stmt6 USING @arg;
EXECUTE stmt7 USING @arg;
EXECUTE stmt8 USING @arg;
EXECUTE stmt9 USING @arg;
EXECUTE stmt10 USING @arg;
EXECUTE stmt11 USING @arg;
EXECUTE stmt12 USING @arg;
EXECUTE stmt13 USING @arg;
SELECT * FROM t4;
EXECUTE stmt14 USING @arg;
SELECT * FROM t4;
DEALLOCATE PREPARE stmt1;
DEALLOCATE PREPARE stmt2;
DEALLOCATE PREPARE stmt3;
DEALLOCATE PREPARE stmt4;
DEALLOCATE PREPARE stmt5;
DEALLOCATE PREPARE stmt6;
DEALLOCATE PREPARE stmt7;
DEALLOCATE PREPARE stmt8;
DEALLOCATE PREPARE stmt9;
DEALLOCATE PREPARE stmt10;
DEALLOCATE PREPARE stmt11;
DEALLOCATE PREPARE stmt12;
DEALLOCATE PREPARE stmt13;
DEALLOCATE PREPARE stmt14;
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE t4;
### Test BDB ###
CREATE TABLE t1(c1 char(3)) DEFAULT CHARSET = ujis ENGINE = BDB;
CREATE TABLE t2(c1 char(3)) DEFAULT CHARSET = ujis ENGINE = BDB;
CREATE TABLE t3(
`Ž±` char(1),
`¤¢` char(1),
`<60>íÜ` char(1)
)DEFAULT CHARSET = ujis ENGINE = BDB;
CREATE TABLE t4(c1 char(1)) DEFAULT CHARSET = ujis ENGINE = BDB;
INSERT INTO t1 VALUES ('xxx');
INSERT INTO t2 VALUES ('Ž±¤¢<C2A4>íÜ');
INSERT INTO t3 VALUES ('x','x','x'),('x','x','x'),('y','y','y'),('y','y','y'),('z','z','z'),('z','z','z');
INSERT INTO t4 VALUES ('Ž±'),('¤¢'),('<27>íÜ' );
# Japanese parameter for column name
PREPARE stmt1 FROM 'SELECT ? FROM t3';
PREPARE stmt2 FROM 'SELECT * FROM t3 ORDER BY ?';
PREPARE stmt3 FROM 'SELECT COUNT(*) FROM t3 GROUP BY ?';
# Japanese parameter for function argument
PREPARE stmt4 FROM 'SELECT CHAR_LENGTH(?)';
PREPARE stmt5 FROM 'SELECT CHARSET(?)';
PREPARE stmt6 FROM 'SELECT INSERT(c1,1,1,?) FROM t1';
PREPARE stmt7 FROM 'SELECT INSTR(c1,?) FROM t2';
PREPARE stmt8 FROM 'SELECT LOCATE(?,c1) FROM t2';
PREPARE stmt9 FROM 'SELECT LPAD(c1,9,?) FROM t1';
PREPARE stmt10 FROM 'SELECT REPLACE(c1,?,\'x\') FROM t2';
PREPARE stmt11 FROM 'SELECT REPLACE(c1,\'x\',?) FROM t1';
PREPARE stmt12 FROM 'SELECT RPAD(c1,9,?) FROM t1';
# Japanese parameter for UPDATE
PREPARE stmt13 FROM 'UPDATE t4 SET c1=\'x\' WHERE c1=?';
PREPARE stmt14 FROM 'UPDATE t4 SET c1=? WHERE c1=\'x\'';
## Test jisx0201 ##
SET @arg = 'Ž±';
EXECUTE stmt1 USING @arg;
EXECUTE stmt2 USING @arg;
EXECUTE stmt3 USING @arg;
EXECUTE stmt4 USING @arg;
EXECUTE stmt5 USING @arg;
EXECUTE stmt6 USING @arg;
EXECUTE stmt7 USING @arg;
EXECUTE stmt8 USING @arg;
EXECUTE stmt9 USING @arg;
EXECUTE stmt10 USING @arg;
EXECUTE stmt11 USING @arg;
EXECUTE stmt12 USING @arg;
EXECUTE stmt13 USING @arg;
SELECT * FROM t3;
EXECUTE stmt14 USING @arg;
SELECT * FROM t3;
## Test jisx0208 ##
SET @arg = '¤¢';
EXECUTE stmt1 USING @arg;
EXECUTE stmt2 USING @arg;
EXECUTE stmt3 USING @arg;
EXECUTE stmt4 USING @arg;
EXECUTE stmt5 USING @arg;
EXECUTE stmt6 USING @arg;
EXECUTE stmt7 USING @arg;
EXECUTE stmt8 USING @arg;
EXECUTE stmt9 USING @arg;
EXECUTE stmt10 USING @arg;
EXECUTE stmt11 USING @arg;
EXECUTE stmt12 USING @arg;
EXECUTE stmt13 USING @arg;
SELECT * FROM t4;
EXECUTE stmt14 USING @arg;
SELECT * FROM t4;
##Test jisx0212 ##
SET @arg = '<27>íÜ';
EXECUTE stmt1 USING @arg;
EXECUTE stmt2 USING @arg;
EXECUTE stmt3 USING @arg;
EXECUTE stmt4 USING @arg;
EXECUTE stmt5 USING @arg;
EXECUTE stmt6 USING @arg;
EXECUTE stmt7 USING @arg;
EXECUTE stmt8 USING @arg;
EXECUTE stmt9 USING @arg;
EXECUTE stmt10 USING @arg;
EXECUTE stmt11 USING @arg;
EXECUTE stmt12 USING @arg;
EXECUTE stmt13 USING @arg;
SELECT * FROM t4;
EXECUTE stmt14 USING @arg;
SELECT * FROM t4;
DEALLOCATE PREPARE stmt1;
DEALLOCATE PREPARE stmt2;
DEALLOCATE PREPARE stmt3;
DEALLOCATE PREPARE stmt4;
DEALLOCATE PREPARE stmt5;
DEALLOCATE PREPARE stmt6;
DEALLOCATE PREPARE stmt7;
DEALLOCATE PREPARE stmt8;
DEALLOCATE PREPARE stmt9;
DEALLOCATE PREPARE stmt10;
DEALLOCATE PREPARE stmt11;
DEALLOCATE PREPARE stmt12;
DEALLOCATE PREPARE stmt13;
DEALLOCATE PREPARE stmt14;
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE t4;