diff options
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/include/mix2.inc | 222 | ||||
-rw-r--r-- | mysql-test/include/mix2_ucs2.inc | 228 | ||||
-rw-r--r-- | mysql-test/r/mix2_myisam.result | 312 | ||||
-rw-r--r-- | mysql-test/r/mix2_myisam_ucs2.result | 312 | ||||
-rw-r--r-- | mysql-test/t/mix2_myisam_ucs2.test | 27 |
5 files changed, 567 insertions, 534 deletions
diff --git a/mysql-test/include/mix2.inc b/mysql-test/include/mix2.inc index 8c11f094907..f6af48435e3 100644 --- a/mysql-test/include/mix2.inc +++ b/mysql-test/include/mix2.inc @@ -1770,139 +1770,6 @@ disconnect a; disconnect b; } -# -# BUG 14056 Column prefix index on UTF-8 primary key column causes: Can't find record.. -# - -eval create table t1 ( - a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2)) -) character set utf8 engine = $engine_type; -eval create table t2 ( - a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2)) -) character set ucs2 engine = $engine_type; -insert into t1 values (1,'abcdefg','abcdefg','one'); -insert into t1 values (2,'ijkilmn','ijkilmn','two'); -insert into t1 values (3,'qrstuvw','qrstuvw','three'); -insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); -insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); -insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); -insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); -insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); -insert into t2 values (1,'abcdefg','abcdefg','one'); -insert into t2 values (2,'ijkilmn','ijkilmn','two'); -insert into t2 values (3,'qrstuvw','qrstuvw','three'); -insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); -insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); -insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); -insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); -insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); -insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); -insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); -insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); -insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); -update t1 set filler = 'boo' where a = 1; -update t2 set filler ='email' where a = 4; -select a,hex(b),hex(c),filler from t1 order by filler; -select a,hex(b),hex(c),filler from t2 order by filler; -drop table t1; -drop table t2; - -eval create table t1 ( - a int, b varchar(10), c varchar(10), filler varchar(10), primary key(a, b(2)), unique key (a, c(2)) -) character set utf8 engine = $engine_type; -eval create table t2 ( - a int, b varchar(10), c varchar(10), filler varchar(10), primary key(a, b(2)), unique key (a, c(2)) -) character set ucs2 engine = $engine_type; -insert into t1 values (1,'abcdefg','abcdefg','one'); -insert into t1 values (2,'ijkilmn','ijkilmn','two'); -insert into t1 values (3,'qrstuvw','qrstuvw','three'); -insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); -insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); -insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); -insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); -insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); -insert into t2 values (1,'abcdefg','abcdefg','one'); -insert into t2 values (2,'ijkilmn','ijkilmn','two'); -insert into t2 values (3,'qrstuvw','qrstuvw','three'); -insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); -insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); -insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); -insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); -insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); -insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); -insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); -insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); -insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); -update t1 set filler = 'boo' where a = 1; -update t2 set filler ='email' where a = 4; -select a,hex(b),hex(c),filler from t1 order by filler; -select a,hex(b),hex(c),filler from t2 order by filler; -drop table t1; -drop table t2; - -eval create table t1 ( - a int, b text(10), c text(10), filler text(10), primary key(a, b(2)), unique key (a, c(2)) -) character set utf8 engine = $engine_type; -eval create table t2 ( - a int, b text(10), c text(10), filler text(10), primary key(a, b(2)), unique key (a, c(2)) -) character set ucs2 engine = $engine_type; -insert into t1 values (1,'abcdefg','abcdefg','one'); -insert into t1 values (2,'ijkilmn','ijkilmn','two'); -insert into t1 values (3,'qrstuvw','qrstuvw','three'); -insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); -insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); -insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); -insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); -insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); -insert into t2 values (1,'abcdefg','abcdefg','one'); -insert into t2 values (2,'ijkilmn','ijkilmn','two'); -insert into t2 values (3,'qrstuvw','qrstuvw','three'); -insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); -insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); -insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); -insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); -insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); -insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); -insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); -insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); -insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); -update t1 set filler = 'boo' where a = 1; -update t2 set filler ='email' where a = 4; -select a,hex(b),hex(c),filler from t1 order by filler; -select a,hex(b),hex(c),filler from t2 order by filler; -drop table t1; -drop table t2; - -eval create table t1 ( - a int, b blob(10), c blob(10), filler blob(10), primary key(a, b(2)), unique key (a, c(2)) -) character set utf8 engine = $engine_type; -eval create table t2 ( - a int, b blob(10), c blob(10), filler blob(10), primary key(a, b(2)), unique key (a, c(2)) -) character set ucs2 engine = $engine_type; -insert into t1 values (1,'abcdefg','abcdefg','one'); -insert into t1 values (2,'ijkilmn','ijkilmn','two'); -insert into t1 values (3,'qrstuvw','qrstuvw','three'); -insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); -insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); -insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); -insert into t2 values (1,'abcdefg','abcdefg','one'); -insert into t2 values (2,'ijkilmn','ijkilmn','two'); -insert into t2 values (3,'qrstuvw','qrstuvw','three'); -insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); -insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); -insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); -insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); -insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); -insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); -insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); -update t1 set filler = 'boo' where a = 1; -update t2 set filler ='email' where a = 4; -select a,hex(b),hex(c),filler from t1 order by filler; -select a,hex(b),hex(c),filler from t2 order by filler; -drop table t1; -drop table t2; -commit; - # tests for bugs #9802 and #13778 if ($test_foreign_keys) @@ -2099,95 +1966,6 @@ drop table t2,t1; } # End FOREIGN KEY tests -# -# Test cases for bug #15308 Problem of Order with Enum Column in Primary Key -# -eval CREATE TABLE t1 ( - ind enum('0','1','2') NOT NULL default '0', - string1 varchar(250) NOT NULL, - PRIMARY KEY (ind) -) ENGINE=$engine_type DEFAULT CHARSET=utf8; -eval CREATE TABLE t2 ( - ind enum('0','1','2') NOT NULL default '0', - string1 varchar(250) NOT NULL, - PRIMARY KEY (ind) -) ENGINE=$engine_type DEFAULT CHARSET=ucs2; - -INSERT INTO t1 VALUES ('1', ''),('2', ''); -INSERT INTO t2 VALUES ('1', ''),('2', ''); -SELECT hex(ind),hex(string1) FROM t1 ORDER BY string1; -SELECT hex(ind),hex(string1) FROM t2 ORDER BY string1; -drop table t1,t2; - -eval CREATE TABLE t1 ( - ind set('0','1','2') NOT NULL default '0', - string1 varchar(250) NOT NULL, - PRIMARY KEY (ind) -) ENGINE=$engine_type DEFAULT CHARSET=utf8; -eval CREATE TABLE t2 ( - ind set('0','1','2') NOT NULL default '0', - string1 varchar(250) NOT NULL, - PRIMARY KEY (ind) -) ENGINE=$engine_type DEFAULT CHARSET=ucs2; - -INSERT INTO t1 VALUES ('1', ''),('2', ''); -INSERT INTO t2 VALUES ('1', ''),('2', ''); -SELECT hex(ind),hex(string1) FROM t1 ORDER BY string1; -SELECT hex(ind),hex(string1) FROM t2 ORDER BY string1; -drop table t1,t2; - -eval CREATE TABLE t1 ( - ind bit not null, - string1 varchar(250) NOT NULL, - PRIMARY KEY (ind) -) ENGINE=$engine_type DEFAULT CHARSET=utf8; -eval CREATE TABLE t2 ( - ind bit not null, - string1 varchar(250) NOT NULL, - PRIMARY KEY (ind) -) ENGINE=$engine_type DEFAULT CHARSET=ucs2; -insert into t1 values(0,''),(1,''); -insert into t2 values(0,''),(1,''); -select hex(ind),hex(string1) from t1 order by string1; -select hex(ind),hex(string1) from t2 order by string1; -drop table t1,t2; - -# tests for bug #14056 Column prefix index on UTF-8 primary key column causes 'Can't find record..' - -eval create table t2 ( - a int, b char(10), filler char(10), primary key(a, b(2)) -) character set utf8 engine = $engine_type; - -insert into t2 values (1,'abcdefg','one'); -insert into t2 values (2,'ijkilmn','two'); -insert into t2 values (3, 'qrstuvw','three'); -update t2 set a=5, filler='booo' where a=1; -drop table t2; -eval create table t2 ( - a int, b char(10), filler char(10), primary key(a, b(2)) -) character set ucs2 engine = $engine_type; - -insert into t2 values (1,'abcdefg','one'); -insert into t2 values (2,'ijkilmn','two'); -insert into t2 values (3, 'qrstuvw','three'); -update t2 set a=5, filler='booo' where a=1; -drop table t2; - -eval create table t1(a int not null, b char(110),primary key(a,b(100))) engine=$engine_type default charset=utf8; -insert into t1 values(1,'abcdefg'),(2,'defghijk'); -insert into t1 values(6,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1); -insert into t1 values(7,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2); -select a,hex(b) from t1 order by b; -update t1 set b = 'three' where a = 6; -drop table t1; -eval create table t1(a int not null, b text(110),primary key(a,b(100))) engine=$engine_type default charset=utf8; -insert into t1 values(1,'abcdefg'),(2,'defghijk'); -insert into t1 values(6,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1); -insert into t1 values(7,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2); -select a,hex(b) from t1 order by b; -update t1 set b = 'three' where a = 6; -drop table t1; - if ($test_foreign_keys) { # Ensure that <tablename>_ibfk_0 is not mistreated as a diff --git a/mysql-test/include/mix2_ucs2.inc b/mysql-test/include/mix2_ucs2.inc new file mode 100644 index 00000000000..418bc7aad74 --- /dev/null +++ b/mysql-test/include/mix2_ucs2.inc @@ -0,0 +1,228 @@ +# +# Tests from mix2.inc which require ucs2 character sets should go here +# + +# +# BUG 14056 Column prefix index on UTF-8 primary key column causes: Can't find record.. +# + +eval create table t1 ( + a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2)) +) character set utf8 engine = $engine_type; +eval create table t2 ( + a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2)) +) character set ucs2 engine = $engine_type; +insert into t1 values (1,'abcdefg','abcdefg','one'); +insert into t1 values (2,'ijkilmn','ijkilmn','two'); +insert into t1 values (3,'qrstuvw','qrstuvw','three'); +insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); +insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); +insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); +insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); +insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); +insert into t2 values (1,'abcdefg','abcdefg','one'); +insert into t2 values (2,'ijkilmn','ijkilmn','two'); +insert into t2 values (3,'qrstuvw','qrstuvw','three'); +insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); +insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); +insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); +insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); +insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); +insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); +insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); +insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); +insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); +update t1 set filler = 'boo' where a = 1; +update t2 set filler ='email' where a = 4; +select a,hex(b),hex(c),filler from t1 order by filler; +select a,hex(b),hex(c),filler from t2 order by filler; +drop table t1; +drop table t2; + +eval create table t1 ( + a int, b varchar(10), c varchar(10), filler varchar(10), primary key(a, b(2)), unique key (a, c(2)) +) character set utf8 engine = $engine_type; +eval create table t2 ( + a int, b varchar(10), c varchar(10), filler varchar(10), primary key(a, b(2)), unique key (a, c(2)) +) character set ucs2 engine = $engine_type; +insert into t1 values (1,'abcdefg','abcdefg','one'); +insert into t1 values (2,'ijkilmn','ijkilmn','two'); +insert into t1 values (3,'qrstuvw','qrstuvw','three'); +insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); +insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); +insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); +insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); +insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); +insert into t2 values (1,'abcdefg','abcdefg','one'); +insert into t2 values (2,'ijkilmn','ijkilmn','two'); +insert into t2 values (3,'qrstuvw','qrstuvw','three'); + + +insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); +insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); +insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); +insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); +insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); +insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); +insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); +insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); +insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); +update t1 set filler = 'boo' where a = 1; +update t2 set filler ='email' where a = 4; +select a,hex(b),hex(c),filler from t1 order by filler; +select a,hex(b),hex(c),filler from t2 order by filler; +drop table t1; +drop table t2; + +eval create table t1 ( + a int, b text(10), c text(10), filler text(10), primary key(a, b(2)), unique key (a, c(2)) +) character set utf8 engine = $engine_type; +eval create table t2 ( + a int, b text(10), c text(10), filler text(10), primary key(a, b(2)), unique key (a, c(2)) +) character set ucs2 engine = $engine_type; +insert into t1 values (1,'abcdefg','abcdefg','one'); +insert into t1 values (2,'ijkilmn','ijkilmn','two'); +insert into t1 values (3,'qrstuvw','qrstuvw','three'); +insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); +insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); +insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); +insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); +insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); +insert into t2 values (1,'abcdefg','abcdefg','one'); +insert into t2 values (2,'ijkilmn','ijkilmn','two'); +insert into t2 values (3,'qrstuvw','qrstuvw','three'); +insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); +insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); +insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); +insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); +insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); +insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); +insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); +insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); +insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); +update t1 set filler = 'boo' where a = 1; +update t2 set filler ='email' where a = 4; +select a,hex(b),hex(c),filler from t1 order by filler; +select a,hex(b),hex(c),filler from t2 order by filler; +drop table t1; +drop table t2; + +eval create table t1 ( + a int, b blob(10), c blob(10), filler blob(10), primary key(a, b(2)), unique key (a, c(2)) +) character set utf8 engine = $engine_type; +eval create table t2 ( + a int, b blob(10), c blob(10), filler blob(10), primary key(a, b(2)), unique key (a, c(2)) +) character set ucs2 engine = $engine_type; +insert into t1 values (1,'abcdefg','abcdefg','one'); +insert into t1 values (2,'ijkilmn','ijkilmn','two'); +insert into t1 values (3,'qrstuvw','qrstuvw','three'); +insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); +insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); +insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); +insert into t2 values (1,'abcdefg','abcdefg','one'); +insert into t2 values (2,'ijkilmn','ijkilmn','two'); +insert into t2 values (3,'qrstuvw','qrstuvw','three'); +insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); +insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); +insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); +insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); +insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); +insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); +insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); +update t1 set filler = 'boo' where a = 1; +update t2 set filler ='email' where a = 4; +select a,hex(b),hex(c),filler from t1 order by filler; +select a,hex(b),hex(c),filler from t2 order by filler; +drop table t1; +drop table t2; +commit; + +# +# Test cases for bug #15308 Problem of Order with Enum Column in Primary Key +# +eval CREATE TABLE t1 ( + ind enum('0','1','2') NOT NULL default '0', + string1 varchar(250) NOT NULL, + PRIMARY KEY (ind) +) ENGINE=$engine_type DEFAULT CHARSET=utf8; +eval CREATE TABLE t2 ( + ind enum('0','1','2') NOT NULL default '0', + string1 varchar(250) NOT NULL, + PRIMARY KEY (ind) +) ENGINE=$engine_type DEFAULT CHARSET=ucs2; + +INSERT INTO t1 VALUES ('1', ''),('2', ''); +INSERT INTO t2 VALUES ('1', ''),('2', ''); +SELECT hex(ind),hex(string1) FROM t1 ORDER BY string1; +SELECT hex(ind),hex(string1) FROM t2 ORDER BY string1; +drop table t1,t2; + +eval CREATE TABLE t1 ( + ind set('0','1','2') NOT NULL default '0', + string1 varchar(250) NOT NULL, + PRIMARY KEY (ind) +) ENGINE=$engine_type DEFAULT CHARSET=utf8; +eval CREATE TABLE t2 ( + ind set('0','1','2') NOT NULL default '0', + string1 varchar(250) NOT NULL, + PRIMARY KEY (ind) +) ENGINE=$engine_type DEFAULT CHARSET=ucs2; + +INSERT INTO t1 VALUES ('1', ''),('2', ''); +INSERT INTO t2 VALUES ('1', ''),('2', ''); +SELECT hex(ind),hex(string1) FROM t1 ORDER BY string1; +SELECT hex(ind),hex(string1) FROM t2 ORDER BY string1; +drop table t1,t2; + +eval CREATE TABLE t1 ( + ind bit not null, + string1 varchar(250) NOT NULL, + PRIMARY KEY (ind) +) ENGINE=$engine_type DEFAULT CHARSET=utf8; +eval CREATE TABLE t2 ( + ind bit not null, + string1 varchar(250) NOT NULL, + PRIMARY KEY (ind) +) ENGINE=$engine_type DEFAULT CHARSET=ucs2; +insert into t1 values(0,''),(1,''); +insert into t2 values(0,''),(1,''); +select hex(ind),hex(string1) from t1 order by string1; +select hex(ind),hex(string1) from t2 order by string1; +drop table t1,t2; + +# tests for bug #14056 Column prefix index on UTF-8 primary key column causes 'Can't find record..' + +eval create table t2 ( + a int, b char(10), filler char(10), primary key(a, b(2)) +) character set utf8 engine = $engine_type; + +insert into t2 values (1,'abcdefg','one'); +insert into t2 values (2,'ijkilmn','two'); +insert into t2 values (3, 'qrstuvw','three'); +update t2 set a=5, filler='booo' where a=1; +drop table t2; +eval create table t2 ( + a int, b char(10), filler char(10), primary key(a, b(2)) +) character set ucs2 engine = $engine_type; + +insert into t2 values (1,'abcdefg','one'); +insert into t2 values (2,'ijkilmn','two'); +insert into t2 values (3, 'qrstuvw','three'); +update t2 set a=5, filler='booo' where a=1; +drop table t2; + +eval create table t1(a int not null, b char(110),primary key(a,b(100))) engine=$engine_type default charset=utf8; +insert into t1 values(1,'abcdefg'),(2,'defghijk'); +insert into t1 values(6,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1); +insert into t1 values(7,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2); +select a,hex(b) from t1 order by b; +update t1 set b = 'three' where a = 6; +drop table t1; +eval create table t1(a int not null, b text(110),primary key(a,b(100))) engine=$engine_type default charset=utf8; +insert into t1 values(1,'abcdefg'),(2,'defghijk'); +insert into t1 values(6,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1); +insert into t1 values(7,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2); +select a,hex(b) from t1 order by b; +update t1 set b = 'three' where a = 6; +drop table t1; + diff --git a/mysql-test/r/mix2_myisam.result b/mysql-test/r/mix2_myisam.result index 45b4784251a..f8bebe4fd79 100644 --- a/mysql-test/r/mix2_myisam.result +++ b/mysql-test/r/mix2_myisam.result @@ -2058,318 +2058,6 @@ delete t1 from t1,t2 where f1=f3 and f4='cc'; select * from t1; f1 f2 drop table t1,t2; -create table t1 ( -a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2)) -) character set utf8 engine = MyISAM; -create table t2 ( -a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2)) -) character set ucs2 engine = MyISAM; -insert into t1 values (1,'abcdefg','abcdefg','one'); -insert into t1 values (2,'ijkilmn','ijkilmn','two'); -insert into t1 values (3,'qrstuvw','qrstuvw','three'); -insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); -insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); -insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); -insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); -insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); -insert into t2 values (1,'abcdefg','abcdefg','one'); -insert into t2 values (2,'ijkilmn','ijkilmn','two'); -insert into t2 values (3,'qrstuvw','qrstuvw','three'); -insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); -insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); -insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); -insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); -insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); -insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); -insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); -insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); -insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); -update t1 set filler = 'boo' where a = 1; -update t2 set filler ='email' where a = 4; -select a,hex(b),hex(c),filler from t1 order by filler; -a hex(b) hex(c) filler -1 61626364656667 61626364656667 boo -4 D0B1 D0B1 eight -4 5B 5B five -4 E880BD E880BD four -4 E880BDD0B1E880BD E880BDD0B1E880BD seven -4 E880BDE880BD E880BDE880BD six -3 71727374757677 71727374757677 three -2 696A6B696C6D6E 696A6B696C6D6E two -select a,hex(b),hex(c),filler from t2 order by filler; -a hex(b) hex(c) filler -4 05612020 05612020 email -4 0000563001FC0563 0000563001FC0563 email -4 05630563 05630563 email -4 0563 0563 email -4 0120 0120 email -4 01FC 01FC email -4 00E400E50068 00E400E50068 email -4 00640065 00640065 email -4 0000E400 0000E400 email -1 0061006200630064006500660067 0061006200630064006500660067 one -3 0071007200730074007500760077 0071007200730074007500760077 three -2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E two -drop table t1; -drop table t2; -create table t1 ( -a int, b varchar(10), c varchar(10), filler varchar(10), primary key(a, b(2)), unique key (a, c(2)) -) character set utf8 engine = MyISAM; -create table t2 ( -a int, b varchar(10), c varchar(10), filler varchar(10), primary key(a, b(2)), unique key (a, c(2)) -) character set ucs2 engine = MyISAM; -insert into t1 values (1,'abcdefg','abcdefg','one'); -insert into t1 values (2,'ijkilmn','ijkilmn','two'); -insert into t1 values (3,'qrstuvw','qrstuvw','three'); -insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); -insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); -insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); -insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); -insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); -insert into t2 values (1,'abcdefg','abcdefg','one'); -insert into t2 values (2,'ijkilmn','ijkilmn','two'); -insert into t2 values (3,'qrstuvw','qrstuvw','three'); -insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); -insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); -insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); -insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); -insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); -insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); -insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); -insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); -insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); -update t1 set filler = 'boo' where a = 1; -update t2 set filler ='email' where a = 4; -select a,hex(b),hex(c),filler from t1 order by filler; -a hex(b) hex(c) filler -1 61626364656667 61626364656667 boo -4 D0B1 D0B1 eight -4 5B 5B five -4 E880BD E880BD four -4 E880BDD0B1E880BD E880BDD0B1E880BD seven -4 E880BDE880BD E880BDE880BD six -3 71727374757677 71727374757677 three -2 696A6B696C6D6E 696A6B696C6D6E two -select a,hex(b),hex(c),filler from t2 order by filler; -a hex(b) hex(c) filler -4 05612020 05612020 email -4 0000563001FC0563 0000563001FC0563 email -4 05630563 05630563 email -4 0563 0563 email -4 0120 0120 email -4 01FC 01FC email -4 00E400E50068 00E400E50068 email -4 00640065 00640065 email -4 0000E400 0000E400 email -1 0061006200630064006500660067 0061006200630064006500660067 one -3 0071007200730074007500760077 0071007200730074007500760077 three -2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E two -drop table t1; -drop table t2; -create table t1 ( -a int, b text(10), c text(10), filler text(10), primary key(a, b(2)), unique key (a, c(2)) -) character set utf8 engine = MyISAM; -create table t2 ( -a int, b text(10), c text(10), filler text(10), primary key(a, b(2)), unique key (a, c(2)) -) character set ucs2 engine = MyISAM; -insert into t1 values (1,'abcdefg','abcdefg','one'); -insert into t1 values (2,'ijkilmn','ijkilmn','two'); -insert into t1 values (3,'qrstuvw','qrstuvw','three'); -insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); -insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); -insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); -insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); -insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); -insert into t2 values (1,'abcdefg','abcdefg','one'); -insert into t2 values (2,'ijkilmn','ijkilmn','two'); -insert into t2 values (3,'qrstuvw','qrstuvw','three'); -insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); -insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); -insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); -insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); -insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); -insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); -insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); -insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); -insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); -update t1 set filler = 'boo' where a = 1; -update t2 set filler ='email' where a = 4; -select a,hex(b),hex(c),filler from t1 order by filler; -a hex(b) hex(c) filler -1 61626364656667 61626364656667 boo -4 D0B1 D0B1 eight -4 5B 5B five -4 E880BD E880BD four -4 E880BDD0B1E880BD E880BDD0B1E880BD seven -4 E880BDE880BD E880BDE880BD six -3 71727374757677 71727374757677 three -2 696A6B696C6D6E 696A6B696C6D6E two -select a,hex(b),hex(c),filler from t2 order by filler; -a hex(b) hex(c) filler -4 0000E400 0000E400 email -4 00640065 00640065 email -4 00E400E50068 00E400E50068 email -4 01FC 01FC email -4 0120 0120 email -4 0563 0563 email -4 05630563 05630563 email -4 0000563001FC0563 0000563001FC0563 email -4 05612020 05612020 email -1 0061006200630064006500660067 0061006200630064006500660067 one -3 0071007200730074007500760077 0071007200730074007500760077 three -2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E two -drop table t1; -drop table t2; -create table t1 ( -a int, b blob(10), c blob(10), filler blob(10), primary key(a, b(2)), unique key (a, c(2)) -) character set utf8 engine = MyISAM; -create table t2 ( -a int, b blob(10), c blob(10), filler blob(10), primary key(a, b(2)), unique key (a, c(2)) -) character set ucs2 engine = MyISAM; -insert into t1 values (1,'abcdefg','abcdefg','one'); -insert into t1 values (2,'ijkilmn','ijkilmn','two'); -insert into t1 values (3,'qrstuvw','qrstuvw','three'); -insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); -insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); -insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); -insert into t2 values (1,'abcdefg','abcdefg','one'); -insert into t2 values (2,'ijkilmn','ijkilmn','two'); -insert into t2 values (3,'qrstuvw','qrstuvw','three'); -insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); -insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); -insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); -insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); -insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); -insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); -insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); -update t1 set filler = 'boo' where a = 1; -update t2 set filler ='email' where a = 4; -select a,hex(b),hex(c),filler from t1 order by filler; -a hex(b) hex(c) filler -1 61626364656667 61626364656667 boo -4 D0B1 D0B1 eight -4 5B 5B five -4 E880BD E880BD four -3 71727374757677 71727374757677 three -2 696A6B696C6D6E 696A6B696C6D6E two -select a,hex(b),hex(c),filler from t2 order by filler; -a hex(b) hex(c) filler -4 0000E400 0000E400 email -4 00640065 00640065 email -4 00E400E50068 00E400E50068 email -4 01FC 01FC email -4 0120 0120 email -4 0563 0563 email -4 05612020 05612020 email -1 61626364656667 61626364656667 one -3 71727374757677 71727374757677 three -2 696A6B696C6D6E 696A6B696C6D6E two -drop table t1; -drop table t2; -commit; -CREATE TABLE t1 ( -ind enum('0','1','2') NOT NULL default '0', -string1 varchar(250) NOT NULL, -PRIMARY KEY (ind) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -CREATE TABLE t2 ( -ind enum('0','1','2') NOT NULL default '0', -string1 varchar(250) NOT NULL, -PRIMARY KEY (ind) -) ENGINE=MyISAM DEFAULT CHARSET=ucs2; -INSERT INTO t1 VALUES ('1', ''),('2', ''); -INSERT INTO t2 VALUES ('1', ''),('2', ''); -SELECT hex(ind),hex(string1) FROM t1 ORDER BY string1; -hex(ind) hex(string1) -31 -32 -SELECT hex(ind),hex(string1) FROM t2 ORDER BY string1; -hex(ind) hex(string1) -0031 -0032 -drop table t1,t2; -CREATE TABLE t1 ( -ind set('0','1','2') NOT NULL default '0', -string1 varchar(250) NOT NULL, -PRIMARY KEY (ind) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -CREATE TABLE t2 ( -ind set('0','1','2') NOT NULL default '0', -string1 varchar(250) NOT NULL, -PRIMARY KEY (ind) -) ENGINE=MyISAM DEFAULT CHARSET=ucs2; -INSERT INTO t1 VALUES ('1', ''),('2', ''); -INSERT INTO t2 VALUES ('1', ''),('2', ''); -SELECT hex(ind),hex(string1) FROM t1 ORDER BY string1; -hex(ind) hex(string1) -31 -32 -SELECT hex(ind),hex(string1) FROM t2 ORDER BY string1; -hex(ind) hex(string1) -0031 -0032 -drop table t1,t2; -CREATE TABLE t1 ( -ind bit not null, -string1 varchar(250) NOT NULL, -PRIMARY KEY (ind) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -CREATE TABLE t2 ( -ind bit not null, -string1 varchar(250) NOT NULL, -PRIMARY KEY (ind) -) ENGINE=MyISAM DEFAULT CHARSET=ucs2; -insert into t1 values(0,''),(1,''); -insert into t2 values(0,''),(1,''); -select hex(ind),hex(string1) from t1 order by string1; -hex(ind) hex(string1) -0 -1 -select hex(ind),hex(string1) from t2 order by string1; -hex(ind) hex(string1) -0 -1 -drop table t1,t2; -create table t2 ( -a int, b char(10), filler char(10), primary key(a, b(2)) -) character set utf8 engine = MyISAM; -insert into t2 values (1,'abcdefg','one'); -insert into t2 values (2,'ijkilmn','two'); -insert into t2 values (3, 'qrstuvw','three'); -update t2 set a=5, filler='booo' where a=1; -drop table t2; -create table t2 ( -a int, b char(10), filler char(10), primary key(a, b(2)) -) character set ucs2 engine = MyISAM; -insert into t2 values (1,'abcdefg','one'); -insert into t2 values (2,'ijkilmn','two'); -insert into t2 values (3, 'qrstuvw','three'); -update t2 set a=5, filler='booo' where a=1; -drop table t2; -create table t1(a int not null, b char(110),primary key(a,b(100))) engine=MyISAM default charset=utf8; -insert into t1 values(1,'abcdefg'),(2,'defghijk'); -insert into t1 values(6,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1); -insert into t1 values(7,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2); -select a,hex(b) from t1 order by b; -a hex(b) -1 61626364656667 -2 6465666768696A6B -6 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1 -7 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2 -update t1 set b = 'three' where a = 6; -drop table t1; -create table t1(a int not null, b text(110),primary key(a,b(100))) engine=MyISAM default charset=utf8; -insert into t1 values(1,'abcdefg'),(2,'defghijk'); -insert into t1 values(6,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1); -insert into t1 values(7,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2); -select a,hex(b) from t1 order by b; -a hex(b) -1 61626364656667 -2 6465666768696A6B -6 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1 -7 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2 -update t1 set b = 'three' where a = 6; -drop table t1; create table t1(a int not null, b int, c int, d int, primary key(a)) engine=MyISAM; insert into t1(a) values (1),(2),(3); commit; diff --git a/mysql-test/r/mix2_myisam_ucs2.result b/mysql-test/r/mix2_myisam_ucs2.result new file mode 100644 index 00000000000..830d3b87eb5 --- /dev/null +++ b/mysql-test/r/mix2_myisam_ucs2.result @@ -0,0 +1,312 @@ +create table t1 ( +a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2)) +) character set utf8 engine = MyISAM; +create table t2 ( +a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2)) +) character set ucs2 engine = MyISAM; +insert into t1 values (1,'abcdefg','abcdefg','one'); +insert into t1 values (2,'ijkilmn','ijkilmn','two'); +insert into t1 values (3,'qrstuvw','qrstuvw','three'); +insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); +insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); +insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); +insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); +insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); +insert into t2 values (1,'abcdefg','abcdefg','one'); +insert into t2 values (2,'ijkilmn','ijkilmn','two'); +insert into t2 values (3,'qrstuvw','qrstuvw','three'); +insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); +insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); +insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); +insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); +insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); +insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); +insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); +insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); +insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); +update t1 set filler = 'boo' where a = 1; +update t2 set filler ='email' where a = 4; +select a,hex(b),hex(c),filler from t1 order by filler; +a hex(b) hex(c) filler +1 61626364656667 61626364656667 boo +4 D0B1 D0B1 eight +4 5B 5B five +4 E880BD E880BD four +4 E880BDD0B1E880BD E880BDD0B1E880BD seven +4 E880BDE880BD E880BDE880BD six +3 71727374757677 71727374757677 three +2 696A6B696C6D6E 696A6B696C6D6E two +select a,hex(b),hex(c),filler from t2 order by filler; +a hex(b) hex(c) filler +4 05612020 05612020 email +4 0000563001FC0563 0000563001FC0563 email +4 05630563 05630563 email +4 0563 0563 email +4 0120 0120 email +4 01FC 01FC email +4 00E400E50068 00E400E50068 email +4 00640065 00640065 email +4 0000E400 0000E400 email +1 0061006200630064006500660067 0061006200630064006500660067 one +3 0071007200730074007500760077 0071007200730074007500760077 three +2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E two +drop table t1; +drop table t2; +create table t1 ( +a int, b varchar(10), c varchar(10), filler varchar(10), primary key(a, b(2)), unique key (a, c(2)) +) character set utf8 engine = MyISAM; +create table t2 ( +a int, b varchar(10), c varchar(10), filler varchar(10), primary key(a, b(2)), unique key (a, c(2)) +) character set ucs2 engine = MyISAM; +insert into t1 values (1,'abcdefg','abcdefg','one'); +insert into t1 values (2,'ijkilmn','ijkilmn','two'); +insert into t1 values (3,'qrstuvw','qrstuvw','three'); +insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); +insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); +insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); +insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); +insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); +insert into t2 values (1,'abcdefg','abcdefg','one'); +insert into t2 values (2,'ijkilmn','ijkilmn','two'); +insert into t2 values (3,'qrstuvw','qrstuvw','three'); +insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); +insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); +insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); +insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); +insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); +insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); +insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); +insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); +insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); +update t1 set filler = 'boo' where a = 1; +update t2 set filler ='email' where a = 4; +select a,hex(b),hex(c),filler from t1 order by filler; +a hex(b) hex(c) filler +1 61626364656667 61626364656667 boo +4 D0B1 D0B1 eight +4 5B 5B five +4 E880BD E880BD four +4 E880BDD0B1E880BD E880BDD0B1E880BD seven +4 E880BDE880BD E880BDE880BD six +3 71727374757677 71727374757677 three +2 696A6B696C6D6E 696A6B696C6D6E two +select a,hex(b),hex(c),filler from t2 order by filler; +a hex(b) hex(c) filler +4 05612020 05612020 email +4 0000563001FC0563 0000563001FC0563 email +4 05630563 05630563 email +4 0563 0563 email +4 0120 0120 email +4 01FC 01FC email +4 00E400E50068 00E400E50068 email +4 00640065 00640065 email +4 0000E400 0000E400 email +1 0061006200630064006500660067 0061006200630064006500660067 one +3 0071007200730074007500760077 0071007200730074007500760077 three +2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E two +drop table t1; +drop table t2; +create table t1 ( +a int, b text(10), c text(10), filler text(10), primary key(a, b(2)), unique key (a, c(2)) +) character set utf8 engine = MyISAM; +create table t2 ( +a int, b text(10), c text(10), filler text(10), primary key(a, b(2)), unique key (a, c(2)) +) character set ucs2 engine = MyISAM; +insert into t1 values (1,'abcdefg','abcdefg','one'); +insert into t1 values (2,'ijkilmn','ijkilmn','two'); +insert into t1 values (3,'qrstuvw','qrstuvw','three'); +insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); +insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); +insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); +insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); +insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); +insert into t2 values (1,'abcdefg','abcdefg','one'); +insert into t2 values (2,'ijkilmn','ijkilmn','two'); +insert into t2 values (3,'qrstuvw','qrstuvw','three'); +insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); +insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); +insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); +insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); +insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); +insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); +insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); +insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); +insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); +update t1 set filler = 'boo' where a = 1; +update t2 set filler ='email' where a = 4; +select a,hex(b),hex(c),filler from t1 order by filler; +a hex(b) hex(c) filler +1 61626364656667 61626364656667 boo +4 D0B1 D0B1 eight +4 5B 5B five +4 E880BD E880BD four +4 E880BDD0B1E880BD E880BDD0B1E880BD seven +4 E880BDE880BD E880BDE880BD six +3 71727374757677 71727374757677 three +2 696A6B696C6D6E 696A6B696C6D6E two +select a,hex(b),hex(c),filler from t2 order by filler; +a hex(b) hex(c) filler +4 0000E400 0000E400 email +4 00640065 00640065 email +4 00E400E50068 00E400E50068 email +4 01FC 01FC email +4 0120 0120 email +4 0563 0563 email +4 05630563 05630563 email +4 0000563001FC0563 0000563001FC0563 email +4 05612020 05612020 email +1 0061006200630064006500660067 0061006200630064006500660067 one +3 0071007200730074007500760077 0071007200730074007500760077 three +2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E two +drop table t1; +drop table t2; +create table t1 ( +a int, b blob(10), c blob(10), filler blob(10), primary key(a, b(2)), unique key (a, c(2)) +) character set utf8 engine = MyISAM; +create table t2 ( +a int, b blob(10), c blob(10), filler blob(10), primary key(a, b(2)), unique key (a, c(2)) +) character set ucs2 engine = MyISAM; +insert into t1 values (1,'abcdefg','abcdefg','one'); +insert into t1 values (2,'ijkilmn','ijkilmn','two'); +insert into t1 values (3,'qrstuvw','qrstuvw','three'); +insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); +insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); +insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); +insert into t2 values (1,'abcdefg','abcdefg','one'); +insert into t2 values (2,'ijkilmn','ijkilmn','two'); +insert into t2 values (3,'qrstuvw','qrstuvw','three'); +insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); +insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); +insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); +insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); +insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); +insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); +insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); +update t1 set filler = 'boo' where a = 1; +update t2 set filler ='email' where a = 4; +select a,hex(b),hex(c),filler from t1 order by filler; +a hex(b) hex(c) filler +1 61626364656667 61626364656667 boo +4 D0B1 D0B1 eight +4 5B 5B five +4 E880BD E880BD four +3 71727374757677 71727374757677 three +2 696A6B696C6D6E 696A6B696C6D6E two +select a,hex(b),hex(c),filler from t2 order by filler; +a hex(b) hex(c) filler +4 0000E400 0000E400 email +4 00640065 00640065 email +4 00E400E50068 00E400E50068 email +4 01FC 01FC email +4 0120 0120 email +4 0563 0563 email +4 05612020 05612020 email +1 61626364656667 61626364656667 one +3 71727374757677 71727374757677 three +2 696A6B696C6D6E 696A6B696C6D6E two +drop table t1; +drop table t2; +commit; +CREATE TABLE t1 ( +ind enum('0','1','2') NOT NULL default '0', +string1 varchar(250) NOT NULL, +PRIMARY KEY (ind) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE t2 ( +ind enum('0','1','2') NOT NULL default '0', +string1 varchar(250) NOT NULL, +PRIMARY KEY (ind) +) ENGINE=MyISAM DEFAULT CHARSET=ucs2; +INSERT INTO t1 VALUES ('1', ''),('2', ''); +INSERT INTO t2 VALUES ('1', ''),('2', ''); +SELECT hex(ind),hex(string1) FROM t1 ORDER BY string1; +hex(ind) hex(string1) +31 +32 +SELECT hex(ind),hex(string1) FROM t2 ORDER BY string1; +hex(ind) hex(string1) +0031 +0032 +drop table t1,t2; +CREATE TABLE t1 ( +ind set('0','1','2') NOT NULL default '0', +string1 varchar(250) NOT NULL, +PRIMARY KEY (ind) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE t2 ( +ind set('0','1','2') NOT NULL default '0', +string1 varchar(250) NOT NULL, +PRIMARY KEY (ind) +) ENGINE=MyISAM DEFAULT CHARSET=ucs2; +INSERT INTO t1 VALUES ('1', ''),('2', ''); +INSERT INTO t2 VALUES ('1', ''),('2', ''); +SELECT hex(ind),hex(string1) FROM t1 ORDER BY string1; +hex(ind) hex(string1) +31 +32 +SELECT hex(ind),hex(string1) FROM t2 ORDER BY string1; +hex(ind) hex(string1) +0031 +0032 +drop table t1,t2; +CREATE TABLE t1 ( +ind bit not null, +string1 varchar(250) NOT NULL, +PRIMARY KEY (ind) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE t2 ( +ind bit not null, +string1 varchar(250) NOT NULL, +PRIMARY KEY (ind) +) ENGINE=MyISAM DEFAULT CHARSET=ucs2; +insert into t1 values(0,''),(1,''); +insert into t2 values(0,''),(1,''); +select hex(ind),hex(string1) from t1 order by string1; +hex(ind) hex(string1) +0 +1 +select hex(ind),hex(string1) from t2 order by string1; +hex(ind) hex(string1) +0 +1 +drop table t1,t2; +create table t2 ( +a int, b char(10), filler char(10), primary key(a, b(2)) +) character set utf8 engine = MyISAM; +insert into t2 values (1,'abcdefg','one'); +insert into t2 values (2,'ijkilmn','two'); +insert into t2 values (3, 'qrstuvw','three'); +update t2 set a=5, filler='booo' where a=1; +drop table t2; +create table t2 ( +a int, b char(10), filler char(10), primary key(a, b(2)) +) character set ucs2 engine = MyISAM; +insert into t2 values (1,'abcdefg','one'); +insert into t2 values (2,'ijkilmn','two'); +insert into t2 values (3, 'qrstuvw','three'); +update t2 set a=5, filler='booo' where a=1; +drop table t2; +create table t1(a int not null, b char(110),primary key(a,b(100))) engine=MyISAM default charset=utf8; +insert into t1 values(1,'abcdefg'),(2,'defghijk'); +insert into t1 values(6,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1); +insert into t1 values(7,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2); +select a,hex(b) from t1 order by b; +a hex(b) +1 61626364656667 +2 6465666768696A6B +6 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1 +7 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2 +update t1 set b = 'three' where a = 6; +drop table t1; +create table t1(a int not null, b text(110),primary key(a,b(100))) engine=MyISAM default charset=utf8; +insert into t1 values(1,'abcdefg'),(2,'defghijk'); +insert into t1 values(6,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1); +insert into t1 values(7,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2); +select a,hex(b) from t1 order by b; +a hex(b) +1 61626364656667 +2 6465666768696A6B +6 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1 +7 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2 +update t1 set b = 'three' where a = 6; +drop table t1; diff --git a/mysql-test/t/mix2_myisam_ucs2.test b/mysql-test/t/mix2_myisam_ucs2.test new file mode 100644 index 00000000000..fe22fa50238 --- /dev/null +++ b/mysql-test/t/mix2_myisam_ucs2.test @@ -0,0 +1,27 @@ +# +# Tests which require ucs2 character set +# + +-- source include/have_ucs2.inc + +let $engine_type= MyISAM; +let $other_engine_type= MEMORY; +# There are unfortunately only MyISAM and MEMORY all time available +# Therefore use here MEMORY again. +let $other_engine_type1= MEMORY; +let $other_non_trans_engine_type= MEMORY; +let $other_non_live_chks_engine_type= MEMORY; +# Therefore use here MyISAM again. +let $other_live_chks_engine_type= MyISAM; +# MyISAM does not support transactions +let $test_transactions= 0; +# MyISAM does not support FOREIGN KEYFOREIGN KEYs +let $test_foreign_keys= 0; +# MyISAM supports fulltext queries +let $fulltext_query_unsupported= 0; +# MyISAM internal autoincrement values are updated during updates +let $no_autoinc_update= 0; +# MyISAM supports keys on spatial data types +let $no_spatial_key= 0; + +-- source include/mix2_ucs2.inc |