summaryrefslogtreecommitdiff
path: root/mysql-test/r/ctype_utf16le.result
diff options
context:
space:
mode:
authorMichael Widenius <monty@mariadb.org>2018-03-09 14:05:35 +0200
committerMonty <monty@mariadb.org>2018-03-29 13:59:44 +0300
commita7abddeffa6a760ce948c2dfb007cdf3f1a369d5 (patch)
tree70eb743fa965a17380bbc0ac88ae79ca1075b896 /mysql-test/r/ctype_utf16le.result
parentab1941266c59a19703a74b5593cf3f508a5752d7 (diff)
downloadmariadb-git-a7abddeffa6a760ce948c2dfb007cdf3f1a369d5.tar.gz
Create 'main' test directory and move 't' and 'r' there
Diffstat (limited to 'mysql-test/r/ctype_utf16le.result')
-rw-r--r--mysql-test/r/ctype_utf16le.result2961
1 files changed, 0 insertions, 2961 deletions
diff --git a/mysql-test/r/ctype_utf16le.result b/mysql-test/r/ctype_utf16le.result
deleted file mode 100644
index 0fedff7d3bf..00000000000
--- a/mysql-test/r/ctype_utf16le.result
+++ /dev/null
@@ -1,2961 +0,0 @@
-SET TIME_ZONE='+03:00';
-DROP TABLE IF EXISTS t1;
-#
-# Start of 5.6 tests
-#
-SET NAMES utf8mb4, collation_connection=utf16le_general_ci;
-SELECT HEX('a'), HEX('a ');
-HEX('a') HEX('a ')
-6100 61002000
-select 'a' = 'a', 'a' = 'a ', 'a ' = 'a';
-'a' = 'a' 'a' = 'a ' 'a ' = 'a'
-1 1 1
-select 'a\0' = 'a', 'a\0' < 'a', 'a\0' > 'a';
-'a\0' = 'a' 'a\0' < 'a' 'a\0' > 'a'
-0 1 0
-select 'a' = 'a\0', 'a' < 'a\0', 'a' > 'a\0';
-'a' = 'a\0' 'a' < 'a\0' 'a' > 'a\0'
-0 0 1
-select 'a\0' = 'a ', 'a\0' < 'a ', 'a\0' > 'a ';
-'a\0' = 'a ' 'a\0' < 'a ' 'a\0' > 'a '
-0 1 0
-select 'a ' = 'a\0', 'a ' < 'a\0', 'a ' > 'a\0';
-'a ' = 'a\0' 'a ' < 'a\0' 'a ' > 'a\0'
-0 0 1
-select 'a a' > 'a', 'a \0' < 'a';
-'a a' > 'a' 'a \0' < 'a'
-1 1
-select binary 'a a' > 'a', binary 'a \0' > 'a', binary 'a\0' > 'a';
-binary 'a a' > 'a' binary 'a \0' > 'a' binary 'a\0' > 'a'
-1 1 1
-#
-# Check that incomplete utf16le characters in HEX notation
-# are left-padded with zeros
-#
-SELECT HEX(_utf16le 0x44);
-HEX(_utf16le 0x44)
-0044
-SELECT HEX(_utf16le 0x3344);
-HEX(_utf16le 0x3344)
-3344
-SELECT HEX(_utf16le 0x113344);
-HEX(_utf16le 0x113344)
-00113344
-#
-# Check that 0x20 is only trimmed when it is
-# a part of real SPACE character, not just a part
-# of a multibyte sequence.
-# Note, CYRILLIC LETTER ER is used as an example, which
-# is stored as 0x0420 in utf16le, thus contains 0x20 in the
-# low byte. The second character is THREE-PER-M, U+2004,
-# which contains 0x20 in the high byte.
-#
-CREATE TABLE t1 (word VARCHAR(64), word2 CHAR(64)) CHARACTER SET utf16le;
-INSERT INTO t1 VALUES (_koi8r 0xF2, _koi8r 0xF2), (_ucs2 X'2004',_ucs2 X'2004');
-SELECT HEX(word) FROM t1 ORDER BY word;
-HEX(word)
-2004
-0420
-SELECT HEX(word2) FROM t1 ORDER BY word2;
-HEX(word2)
-2004
-0420
-DELETE FROM t1;
-#
-# Check that real spaces are correctly trimmed.
-#
-INSERT INTO t1 VALUES (_ucs2 X'042000200020', _ucs2 X'042000200020');
-INSERT INTO t1 VALUES (_ucs2 X'200400200020', _ucs2 X'200400200020');
-SELECT HEX(word) FROM t1 ORDER BY word;
-HEX(word)
-200420002000
-042020002000
-SELECT HEX(word2) FROM t1 ORDER BY word2;
-HEX(word2)
-2004
-0420
-DROP TABLE t1;
-#
-# Check LPAD/RPAD
-#
-CREATE TABLE t1 (a VARCHAR(10), pad INT, b VARCHAR(10)) CHARACTER SET utf16le;
-INSERT INTO t1 VALUES (_ucs2 X'0420', 10, _ucs2 X'0421');
-INSERT INTO t1 VALUES (_ucs2 X'0420', 10, _ucs2 X'04210422');
-INSERT INTO t1 VALUES (_ucs2 X'0420', 10, _ucs2 X'042104220423');
-INSERT IGNORE INTO t1 VALUES (_ucs2 X'0420042104220423042404250426042704280429042A042B',10,_ucs2 X'042104220423');
-Warnings:
-Warning 1265 Data truncated for column 'a' at row 1
-INSERT INTO t1 VALUES (_utf32 X'010000', 10, _ucs2 X'0421');
-INSERT INTO t1 VALUES (_ucs2 X'0421', 10, _utf32 X'010000');
-SELECT a, pad, b, LPAD(a, pad, b), HEX(LPAD(a, pad, b)) FROM t1;
-a pad b LPAD(a, pad, b) HEX(LPAD(a, pad, b))
-Р 10 С СССССССССР 2104210421042104210421042104210421042004
-Р 10 СТ СТСТСТСТСР 2104220421042204210422042104220421042004
-Р 10 СТУ СТУСТУСТУР 2104220423042104220423042104220423042004
-РСТУФХЦЧШЩ 10 СТУ РСТУФХЦЧШЩ 2004210422042304240425042604270428042904
-𐀀 10 С ССССССССС𐀀 21042104210421042104210421042104210400D800DC
-С 10 𐀀 𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀С 00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC2104
-DROP TABLE t1;
-CREATE TABLE t1 SELECT
-LPAD(_utf16le X'2004',10,_utf16le X'2104') l,
-RPAD(_utf16le X'2004',10,_utf16le X'2104') r;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `l` varchar(10) CHARACTER SET utf16le DEFAULT NULL,
- `r` varchar(10) CHARACTER SET utf16le DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT HEX(l), HEX(r) FROM t1;
-HEX(l) HEX(r)
-2104210421042104210421042104210421042004 2004210421042104210421042104210421042104
-DROP TABLE t1;
-CREATE TABLE t1 (f1 CHAR(30));
-INSERT INTO t1 VALUES ("103000"), ("22720000"), ("3401200"), ("78000");
-SELECT LPAD(f1, 12, "-o-/") FROM t1;
-LPAD(f1, 12, "-o-/")
--o-/-o103000
--o-/22720000
--o-/-3401200
--o-/-o-78000
-DROP TABLE t1;
-#
-# Testing LIKE
-#
-SET NAMES utf8, collation_connection=utf16le_general_ci;
-select @@collation_connection;
-@@collation_connection
-utf16le_general_ci
-create table t1 as select repeat(' ',10) as a union select null;
-alter table t1 add key(a);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(10) CHARACTER SET utf16le DEFAULT NULL,
- KEY `a` (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
-explain select * from t1 where a like 'abc%';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range a a 43 NULL 1 Using where; Using index
-explain select * from t1 where a like concat('abc','%');
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range a a 43 NULL 1 Using where; Using index
-select * from t1 where a like "abc%";
-a
-abc
-abcd
-select * from t1 where a like concat("abc","%");
-a
-abc
-abcd
-select * from t1 where a like "ABC%";
-a
-abc
-abcd
-select * from t1 where a like "test%";
-a
-test
-select * from t1 where a like "te_t";
-a
-test
-select * from t1 where a like "%a%";
-a
-a
-abc
-abcd
-select * from t1 where a like "%abcd%";
-a
-abcd
-select * from t1 where a like "%abc\d%";
-a
-abcd
-drop table t1;
-select 'AA' like 'AA';
-'AA' like 'AA'
-1
-select 'AA' like 'A%A';
-'AA' like 'A%A'
-1
-select 'AA' like 'A%%A';
-'AA' like 'A%%A'
-1
-select 'AA' like 'AA%';
-'AA' like 'AA%'
-1
-select 'AA' like '%AA%';
-'AA' like '%AA%'
-1
-select 'AA' like '%A';
-'AA' like '%A'
-1
-select 'AA' like '%AA';
-'AA' like '%AA'
-1
-select 'AA' like 'A%A%';
-'AA' like 'A%A%'
-1
-select 'AA' like '_%_%';
-'AA' like '_%_%'
-1
-select 'AA' like '%A%A';
-'AA' like '%A%A'
-1
-select 'AAA'like 'A%A%A';
-'AAA'like 'A%A%A'
-1
-select 'AZ' like 'AZ';
-'AZ' like 'AZ'
-1
-select 'AZ' like 'A%Z';
-'AZ' like 'A%Z'
-1
-select 'AZ' like 'A%%Z';
-'AZ' like 'A%%Z'
-1
-select 'AZ' like 'AZ%';
-'AZ' like 'AZ%'
-1
-select 'AZ' like '%AZ%';
-'AZ' like '%AZ%'
-1
-select 'AZ' like '%Z';
-'AZ' like '%Z'
-1
-select 'AZ' like '%AZ';
-'AZ' like '%AZ'
-1
-select 'AZ' like 'A%Z%';
-'AZ' like 'A%Z%'
-1
-select 'AZ' like '_%_%';
-'AZ' like '_%_%'
-1
-select 'AZ' like '%A%Z';
-'AZ' like '%A%Z'
-1
-select 'AZ' like 'A_';
-'AZ' like 'A_'
-1
-select 'AZ' like '_Z';
-'AZ' like '_Z'
-1
-select 'AMZ'like 'A%M%Z';
-'AMZ'like 'A%M%Z'
-1
-CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf16le);
-INSERT INTO t1 VALUES ('фыва'),('Фыва'),('фЫва'),('фыВа'),('фывА'),('ФЫВА');
-INSERT INTO t1 VALUES ('фывапролдж'),('Фывапролдж'),('фЫвапролдж'),('фыВапролдж');
-INSERT INTO t1 VALUES ('фывАпролдж'),('фываПролдж'),('фывапРолдж'),('фывапрОлдж');
-INSERT INTO t1 VALUES ('фывапроЛдж'),('фывапролДж'),('фывапролдЖ'),('ФЫВАПРОЛДЖ');
-SELECT * FROM t1 WHERE a LIKE '%фЫва%' ORDER BY BINARY a;
-a
-ФЫВА
-ФЫВАПРОЛДЖ
-Фыва
-Фывапролдж
-фЫва
-фЫвапролдж
-фыВа
-фыВапролдж
-фывА
-фывАпролдж
-фыва
-фываПролдж
-фывапРолдж
-фывапрОлдж
-фывапроЛдж
-фывапролДж
-фывапролдЖ
-фывапролдж
-SELECT * FROM t1 WHERE a LIKE '%фЫв%' ORDER BY BINARY a;
-a
-ФЫВА
-ФЫВАПРОЛДЖ
-Фыва
-Фывапролдж
-фЫва
-фЫвапролдж
-фыВа
-фыВапролдж
-фывА
-фывАпролдж
-фыва
-фываПролдж
-фывапРолдж
-фывапрОлдж
-фывапроЛдж
-фывапролДж
-фывапролдЖ
-фывапролдж
-SELECT * FROM t1 WHERE a LIKE 'фЫва%' ORDER BY BINARY a;
-a
-ФЫВА
-ФЫВАПРОЛДЖ
-Фыва
-Фывапролдж
-фЫва
-фЫвапролдж
-фыВа
-фыВапролдж
-фывА
-фывАпролдж
-фыва
-фываПролдж
-фывапРолдж
-фывапрОлдж
-фывапроЛдж
-фывапролДж
-фывапролдЖ
-фывапролдж
-SELECT * FROM t1 WHERE a LIKE 'фЫва%' COLLATE utf16le_bin ORDER BY BINARY a;
-a
-фЫва
-фЫвапролдж
-DROP TABLE t1;
-CREATE TABLE t1 (word VARCHAR(64) NOT NULL, PRIMARY KEY (word))
-ENGINE=MyISAM CHARACTER SET utf16le;
-INSERT INTO t1 (word) VALUES ("cat");
-SELECT * FROM t1 WHERE word LIKE "c%";
-word
-cat
-SELECT * FROM t1 WHERE word LIKE "ca_";
-word
-cat
-SELECT * FROM t1 WHERE word LIKE "cat";
-word
-cat
-SELECT * FROM t1 WHERE word LIKE _ucs2 x'00630025';
-word
-cat
-SELECT * FROM t1 WHERE word LIKE _ucs2 x'00630061005F';
-word
-cat
-DROP TABLE t1;
-#
-# Check that INSERT() works fine.
-# This invokes charpos() function.
-#
-CREATE TABLE t1 (
-a VARCHAR(10) CHARACTER SET utf16le,
-b VARCHAR(10) CHARACTER SET utf16le);
-INSERT INTO t1 VALUES ('abc', 'def');
-SELECT INSERT(a, 10, 2, b) FROM t1;
-INSERT(a, 10, 2, b)
-abc
-SELECT INSERT(a, 1, 2, b) FROM t1;
-INSERT(a, 1, 2, b)
-defc
-DROP TABLE t1;
-#
-# Bug#1264
-#
-SET NAMES utf8, collation_connection=utf16le_general_ci;
-#
-# Two fields, index
-#
-CREATE TABLE t1 (
-word VARCHAR(64),
-bar INT(11) DEFAULT 0,
-PRIMARY KEY (word))
-ENGINE=MyISAM
-CHARSET utf16le
-COLLATE utf16le_general_ci ;
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a");
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY word;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
-SELECT * FROM t1 ORDER BY word;
-word bar
-a 0
-aar 0
-aardvar 0
-aardvara 0
-aardvark 0
-aardvarz 0
-EXPLAIN SELECT word FROM t1 ORDER BY word;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL PRIMARY 258 NULL 6 Using index
-SELECT word FROM t1 ORDER by word;
-word
-a
-aar
-aardvar
-aardvara
-aardvark
-aardvarz
-DROP TABLE t1;
-#
-# One field, index
-#
-CREATE TABLE t1 (
-word VARCHAR(64) ,
-PRIMARY KEY (word))
-ENGINE=MyISAM
-CHARSET utf16le
-COLLATE utf16le_general_ci;
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a");
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY WORD;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL PRIMARY 258 NULL 6 Using index
-SELECT * FROM t1 ORDER BY word;
-word
-a
-aar
-aardvar
-aardvara
-aardvark
-aardvarz
-DROP TABLE t1;
-#
-# Two fields, no index
-#
-CREATE TABLE t1 (
-word TEXT,
-bar INT(11) AUTO_INCREMENT,
-PRIMARY KEY (bar))
-ENGINE=MyISAM
-CHARSET utf16le
-COLLATE utf16le_general_ci ;
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a" );
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY word;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
-SELECT * FROM t1 ORDER BY word;
-word bar
-a 2
-aar 1
-aardvar 3
-aardvara 5
-aardvark 4
-aardvarz 6
-EXPLAIN SELECT word FROM t1 ORDER BY word;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
-SELECT word FROM t1 ORDER BY word;
-word
-a
-aar
-aardvar
-aardvara
-aardvark
-aardvarz
-DROP TABLE t1;
-#
-# END OF Bug 1264 test
-#
-#
-# Check alignment for from-binary-conversion with CAST and CONVERT
-#
-SELECT HEX(CAST(0xAA as char CHARACTER SET utf16le));
-HEX(CAST(0xAA as char CHARACTER SET utf16le))
-00AA
-SELECT HEX(CONVERT(0xAA USING utf16le));
-HEX(CONVERT(0xAA USING utf16le))
-00AA
-#
-# Check alignment for string types
-#
-CREATE TABLE t1 (a CHAR(10) CHARACTER SET utf16le);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-0001
-0011
-0111
-1111
-00011111
-DROP TABLE t1;
-CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf16le);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-0001
-0011
-0111
-1111
-00011111
-DROP TABLE t1;
-CREATE TABLE t1 (a TEXT CHARACTER SET utf16le);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-0001
-0011
-0111
-1111
-00011111
-DROP TABLE t1;
-CREATE TABLE t1 (a MEDIUMTEXT CHARACTER SET utf16le);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-0001
-0011
-0111
-1111
-00011111
-DROP TABLE t1;
-CREATE TABLE t1 (a LONGTEXT CHARACTER SET utf16le);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-0001
-0011
-0111
-1111
-00011111
-DROP TABLE t1;
-#
-# Bug#5081 : UCS2 fields are filled with '0x2020'
-# after extending field length
-#
-CREATE TABLE t1(a CHAR(1)) DEFAULT CHARSET utf16le;
-INSERT INTO t1 VALUES ('a'),('b'),('c');
-ALTER TABLE t1 MODIFY a CHAR(5);
-SELECT a, HEX(a) FROM t1;
-a HEX(a)
-a 6100
-b 6200
-c 6300
-DROP TABLE t1;
-#
-# Check prepare statement from an UTF16 string
-#
-SET NAMES latin1;
-SET @ivar= 1234;
-SET @str1 = 'SELECT ?';
-SET @str2 = CONVERT(@str1 USING utf16le);
-PREPARE stmt1 FROM @str2;
-EXECUTE stmt1 USING @ivar;
-?
-1234
-#
-# Check that utf16le works with ENUM and SET type
-#
-SET NAMES utf8, collation_connection=utf16le_general_ci;
-CREATE TABLE t1 (a ENUM('x','y','z') CHARACTER SET utf16le);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` enum('x','y','z') CHARACTER SET utf16le DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-INSERT INTO t1 VALUES ('x');
-INSERT INTO t1 VALUES ('y');
-INSERT INTO t1 VALUES ('z');
-SELECT a, HEX(a) FROM t1 ORDER BY a;
-a HEX(a)
-x 7800
-y 7900
-z 7A00
-ALTER TABLE t1 CHANGE a a ENUM('x','y','z','d','e','ä','ö','ü') CHARACTER SET utf16le;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` enum('x','y','z','d','e','ä','ö','ü') CHARACTER SET utf16le DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-INSERT INTO t1 VALUES ('D');
-INSERT INTO t1 VALUES ('E ');
-INSERT INTO t1 VALUES ('ä');
-INSERT INTO t1 VALUES ('ö');
-INSERT INTO t1 VALUES ('ü');
-SELECT a, HEX(a) FROM t1 ORDER BY a;
-a HEX(a)
-x 7800
-y 7900
-z 7A00
-d 6400
-e 6500
-ä E400
-ö F600
-ü FC00
-DROP TABLE t1;
-CREATE TABLE t1 (a set ('x','y','z','ä','ö','ü') CHARACTER SET utf16le);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` set('x','y','z','ä','ö','ü') CHARACTER SET utf16le DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-INSERT INTO t1 VALUES ('x');
-INSERT INTO t1 VALUES ('y');
-INSERT INTO t1 VALUES ('z');
-INSERT INTO t1 VALUES ('x,y');
-INSERT INTO t1 VALUES ('x,y,z,ä,ö,ü');
-SELECT a, HEX(a) FROM t1 ORDER BY a;
-a HEX(a)
-x 7800
-y 7900
-x,y 78002C007900
-z 7A00
-x,y,z,ä,ö,ü 78002C0079002C007A002C00E4002C00F6002C00FC00
-DROP TABLE t1;
-#
-# Bug#7302 UCS2 data in ENUM fields get truncated when new column is added
-#
-CREATE TABLE t1(a ENUM('a','b','c')) DEFAULT CHARACTER SET utf16le;
-INSERT INTO t1 VALUES('a'),('b'),('c');
-ALTER TABLE t1 ADD b CHAR(1);
-SHOW WARNINGS;
-Level Code Message
-SELECT * FROM t1 ORDER BY a;
-a b
-a NULL
-b NULL
-c NULL
-DROP TABLE t1;
-SET NAMES utf8, collation_connection='utf16le_general_ci';
-create table t1 select repeat('a',4000) a;
-delete from t1;
-insert into t1 values ('a'), ('a '), ('a\t');
-select collation(a),hex(a) from t1 order by a;
-collation(a) hex(a)
-utf16le_general_ci 61000900
-utf16le_general_ci 6100
-utf16le_general_ci 61002000
-drop table t1;
-#
-# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
-#
-SELECT @@collation_connection;
-@@collation_connection
-utf16le_general_ci
-CREATE TABLE t1 (i INT) ENGINE=MyISAM;
-INSERT INTO t1 VALUES (1),(2);
-SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
-i
-1
-1
-SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
-i
-1
-1
-DROP TABLE t1;
-#
-# MDEV-6170 Incorrect ordering with utf8_bin and utf8mb4_bin collations
-#
-SELECT @@collation_connection;
-@@collation_connection
-utf16le_general_ci
-CREATE TABLE t1 ENGINE=MEMORY AS SELECT REPEAT('a',5) AS a LIMIT 0;
-INSERT INTO t1 (a) VALUES ("a");
-INSERT INTO t1 (a) VALUES ("b");
-INSERT INTO t1 (a) VALUES ("c");
-INSERT INTO t1 (a) VALUES ("d");
-INSERT INTO t1 (a) VALUES ("e");
-INSERT INTO t1 (a) VALUES ("f");
-INSERT INTO t1 (a) VALUES ("g");
-INSERT INTO t1 (a) VALUES ("h");
-INSERT INTO t1 (a) VALUES ("i");
-INSERT INTO t1 (a) VALUES ("j");
-INSERT INTO t1 (a) VALUES ("k");
-INSERT INTO t1 (a) VALUES ("l");
-INSERT INTO t1 (a) VALUES ("m");
-SELECT * FROM t1 ORDER BY LOWER(a);
-a
-a
-b
-c
-d
-e
-f
-g
-h
-i
-j
-k
-l
-m
-SELECT * FROM t1 ORDER BY LOWER(a) DESC;
-a
-m
-l
-k
-j
-i
-h
-g
-f
-e
-d
-c
-b
-a
-DROP TABLE t1;
-select @@collation_connection;
-@@collation_connection
-utf16le_general_ci
-create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
-insert into t1 values('abcdef');
-insert into t1 values('_bcdef');
-insert into t1 values('a_cdef');
-insert into t1 values('ab_def');
-insert into t1 values('abc_ef');
-insert into t1 values('abcd_f');
-insert into t1 values('abcde_');
-select c1 as c1u from t1 where c1 like 'ab\_def';
-c1u
-ab_def
-select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
-c2h
-ab_def
-drop table t1;
-SET NAMES utf8, collation_connection='utf16le_bin';
-create table t1 select repeat('a',4000) a;
-delete from t1;
-insert into t1 values ('a'), ('a '), ('a\t');
-select collation(a),hex(a) from t1 order by a;
-collation(a) hex(a)
-utf16le_bin 61000900
-utf16le_bin 6100
-utf16le_bin 61002000
-drop table t1;
-#
-# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
-#
-SELECT @@collation_connection;
-@@collation_connection
-utf16le_bin
-CREATE TABLE t1 (i INT) ENGINE=MyISAM;
-INSERT INTO t1 VALUES (1),(2);
-SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
-i
-1
-1
-SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
-i
-1
-1
-DROP TABLE t1;
-#
-# MDEV-6170 Incorrect ordering with utf8_bin and utf8mb4_bin collations
-#
-SELECT @@collation_connection;
-@@collation_connection
-utf16le_bin
-CREATE TABLE t1 ENGINE=MEMORY AS SELECT REPEAT('a',5) AS a LIMIT 0;
-INSERT INTO t1 (a) VALUES ("a");
-INSERT INTO t1 (a) VALUES ("b");
-INSERT INTO t1 (a) VALUES ("c");
-INSERT INTO t1 (a) VALUES ("d");
-INSERT INTO t1 (a) VALUES ("e");
-INSERT INTO t1 (a) VALUES ("f");
-INSERT INTO t1 (a) VALUES ("g");
-INSERT INTO t1 (a) VALUES ("h");
-INSERT INTO t1 (a) VALUES ("i");
-INSERT INTO t1 (a) VALUES ("j");
-INSERT INTO t1 (a) VALUES ("k");
-INSERT INTO t1 (a) VALUES ("l");
-INSERT INTO t1 (a) VALUES ("m");
-SELECT * FROM t1 ORDER BY LOWER(a);
-a
-a
-b
-c
-d
-e
-f
-g
-h
-i
-j
-k
-l
-m
-SELECT * FROM t1 ORDER BY LOWER(a) DESC;
-a
-m
-l
-k
-j
-i
-h
-g
-f
-e
-d
-c
-b
-a
-DROP TABLE t1;
-#
-# Bug#55980 Character sets: supplementary character _bin ordering is wrong
-#
-CREATE TABLE t1 AS SELECT REPEAT('a',1) AS a LIMIT 0;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(1) CHARACTER SET utf16le COLLATE utf16le_bin DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-INSERT INTO t1 VALUES (_utf8mb4 0xEFBE9D),(_utf8mb4 0xF0908E84);
-INSERT INTO t1 VALUES (_utf8mb4 0xCE85),(_utf8mb4 0xF4808080);
-SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
-HEX(a) HEX(CONVERT(a USING utf8mb4))
-8503 CE85
-9DFF EFBE9D
-00D884DF F0908E84
-C0DB00DC F4808080
-ALTER TABLE t1 ADD KEY(a);
-SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
-HEX(a) HEX(CONVERT(a USING utf8mb4))
-8503 CE85
-9DFF EFBE9D
-00D884DF F0908E84
-C0DB00DC F4808080
-DROP TABLE IF EXISTS t1;
-#
-# BUG#16691598 - ORDER BY LOWER(COLUMN) PRODUCES
-# OUT-OF-ORDER RESULTS
-#
-CREATE TABLE t1 SELECT ('a a') as n;
-INSERT INTO t1 VALUES('a b');
-SELECT * FROM t1 ORDER BY LOWER(n) ASC;
-n
-a a
-a b
-SELECT * FROM t1 ORDER BY LOWER(n) DESC;
-n
-a b
-a a
-DROP TABLE t1;
-select @@collation_connection;
-@@collation_connection
-utf16le_bin
-create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
-insert into t1 values('abcdef');
-insert into t1 values('_bcdef');
-insert into t1 values('a_cdef');
-insert into t1 values('ab_def');
-insert into t1 values('abc_ef');
-insert into t1 values('abcd_f');
-insert into t1 values('abcde_');
-select c1 as c1u from t1 where c1 like 'ab\_def';
-c1u
-ab_def
-select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
-c2h
-ab_def
-drop table t1;
-#
-# Bug#10344 Some string functions fail for UCS2
-#
-CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf16le, pos INT);
-INSERT INTO t1 VALUES (_ucs2 0x00e400e50068,1);
-INSERT INTO t1 VALUES (_ucs2 0x00e400e50068,2);
-INSERT INTO t1 VALUES (_ucs2 0x00e400e50068,3);
-INSERT INTO t1 VALUES (_ucs2 0x00e400e50068,-1);
-INSERT INTO t1 VALUES (_ucs2 0x00e400e50068,-2);
-INSERT INTO t1 VALUES (_ucs2 0x00e400e50068,-3);
-INSERT INTO t1 VALUES (_utf32 0x000000e4000000e500010000, 1);
-INSERT INTO t1 VALUES (_utf32 0x000000e4000000e500010000, 2);
-INSERT INTO t1 VALUES (_utf32 0x000000e4000000e500010000, 3);
-INSERT INTO t1 VALUES (_utf32 0x000000e4000000e500010000, -1);
-INSERT INTO t1 VALUES (_utf32 0x000000e4000000e500010000, -2);
-INSERT INTO t1 VALUES (_utf32 0x000000e4000000e500010000, -3);
-SELECT HEX(SUBSTR(a, pos)), SUBSTR(a, pos) FROM t1;
-HEX(SUBSTR(a, pos)) SUBSTR(a, pos)
-E400E5006800 äåh
-E5006800 åh
-6800 h
-6800 h
-E5006800 åh
-E400E5006800 äåh
-E400E50000D800DC äå?
-E50000D800DC å?
-00D800DC ?
-00D800DC ?
-E50000D800DC å?
-E400E50000D800DC äå?
-DROP TABLE t1;
-SET NAMES utf8, collation_connection=utf16le_general_ci;
-#
-# Bug#9442 Set parameter make query fail if column CHARACTER SET is UCS2
-#
-CREATE TABLE t1 (utext VARCHAR(20) CHARACTER SET utf16le);
-INSERT INTO t1 VALUES ("lily");
-INSERT INTO t1 VALUES ("river");
-PREPARE stmt FROM 'SELECT utext FROM t1 where utext like ?';
-SET @param1='%%';
-EXECUTE stmt USING @param1;
-utext
-lily
-river
-EXECUTE stmt USING @param1;
-utext
-lily
-river
-SELECT utext FROM t1 where utext like '%%';
-utext
-lily
-river
-DROP TABLE t1;
-DEALLOCATE PREPARE stmt;
-#
-# Bug#22052 Trailing spaces are not removed FROM UNICODE fields in an index
-#
-CREATE TABLE t1 (
-a CHAR(10) CHARACTER SET utf16le NOT NULL,
-INDEX a (a)
-) engine=myisam;
-INSERT INTO t1 VALUES (REPEAT(_ucs2 0x201f, 10));
-INSERT INTO t1 VALUES (REPEAT(_ucs2 0x2020, 10));
-INSERT INTO t1 VALUES (REPEAT(_ucs2 0x2021, 10));
-# make sure "index read" is used
-explain SELECT HEX(a) FROM t1 ORDER BY a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL a 40 NULL 3 Using index
-SELECT HEX(a) FROM t1 ORDER BY a;
-HEX(a)
-1F201F201F201F201F201F201F201F201F201F20
-2020202020202020202020202020202020202020
-2120212021202120212021202120212021202120
-ALTER TABLE t1 DROP INDEX a;
-SELECT HEX(a) FROM t1 ORDER BY a;
-HEX(a)
-1F201F201F201F201F201F201F201F201F201F20
-2020202020202020202020202020202020202020
-2120212021202120212021202120212021202120
-DROP TABLE t1;
-#
-# Bug #20108: corrupted default enum value for a ucs2 field
-#
-CREATE TABLE t1 (
-status ENUM('active','passive') CHARACTER SET utf16le COLLATE utf16le_general_ci
-NOT NULL DEFAULT 'passive'
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `status` enum('active','passive') CHARACTER SET utf16le NOT NULL DEFAULT 'passive'
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-ALTER TABLE t1 ADD a int NOT NULL AFTER status;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `status` enum('active','passive') CHARACTER SET utf16le NOT NULL DEFAULT 'passive',
- `a` int(11) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-DROP TABLE t1;
-#
-# Conversion FROM an UTF16LE string to a decimal column
-#
-CREATE TABLE t1 (a VARCHAR(64) CHARACTER SET utf16le, b DECIMAL(10,3));
-INSERT INTO t1 VALUES ("1.1", 0), ("2.1", 0);
-UPDATE t1 set b=a;
-SELECT *, HEX(a) FROM t1;
-a b HEX(a)
-1.1 1.100 31002E003100
-2.1 2.100 32002E003100
-DROP TABLE t1;
-#
-# Bug#9442 Set parameter make query fail if column CHARACTER SET is UCS2
-#
-CREATE TABLE t1 (utext VARCHAR(20) CHARACTER SET utf16le);
-INSERT INTO t1 VALUES ("lily");
-INSERT INTO t1 VALUES ("river");
-PREPARE stmt FROM 'SELECT utext FROM t1 where utext like ?';
-SET @param1='%%';
-EXECUTE stmt USING @param1;
-utext
-lily
-river
-EXECUTE stmt USING @param1;
-utext
-lily
-river
-SELECT utext FROM t1 where utext like '%%';
-utext
-lily
-river
-DROP TABLE t1;
-DEALLOCATE PREPARE stmt;
-#
-# Bug#22638 SOUNDEX broken for international characters
-#
-SET NAMES utf8, collation_connection=utf16le_general_ci;
-SELECT SOUNDEX(''),SOUNDEX('he'),SOUNDEX('hello all folks'),SOUNDEX('#3556 in bugdb');
-SOUNDEX('') SOUNDEX('he') SOUNDEX('hello all folks') SOUNDEX('#3556 in bugdb')
- H000 H4142 I51231
-SELECT HEX(SOUNDEX('')),HEX(SOUNDEX('he')),HEX(SOUNDEX('hello all folks')),HEX(SOUNDEX('#3556 in bugdb'));
-HEX(SOUNDEX('')) HEX(SOUNDEX('he')) HEX(SOUNDEX('hello all folks')) HEX(SOUNDEX('#3556 in bugdb'))
- 4800300030003000 48003400310034003200 490035003100320033003100
-SELECT 'mood' sounds like 'mud';
-'mood' sounds like 'mud'
-1
-# Cyrillic A, BE, VE
-SELECT HEX(SOUNDEX(_utf16le 0x041004110412));
-HEX(SOUNDEX(_utf16le 0x041004110412))
-0410300030003000
-# Make sure that "U+00BF INVERTED QUESTION MARK" is not considered as letter
-SELECT HEX(SOUNDEX(_utf16le 0x00BF00C0));
-HEX(SOUNDEX(_utf16le 0x00BF00C0))
-00BF300030003000
-#
-# Bug#14290: character_maximum_length for text fields
-#
-CREATE TABLE t1(a BLOB, b TEXT CHARSET utf16le);
-SELECT data_type, character_octet_length, character_maximum_length
-FROM information_schema.columns where table_name='t1';
-data_type character_octet_length character_maximum_length
-blob 65535 65535
-text 65535 32767
-DROP TABLE t1;
-SET NAMES utf8, collation_connection=utf16le_general_ci;
-#
-# Testing cs->coll->instr()
-#
-SELECT POSITION('bb' IN 'abba');
-POSITION('bb' IN 'abba')
-2
-#
-# Testing cs->coll->hash_sort()
-#
-SET NAMES utf8, collation_connection=utf16le_bin;
-#
-# Test that cs->coll->hash_sort() ignores trailing spaces
-#
-SELECT @@collation_connection;
-@@collation_connection
-utf16le_bin
-CREATE TABLE t1 ENGINE=HEAP AS SELECT REPEAT (' ', 10) AS a LIMIT 0;
-ALTER TABLE t1 ADD KEY (a);
-CREATE TABLE t2 (a VARCHAR(10));
-INSERT INTO t2 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
-INSERT INTO t2 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
-INSERT INTO t1 SELECT CONCAT('a',t21.a,t22.a) FROM t2 t21, t2 t22 ORDER BY 1;
-DROP TABLE t2;
-INSERT INTO t1 VALUES ('a ');
-SELECT a, HEX(a) FROM t1 WHERE a='a';
-a HEX(a)
-a 61002000
-DROP TABLE t1;
-SET NAMES utf8, collation_connection=utf16le_general_ci;
-#
-# Test that cs->coll->hash_sort() ignores trailing spaces
-#
-SELECT @@collation_connection;
-@@collation_connection
-utf16le_general_ci
-CREATE TABLE t1 ENGINE=HEAP AS SELECT REPEAT (' ', 10) AS a LIMIT 0;
-ALTER TABLE t1 ADD KEY (a);
-CREATE TABLE t2 (a VARCHAR(10));
-INSERT INTO t2 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
-INSERT INTO t2 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
-INSERT INTO t1 SELECT CONCAT('a',t21.a,t22.a) FROM t2 t21, t2 t22 ORDER BY 1;
-DROP TABLE t2;
-INSERT INTO t1 VALUES ('a ');
-SELECT a, HEX(a) FROM t1 WHERE a='a';
-a HEX(a)
-a 61002000
-DROP TABLE t1;
-#
-# Testing cs->cset->numchars()
-#
-SELECT CHAR_LENGTH('abcd'), OCTET_LENGTH('abcd');
-CHAR_LENGTH('abcd') OCTET_LENGTH('abcd')
-4 8
-SELECT CHAR_LENGTH(_utf16le 0x00D800DC), OCTET_LENGTH(_utf16le 0x00D800DC);
-CHAR_LENGTH(_utf16le 0x00D800DC) OCTET_LENGTH(_utf16le 0x00D800DC)
-1 4
-SELECT CHAR_LENGTH(_utf16le 0x7DD8FFDF), OCTET_LENGTH(_utf16le 0x7FD8DDDF);
-CHAR_LENGTH(_utf16le 0x7DD8FFDF) OCTET_LENGTH(_utf16le 0x7FD8DDDF)
-1 4
-#
-# Testing cs->cset->charpos()
-#
-SELECT LEFT('abcd',2);
-LEFT('abcd',2)
-ab
-SELECT HEX(LEFT(_utf16le 0x00D800DC7FD8FFDF, 1));
-HEX(LEFT(_utf16le 0x00D800DC7FD8FFDF, 1))
-00D800DC
-SELECT HEX(RIGHT(_utf16le 0x00D800DC7FD8FFDF, 1));
-HEX(RIGHT(_utf16le 0x00D800DC7FD8FFDF, 1))
-7FD8FFDF
-#
-# Testing cs->cset->well_formed_length()
-#
-CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf16le);
-# Bad sequences
-INSERT INTO t1 VALUES (_utf16le 0x00D8);
-ERROR HY000: Invalid utf16le character string: '00D8'
-INSERT INTO t1 VALUES (_utf16le 0x00DC);
-ERROR HY000: Invalid utf16le character string: '00DC'
-INSERT INTO t1 VALUES (_utf16le 0x00D800D8);
-ERROR HY000: Invalid utf16le character string: '00D800'
-INSERT INTO t1 VALUES (_utf16le 0x00D800E8);
-ERROR HY000: Invalid utf16le character string: '00D800'
-INSERT INTO t1 VALUES (_utf16le 0x00D80008);
-ERROR HY000: Invalid utf16le character string: '00D800'
-# Good sequences
-INSERT INTO t1 VALUES (_utf16le 0x00D800DC);
-INSERT INTO t1 VALUES (_utf16le 0x00D8FFDC);
-INSERT INTO t1 VALUES (_utf16le 0xFFDB00DC);
-INSERT INTO t1 VALUES (_utf16le 0xFFDBFFDC);
-SELECT HEX(a) FROM t1;
-HEX(a)
-00D800DC
-00D8FFDC
-FFDB00DC
-FFDBFFDC
-DROP TABLE t1;
-#
-# Bug#32393 Character sets: illegal characters in utf16le columns
-#
-# Tests that cs->cset->wc_mb() doesn't accept surrogate parts
-#
-# via ALTER
-#
-CREATE TABLE t1 (s1 VARCHAR(50) CHARACTER SET ucs2);
-INSERT INTO t1 VALUES (0xDF84);
-SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR
-ALTER TABLE t1 MODIFY column s1 VARCHAR(50) CHARACTER SET utf16le;
-Warnings:
-Warning 1366 Incorrect string value: '\xDF\x84' for column 's1' at row 1
-SELECT HEX(s1) FROM t1;
-HEX(s1)
-3F00
-DROP TABLE t1;
-#
-# via UPDATE
-#
-CREATE TABLE t1 (s1 VARCHAR(5) CHARACTER SET ucs2, s2 VARCHAR(5) CHARACTER SET utf16le);
-INSERT INTO t1 (s1) VALUES (0xdf84);
-UPDATE IGNORE t1 set s2 = s1;
-Warnings:
-Warning 1366 Incorrect string value: '\xDF\x84' for column 's2' at row 1
-SELECT HEX(s2) FROM t1;
-HEX(s2)
-3F00
-DROP TABLE t1;
-#
-# Testing cs->cset->lengthsp()
-#
-CREATE TABLE t1 (a CHAR(10)) CHARACTER SET utf16le;
-INSERT INTO t1 VALUES ('a ');
-SELECT HEX(a) FROM t1;
-HEX(a)
-6100
-DROP TABLE t1;
-#
-# Testing cs->cset->caseup() and cs->cset->casedn()
-#
-SELECT UPPER('abcd'), LOWER('ABCD');
-UPPER('abcd') LOWER('ABCD')
-ABCD abcd
-#
-# Checking str_to_datetime()
-#
-select @@collation_connection;
-@@collation_connection
-utf16le_general_ci
-CREATE TABLE t1 (a date);
-INSERT INTO t1 VALUES ('2007-09-16');
-SELECT * FROM t1;
-a
-2007-09-16
-DROP TABLE t1;
-#
-# Testing cs->cset->ll10tostr
-#
-CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf16le);
-INSERT INTO t1 VALUES (123456);
-SELECT a, HEX(a) FROM t1;
-a HEX(a)
-123456 310032003300340035003600
-DROP TABLE t1;
-#
-# Testing cs->cset->fill
-# SOUNDEX fills strings with DIGIT ZERO up to four characters
-#
-SELECT SOUNDEX('a'), HEX(SOUNDEX('a'));
-SOUNDEX('a') HEX(SOUNDEX('a'))
-A000 4100300030003000
-#
-# Testing cs->cset->strntoul
-#
-CREATE TABLE t1 (a enum ('a','b','c')) CHARACTER SET utf16le;
-INSERT INTO t1 VALUES ('1');
-SELECT * FROM t1;
-a
-a
-DROP TABLE t1;
-#
-# Testing cs->cset->strntoll and cs->cset->strntoull
-#
-SET NAMES latin1;
-SELECT HEX(CONV(CONVERT('123' USING utf16le), -10, 16));
-HEX(CONV(CONVERT('123' USING utf16le), -10, 16))
-3742
-SELECT HEX(CONV(CONVERT('123' USING utf16le), 10, 16));
-HEX(CONV(CONVERT('123' USING utf16le), 10, 16))
-3742
-SET NAMES utf8, collation_connection=utf16le_general_ci;
-#
-# Testing cs->cset->strntod
-#
-SET NAMES utf8, collation_connection=utf16le_general_ci;
-SELECT 1.1 + '1.2';
-1.1 + '1.2'
-2.3
-SELECT 1.1 + '1.2xxx';
-1.1 + '1.2xxx'
-2.3
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: '1.2xxx'
-#
-# Testing cs->cset->strtoll10
-#
-SELECT LEFT('aaa','1');
-LEFT('aaa','1')
-a
-CREATE TABLE t1 AS SELECT REPEAT('abcd', 128) AS a;
-SELECT LEFT(a, '2') FROM t1;
-LEFT(a, '2')
-ab
-SELECT LEFT(a, ' \t \t 2') FROM t1;
-LEFT(a, ' \t \t 2')
-ab
-SELECT LEFT(a, ' \t \t +2') FROM t1;
-LEFT(a, ' \t \t +2')
-ab
-SELECT SUBSTR(a, '-2') FROM t1;
-SUBSTR(a, '-2')
-cd
-SELECT SUBSTR(a, ' \t \t -2') FROM t1;
-SUBSTR(a, ' \t \t -2')
-cd
-SELECT LEFT(a, '00002') FROM t1;
-LEFT(a, '00002')
-ab
-SELECT LEFT(a, ' \t \t 00002') FROM t1;
-LEFT(a, ' \t \t 00002')
-ab
-SELECT LEFT(a, ' \t \t +00002') FROM t1;
-LEFT(a, ' \t \t +00002')
-ab
-SELECT SUBSTR(a, '-00002') FROM t1;
-SUBSTR(a, '-00002')
-cd
-SELECT SUBSTR(a, ' \t \t -00002') FROM t1;
-SUBSTR(a, ' \t \t -00002')
-cd
-DROP TABLE t1;
-CREATE TABLE t1 AS SELECT REPEAT('abcd', 128) AS a LIMIT 0;
-INSERT INTO t1 VALUES ('255'), ('65535'),('16777215'),('4294967295'),
-('1099511627775'),('281474976710655'),('72057594037927935'),
-('1844674407370955161'),('18446744073709551614'), ('18446744073709551615');
-SELECT a, CAST(a AS SIGNED), CAST(a AS UNSIGNED) FROM t1;
-a CAST(a AS SIGNED) CAST(a AS UNSIGNED)
-255 255 255
-65535 65535 65535
-16777215 16777215 16777215
-4294967295 4294967295 4294967295
-1099511627775 1099511627775 1099511627775
-281474976710655 281474976710655 281474976710655
-72057594037927935 72057594037927935 72057594037927935
-1844674407370955161 1844674407370955161 1844674407370955161
-18446744073709551614 -2 18446744073709551614
-18446744073709551615 -1 18446744073709551615
-Warnings:
-Note 1105 Cast to signed converted positive out-of-range integer to it's negative complement
-Note 1105 Cast to signed converted positive out-of-range integer to it's negative complement
-UPDATE t1 SET a=CONCAT('-', a);
-SELECT a, CAST(a AS SIGNED) FROM t1;
-a CAST(a AS SIGNED)
--255 -255
--65535 -65535
--16777215 -16777215
--4294967295 -4294967295
--1099511627775 -1099511627775
--281474976710655 -281474976710655
--72057594037927935 -72057594037927935
--1844674407370955161 -1844674407370955161
--18446744073709551614 -9223372036854775808
--18446744073709551615 -9223372036854775808
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '-18446744073709551614'
-Warning 1292 Truncated incorrect INTEGER value: '-18446744073709551615'
-DROP TABLE t1;
-#
-# Testing cs->cset->strtoll10()
-#
-SELECT @@character_set_connection;
-@@character_set_connection
-utf16le
-SELECT CAST('1' AS UNSIGNED);
-CAST('1' AS UNSIGNED)
-1
-SELECT CAST('12' AS UNSIGNED);
-CAST('12' AS UNSIGNED)
-12
-SELECT CAST('123' AS UNSIGNED);
-CAST('123' AS UNSIGNED)
-123
-SELECT CAST('1234' AS UNSIGNED);
-CAST('1234' AS UNSIGNED)
-1234
-SELECT CAST('12345' AS UNSIGNED);
-CAST('12345' AS UNSIGNED)
-12345
-SELECT CAST('123456' AS UNSIGNED);
-CAST('123456' AS UNSIGNED)
-123456
-SELECT CAST('1234567' AS UNSIGNED);
-CAST('1234567' AS UNSIGNED)
-1234567
-SELECT CAST('12345678' AS UNSIGNED);
-CAST('12345678' AS UNSIGNED)
-12345678
-SELECT CAST('123456789' AS UNSIGNED);
-CAST('123456789' AS UNSIGNED)
-123456789
-SELECT CAST('1234567891' AS UNSIGNED);
-CAST('1234567891' AS UNSIGNED)
-1234567891
-SELECT CAST('12345678912' AS UNSIGNED);
-CAST('12345678912' AS UNSIGNED)
-12345678912
-SELECT CAST('123456789123' AS UNSIGNED);
-CAST('123456789123' AS UNSIGNED)
-123456789123
-SELECT CAST('1234567891234' AS UNSIGNED);
-CAST('1234567891234' AS UNSIGNED)
-1234567891234
-SELECT CAST('12345678912345' AS UNSIGNED);
-CAST('12345678912345' AS UNSIGNED)
-12345678912345
-SELECT CAST('123456789123456' AS UNSIGNED);
-CAST('123456789123456' AS UNSIGNED)
-123456789123456
-SELECT CAST('1234567891234567' AS UNSIGNED);
-CAST('1234567891234567' AS UNSIGNED)
-1234567891234567
-SELECT CAST('12345678912345678' AS UNSIGNED);
-CAST('12345678912345678' AS UNSIGNED)
-12345678912345678
-SELECT CAST('123456789123456789' AS UNSIGNED);
-CAST('123456789123456789' AS UNSIGNED)
-123456789123456789
-SELECT CAST('1234567891234567891' AS UNSIGNED);
-CAST('1234567891234567891' AS UNSIGNED)
-1234567891234567891
-SELECT CAST('12345678912345678912' AS UNSIGNED);
-CAST('12345678912345678912' AS UNSIGNED)
-12345678912345678912
-SELECT CAST('123456789123456789123' AS UNSIGNED);
-CAST('123456789123456789123' AS UNSIGNED)
-18446744073709551615
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '123456789123456789123'
-SELECT CAST('1x' AS UNSIGNED);
-CAST('1x' AS UNSIGNED)
-1
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '1x'
-SELECT CAST('12x' AS UNSIGNED);
-CAST('12x' AS UNSIGNED)
-12
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '12x'
-SELECT CAST('123x' AS UNSIGNED);
-CAST('123x' AS UNSIGNED)
-123
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '123x'
-SELECT CAST('1234x' AS UNSIGNED);
-CAST('1234x' AS UNSIGNED)
-1234
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '1234x'
-SELECT CAST('12345x' AS UNSIGNED);
-CAST('12345x' AS UNSIGNED)
-12345
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '12345x'
-SELECT CAST('123456x' AS UNSIGNED);
-CAST('123456x' AS UNSIGNED)
-123456
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '123456x'
-SELECT CAST('1234567x' AS UNSIGNED);
-CAST('1234567x' AS UNSIGNED)
-1234567
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '1234567x'
-SELECT CAST('12345678x' AS UNSIGNED);
-CAST('12345678x' AS UNSIGNED)
-12345678
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '12345678x'
-SELECT CAST('123456789x' AS UNSIGNED);
-CAST('123456789x' AS UNSIGNED)
-123456789
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '123456789x'
-SELECT CAST('1234567891x' AS UNSIGNED);
-CAST('1234567891x' AS UNSIGNED)
-1234567891
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '1234567891x'
-SELECT CAST('12345678912x' AS UNSIGNED);
-CAST('12345678912x' AS UNSIGNED)
-12345678912
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '12345678912x'
-SELECT CAST('123456789123x' AS UNSIGNED);
-CAST('123456789123x' AS UNSIGNED)
-123456789123
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '123456789123x'
-SELECT CAST('1234567891234x' AS UNSIGNED);
-CAST('1234567891234x' AS UNSIGNED)
-1234567891234
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '1234567891234x'
-SELECT CAST('12345678912345x' AS UNSIGNED);
-CAST('12345678912345x' AS UNSIGNED)
-12345678912345
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '12345678912345x'
-SELECT CAST('123456789123456x' AS UNSIGNED);
-CAST('123456789123456x' AS UNSIGNED)
-123456789123456
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '123456789123456x'
-SELECT CAST('1234567891234567x' AS UNSIGNED);
-CAST('1234567891234567x' AS UNSIGNED)
-1234567891234567
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '1234567891234567x'
-SELECT CAST('12345678912345678x' AS UNSIGNED);
-CAST('12345678912345678x' AS UNSIGNED)
-12345678912345678
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '12345678912345678x'
-SELECT CAST('123456789123456789x' AS UNSIGNED);
-CAST('123456789123456789x' AS UNSIGNED)
-123456789123456789
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '123456789123456789x'
-SELECT CAST('1234567891234567891x' AS UNSIGNED);
-CAST('1234567891234567891x' AS UNSIGNED)
-1234567891234567891
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '1234567891234567891x'
-SELECT CAST('12345678912345678912x' AS UNSIGNED);
-CAST('12345678912345678912x' AS UNSIGNED)
-12345678912345678912
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '12345678912345678912x'
-SELECT CAST('123456789123456789123x' AS UNSIGNED);
-CAST('123456789123456789123x' AS UNSIGNED)
-18446744073709551615
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '123456789123456789123x'
-#
-# Testing cs->cset->strntoull10rnd
-#
-CREATE TABLE t1 (a int);
-INSERT INTO t1 VALUES ('-1234.1e2');
-INSERT IGNORE INTO t1 VALUES ('-1234.1e2xxxx');
-Warnings:
-Warning 1265 Data truncated for column 'a' at row 1
-INSERT INTO t1 VALUES ('-1234.1e2 ');
-Warnings:
-Note 1265 Data truncated for column 'a' at row 1
-INSERT INTO t1 VALUES ('123');
-INSERT INTO t1 VALUES ('-124');
-INSERT INTO t1 VALUES ('+125');
-INSERT INTO t1 VALUES (' \t \t 123');
-INSERT INTO t1 VALUES (' \t \t -124');
-INSERT INTO t1 VALUES (' \t \t +125');
-INSERT INTO t1 VALUES (' \t \t 000123');
-INSERT INTO t1 VALUES (' \t \t -000124');
-INSERT INTO t1 VALUES (' \t \t +000125');
-SELECT * FROM t1;
-a
--123410
--123410
--123410
-123
--124
-125
-123
--124
-125
-123
--124
-125
-DROP TABLE t1;
-CREATE TABLE t1 (a BIGINT UNSIGNED);
-INSERT INTO t1 VALUES ('255'), ('65535'),('16777215'),('4294967295'),
-('1099511627775'),('281474976710655'),('72057594037927935'),
-('1844674407370955161'),('18446744073709551614'), ('18446744073709551615');
-SELECT * FROM t1;
-a
-255
-65535
-16777215
-4294967295
-1099511627775
-281474976710655
-72057594037927935
-1844674407370955161
-18446744073709551614
-18446744073709551615
-DROP TABLE t1;
-#
-# Testing cs->cset->scan
-#
-CREATE TABLE t1 (a int);
-INSERT INTO t1 VALUES ('1 ');
-Warnings:
-Note 1265 Data truncated for column 'a' at row 1
-INSERT IGNORE INTO t1 VALUES ('1 x');
-Warnings:
-Warning 1265 Data truncated for column 'a' at row 1
-SELECT * FROM t1;
-a
-1
-1
-DROP TABLE t1;
-#
-# Testing auto-conversion to TEXT
-#
-SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR
-CREATE TABLE t1 (a VARCHAR(17000) CHARACTER SET utf16le);
-Warnings:
-Note 1246 Converting column 'a' from VARCHAR to TEXT
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` mediumtext CHARACTER SET utf16le DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-DROP TABLE t1;
-#
-# Testing that maximim possible key length is 1000 bytes
-#
-CREATE TABLE t1 (a VARCHAR(250) CHARACTER SET utf16le PRIMARY KEY);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(250) CHARACTER SET utf16le NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-DROP TABLE t1;
-CREATE TABLE t1 (a VARCHAR(334) CHARACTER SET utf16le PRIMARY KEY);
-ERROR 42000: Specified key was too long; max key length is 1000 bytes
-#
-# Conversion to utf8
-#
-CREATE TABLE t1 (a CHAR(1) CHARACTER SET utf16le);
-INSERT INTO t1 VALUES (0x00D800DC),(0x00D8FFDC),(0x7FDB00DC),(0x7FDBFFDC);
-INSERT INTO t1 VALUES (0xC000), (0xFF00),(0x00E0), (0xFFFF);
-SELECT HEX(a), HEX(@a:=CONVERT(a USING utf8mb4)), HEX(CONVERT(@a USING utf16le)) FROM t1;
-HEX(a) HEX(@a:=CONVERT(a USING utf8mb4)) HEX(CONVERT(@a USING utf16le))
-00D800DC F0908080 00D800DC
-00D8FFDC F09083BF 00D8FFDC
-7FDB00DC F3AFB080 7FDB00DC
-7FDBFFDC F3AFB3BF 7FDBFFDC
-C000 C380 C000
-FF00 C3BF FF00
-00E0 EE8080 00E0
-FFFF EFBFBF FFFF
-DROP TABLE t1;
-#
-# Test basic regex functionality
-#
-SET NAMES utf8, collation_connection=utf16le_general_ci;
-drop table if exists t1;
-create table t1 as
-select repeat(' ', 64) as s1, repeat(' ',64) as s2
-union
-select null, null;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `s1` varchar(64) CHARACTER SET utf16le DEFAULT NULL,
- `s2` varchar(64) CHARACTER SET utf16le DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-delete from t1;
-insert into t1 values('aaa','aaa');
-insert into t1 values('aaa|qqq','qqq');
-insert into t1 values('gheis','^[^a-dXYZ]+$');
-insert into t1 values('aab','^aa?b');
-insert into t1 values('Baaan','^Ba*n');
-insert into t1 values('aaa','qqq|aaa');
-insert into t1 values('qqq','qqq|aaa');
-insert into t1 values('bbb','qqq|aaa');
-insert into t1 values('bbb','qqq');
-insert into t1 values('aaa','aba');
-insert into t1 values(null,'abc');
-insert into t1 values('def',null);
-insert into t1 values(null,null);
-insert into t1 values('ghi','ghi[');
-select HIGH_PRIORITY s1 regexp s2 from t1;
-s1 regexp s2
-0
-0
-0
-1
-1
-1
-1
-1
-1
-1
-NULL
-NULL
-NULL
-NULL
-drop table t1;
-#
-# Test how CHARACTER SET works with date/time
-#
-#
-# Bug#32390 Character sets: casting utf32 to/from date doesn't work
-#
-CREATE TABLE t1 AS SELECT repeat('a',20) AS s1 LIMIT 0;
-SET time_zone=_latin1'+03:00';
-SET timestamp=1216359724;
-INSERT INTO t1 VALUES (current_date);
-INSERT INTO t1 VALUES (current_time);
-INSERT INTO t1 VALUES (current_timestamp);
-SELECT s1, hex(s1) FROM t1;
-s1 hex(s1)
-2008-07-18 32003000300038002D00300037002D0031003800
-08:42:04 300038003A00340032003A0030003400
-2008-07-18 08:42:04 32003000300038002D00300037002D00310038002000300038003A00340032003A0030003400
-DROP TABLE t1;
-SET timestamp=0;
-SET time_zone=default;
-#
-# MDEV-5298 Illegal mix of collations on timestamp
-#
-SELECT CHARSET('2013-11-15 00:41:28' - INTERVAL 7 DAY);
-CHARSET('2013-11-15 00:41:28' - INTERVAL 7 DAY)
-utf16le
-SELECT COERCIBILITY('2013-11-15 00:41:28' - INTERVAL 7 DAY);
-COERCIBILITY('2013-11-15 00:41:28' - INTERVAL 7 DAY)
-4
-SELECT CHARSET(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY);
-CHARSET(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY)
-binary
-SELECT COERCIBILITY(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY);
-COERCIBILITY(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY)
-5
-SELECT CHARSET(CONCAT('2013-11-15 00:41:28' - INTERVAL 7 DAY));
-CHARSET(CONCAT('2013-11-15 00:41:28' - INTERVAL 7 DAY))
-utf16le
-SELECT COERCIBILITY(CONCAT('2013-11-15 00:41:28' - INTERVAL 7 DAY));
-COERCIBILITY(CONCAT('2013-11-15 00:41:28' - INTERVAL 7 DAY))
-4
-SELECT CHARSET(CONCAT(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY));
-CHARSET(CONCAT(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY))
-utf16le
-SELECT COERCIBILITY(CONCAT(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY));
-COERCIBILITY(CONCAT(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY))
-4
-SELECT CHARSET(CONCAT('','2001-01-08 00:00:00' - INTERVAL 7 DAY));
-CHARSET(CONCAT('','2001-01-08 00:00:00' - INTERVAL 7 DAY))
-utf16le
-SELECT COERCIBILITY(CONCAT('','2001-01-08 00:00:00' - INTERVAL 7 DAY));
-COERCIBILITY(CONCAT('','2001-01-08 00:00:00' - INTERVAL 7 DAY))
-4
-SELECT HEX(CONCAT('','2001-01-08 00:00:00' - INTERVAL 7 DAY));
-HEX(CONCAT('','2001-01-08 00:00:00' - INTERVAL 7 DAY))
-32003000300031002D00300031002D00300031002000300030003A00300030003A0030003000
-SELECT CHARSET(CONCAT('',TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY));
-CHARSET(CONCAT('',TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY))
-utf16le
-SELECT COERCIBILITY(CONCAT('',TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY));
-COERCIBILITY(CONCAT('',TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY))
-4
-SELECT HEX(CONCAT('',TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY));
-HEX(CONCAT('',TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY))
-32003000300031002D00300031002D00300031002000300030003A00300030003A0030003000
-CREATE TABLE t1 AS SELECT REPEAT('a', 64) AS a LIMIT 0;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(64) CHARACTER SET utf16le DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-INSERT INTO t1 VALUES ('');
-SELECT CHARSET(CONCAT(a,'2001-01-08 00:00:00' - INTERVAL 7 DAY)) FROM t1;
-CHARSET(CONCAT(a,'2001-01-08 00:00:00' - INTERVAL 7 DAY))
-utf16le
-SELECT COERCIBILITY(CONCAT(a,'2001-01-08 00:00:00' - INTERVAL 7 DAY)) FROM t1;
-COERCIBILITY(CONCAT(a,'2001-01-08 00:00:00' - INTERVAL 7 DAY))
-2
-SELECT HEX(CONCAT(a,'2001-01-08 00:00:00' - INTERVAL 7 DAY)) FROM t1;
-HEX(CONCAT(a,'2001-01-08 00:00:00' - INTERVAL 7 DAY))
-32003000300031002D00300031002D00300031002000300030003A00300030003A0030003000
-SELECT CHARSET(CONCAT(a,TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)) FROM t1;
-CHARSET(CONCAT(a,TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY))
-utf16le
-SELECT COERCIBILITY(CONCAT(a,TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)) FROM t1;
-COERCIBILITY(CONCAT(a,TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY))
-2
-SELECT HEX(CONCAT(a,TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)) FROM t1;
-HEX(CONCAT(a,TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY))
-32003000300031002D00300031002D00300031002000300030003A00300030003A0030003000
-DROP TABLE t1;
-CREATE TABLE t1 (t TIMESTAMP NOT NULL);
-INSERT INTO t1 VALUES ('2001-01-01 00:00:00');
-SELECT * FROM t1 WHERE t < '2013-11-15 00:41:28' - INTERVAL 7 DAY;
-t
-2001-01-01 00:00:00
-SELECT * FROM t1 WHERE t = '2001-01-08 00:00:00' - INTERVAL 7 DAY;
-t
-2001-01-01 00:00:00
-SELECT * FROM t1 WHERE t < CONCAT('2013-11-15 00:41:28',LEFT(RAND(),0)) - INTERVAL 7 DAY;
-t
-2001-01-01 00:00:00
-SELECT * FROM t1 WHERE t = CONCAT('2001-01-08 00:00:00',LEFT(RAND(),0)) - INTERVAL 7 DAY;
-t
-2001-01-01 00:00:00
-SELECT * FROM t1 WHERE t < TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY;
-t
-2001-01-01 00:00:00
-SELECT * FROM t1 WHERE t = TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY;
-t
-2001-01-01 00:00:00
-DROP TABLE t1;
-#
-# Bug#33073 Character sets: ordering fails with utf32
-#
-SET NAMES utf8, collation_connection=utf16le_general_ci;
-CREATE TABLE t1 AS SELECT REPEAT('a',2) as s1 LIMIT 0;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `s1` varchar(2) CHARACTER SET utf16le DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-INSERT INTO t1 VALUES ('ab'),('AE'),('ab'),('AE');
-SELECT * FROM t1 ORDER BY s1;
-s1
-ab
-ab
-AE
-AE
-SET max_sort_length=4;
-SELECT * FROM t1 ORDER BY s1;
-s1
-ab
-ab
-AE
-AE
-DROP TABLE t1;
-SET max_sort_length=DEFAULT;
-#
-# Bug#52520 Difference in tinytext utf column metadata
-#
-CREATE TABLE t1 (
-s1 TINYTEXT CHARACTER SET utf16le,
-s2 TEXT CHARACTER SET utf16le,
-s3 MEDIUMTEXT CHARACTER SET utf16le,
-s4 LONGTEXT CHARACTER SET utf16le
-);
-SET NAMES utf8, @@character_set_results=NULL;
-SELECT *, HEX(s1) FROM t1;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def test t1 t1 s1 s1 252 255 0 Y 16 0 56
-def test t1 t1 s2 s2 252 65535 0 Y 16 0 56
-def test t1 t1 s3 s3 252 16777215 0 Y 16 0 56
-def test t1 t1 s4 s4 252 4294967295 0 Y 16 0 56
-def HEX(s1) 253 6120 0 Y 0 0 33
-s1 s2 s3 s4 HEX(s1)
-SET NAMES latin1;
-SELECT *, HEX(s1) FROM t1;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def test t1 t1 s1 s1 252 127 0 Y 16 0 8
-def test t1 t1 s2 s2 252 32767 0 Y 16 0 8
-def test t1 t1 s3 s3 252 8388607 0 Y 16 0 8
-def test t1 t1 s4 s4 252 2147483647 0 Y 16 0 8
-def HEX(s1) 253 2040 0 Y 0 0 8
-s1 s2 s3 s4 HEX(s1)
-SET NAMES utf8;
-SELECT *, HEX(s1) FROM t1;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def test t1 t1 s1 s1 252 381 0 Y 16 0 33
-def test t1 t1 s2 s2 252 98301 0 Y 16 0 33
-def test t1 t1 s3 s3 252 25165821 0 Y 16 0 33
-def test t1 t1 s4 s4 252 4294967295 0 Y 16 0 33
-def HEX(s1) 253 6120 0 Y 0 0 33
-s1 s2 s3 s4 HEX(s1)
-CREATE TABLE t2 AS SELECT CONCAT(s1) FROM t1;
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `CONCAT(s1)` varchar(255) CHARACTER SET utf16le DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-DROP TABLE t1, t2;
-#
-# Problem found by Roy during review
-# MY_CS_BINSORT was not set for utf16le_bin,
-# so filesort did not work well
-#
-SET NAMES utf8, @@collation_connection=utf16le_bin;
-CREATE TABLE t1 AS SELECT REPEAT(' ', 10) as c LIMIT 0;
-ALTER TABLE t1 ADD PRIMARY KEY(c);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c` varchar(10) CHARACTER SET utf16le COLLATE utf16le_bin NOT NULL,
- PRIMARY KEY (`c`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-INSERT INTO t1 VALUES ('abc'),('zyx'),('acb');
-SELECT UPPER(c) FROM t1 ORDER BY 1 DESC;
-UPPER(c)
-ZYX
-ACB
-ABC
-DROP TABLE t1;
-#
-# WL#3664 WEIGHT_STRING
-#
-SET NAMES utf8, collation_connection=utf16le_general_ci;
-select @@collation_connection;
-@@collation_connection
-utf16le_general_ci
-CREATE TABLE t1 AS SELECT 'a' AS a;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(1) CHARACTER SET utf16le NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1;
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `ws` varbinary(2) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT HEX(WEIGHT_STRING(a)) FROM t1;
-HEX(WEIGHT_STRING(a))
-0041
-SELECT HEX(ws) FROM t2;
-HEX(ws)
-0041
-DROP TABLE t2;
-DROP TABLE t1;
-CREATE TABLE t1 AS SELECT REPEAT('a',5) AS a;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(5) CHARACTER SET utf16le DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1;
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `ws` varbinary(10) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT HEX(WEIGHT_STRING(a)) FROM t1;
-HEX(WEIGHT_STRING(a))
-00410041004100410041
-SELECT HEX(ws) FROM t2;
-HEX(ws)
-00410041004100410041
-DROP TABLE t2;
-CREATE TABLE t2 AS SELECT WEIGHT_STRING(a AS CHAR(3)) AS ws FROM t1;
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `ws` varbinary(6) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT HEX(WEIGHT_STRING(a AS CHAR(3))) FROM t1;
-HEX(WEIGHT_STRING(a AS CHAR(3)))
-004100410041
-SELECT HEX(ws) FROM t2;
-HEX(ws)
-004100410041
-DROP TABLE t2;
-CREATE TABLE t2 AS SELECT WEIGHT_STRING(a AS CHAR(10)) AS ws FROM t1;
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `ws` varbinary(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1;
-HEX(WEIGHT_STRING(a AS CHAR(10)))
-0041004100410041004100200020002000200020
-SELECT HEX(ws) FROM t2;
-HEX(ws)
-0041004100410041004100200020002000200020
-DROP TABLE t2;
-DROP TABLE t1;
-select hex(weight_string('a'));
-hex(weight_string('a'))
-0041
-select hex(weight_string('A'));
-hex(weight_string('A'))
-0041
-select hex(weight_string('abc'));
-hex(weight_string('abc'))
-004100420043
-select hex(weight_string('abc' as char(2)));
-hex(weight_string('abc' as char(2)))
-00410042
-select hex(weight_string('abc' as char(3)));
-hex(weight_string('abc' as char(3)))
-004100420043
-select hex(weight_string('abc' as char(5)));
-hex(weight_string('abc' as char(5)))
-00410042004300200020
-select hex(weight_string('abc', 1, 2, 0xC0));
-hex(weight_string('abc', 1, 2, 0xC0))
-00
-select hex(weight_string('abc', 2, 2, 0xC0));
-hex(weight_string('abc', 2, 2, 0xC0))
-0041
-select hex(weight_string('abc', 3, 2, 0xC0));
-hex(weight_string('abc', 3, 2, 0xC0))
-004100
-select hex(weight_string('abc', 4, 2, 0xC0));
-hex(weight_string('abc', 4, 2, 0xC0))
-00410042
-select hex(weight_string('abc', 5, 2, 0xC0));
-hex(weight_string('abc', 5, 2, 0xC0))
-0041004200
-select hex(weight_string('abc',25, 2, 0xC0));
-hex(weight_string('abc',25, 2, 0xC0))
-00410042002000200020002000200020002000200020002000
-select hex(weight_string('abc', 1, 3, 0xC0));
-hex(weight_string('abc', 1, 3, 0xC0))
-00
-select hex(weight_string('abc', 2, 3, 0xC0));
-hex(weight_string('abc', 2, 3, 0xC0))
-0041
-select hex(weight_string('abc', 3, 3, 0xC0));
-hex(weight_string('abc', 3, 3, 0xC0))
-004100
-select hex(weight_string('abc', 4, 3, 0xC0));
-hex(weight_string('abc', 4, 3, 0xC0))
-00410042
-select hex(weight_string('abc', 5, 3, 0xC0));
-hex(weight_string('abc', 5, 3, 0xC0))
-0041004200
-select hex(weight_string('abc',25, 3, 0xC0));
-hex(weight_string('abc',25, 3, 0xC0))
-00410042004300200020002000200020002000200020002000
-select hex(weight_string('abc', 1, 4, 0xC0));
-hex(weight_string('abc', 1, 4, 0xC0))
-00
-select hex(weight_string('abc', 2, 4, 0xC0));
-hex(weight_string('abc', 2, 4, 0xC0))
-0041
-select hex(weight_string('abc', 3, 4, 0xC0));
-hex(weight_string('abc', 3, 4, 0xC0))
-004100
-select hex(weight_string('abc', 4, 4, 0xC0));
-hex(weight_string('abc', 4, 4, 0xC0))
-00410042
-select hex(weight_string('abc', 5, 4, 0xC0));
-hex(weight_string('abc', 5, 4, 0xC0))
-0041004200
-select hex(weight_string('abc',25, 4, 0xC0));
-hex(weight_string('abc',25, 4, 0xC0))
-00410042004300200020002000200020002000200020002000
-select @@collation_connection;
-@@collation_connection
-utf16le_general_ci
-select hex(weight_string(cast(_latin1 0x80 as char)));
-hex(weight_string(cast(_latin1 0x80 as char)))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char)));
-hex(weight_string(cast(_latin1 0x808080 as char)))
-20AC20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(2)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(2)))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(3)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(3)))
-20AC20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(5)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(5)))
-20AC20AC20AC00200020
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0))
-20AC20AC00
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0))
-20AC20AC002000200020002000200020002000200020002000
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0))
-20AC20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0))
-20AC20AC20AC00200020002000200020002000200020002000
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0))
-20AC20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0))
-20AC20AC20AC00200020002000200020002000200020002000
-SELECT HEX(WEIGHT_STRING(_utf16le 0x00D800DC));
-HEX(WEIGHT_STRING(_utf16le 0x00D800DC))
-FFFD
-SELECT HEX(WEIGHT_STRING(_utf16le 0x00D801DC));
-HEX(WEIGHT_STRING(_utf16le 0x00D801DC))
-FFFD
-select @@collation_connection;
-@@collation_connection
-utf16le_general_ci
-select hex(weight_string('a' LEVEL 1));
-hex(weight_string('a' LEVEL 1))
-0041
-select hex(weight_string('A' LEVEL 1));
-hex(weight_string('A' LEVEL 1))
-0041
-select hex(weight_string('abc' LEVEL 1));
-hex(weight_string('abc' LEVEL 1))
-004100420043
-select hex(weight_string('abc' as char(2) LEVEL 1));
-hex(weight_string('abc' as char(2) LEVEL 1))
-00410042
-select hex(weight_string('abc' as char(3) LEVEL 1));
-hex(weight_string('abc' as char(3) LEVEL 1))
-004100420043
-select hex(weight_string('abc' as char(5) LEVEL 1));
-hex(weight_string('abc' as char(5) LEVEL 1))
-00410042004300200020
-select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 REVERSE))
-20002000430042004100
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC))
-FFBEFFBDFFBCFFDFFFDF
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE))
-DFFFDFFFBCFFBDFFBEFF
-SET NAMES utf8, collation_connection=utf16le_bin;
-select @@collation_connection;
-@@collation_connection
-utf16le_bin
-CREATE TABLE t1 AS SELECT 'a' AS a;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(1) CHARACTER SET utf16le COLLATE utf16le_bin NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1;
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `ws` varbinary(3) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT HEX(WEIGHT_STRING(a)) FROM t1;
-HEX(WEIGHT_STRING(a))
-000061
-SELECT HEX(ws) FROM t2;
-HEX(ws)
-000061
-DROP TABLE t2;
-DROP TABLE t1;
-CREATE TABLE t1 AS SELECT REPEAT('a',5) AS a;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(5) CHARACTER SET utf16le COLLATE utf16le_bin DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1;
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `ws` varbinary(15) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT HEX(WEIGHT_STRING(a)) FROM t1;
-HEX(WEIGHT_STRING(a))
-000061000061000061000061000061
-SELECT HEX(ws) FROM t2;
-HEX(ws)
-000061000061000061000061000061
-DROP TABLE t2;
-CREATE TABLE t2 AS SELECT WEIGHT_STRING(a AS CHAR(3)) AS ws FROM t1;
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `ws` varbinary(9) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT HEX(WEIGHT_STRING(a AS CHAR(3))) FROM t1;
-HEX(WEIGHT_STRING(a AS CHAR(3)))
-000061000061000061
-SELECT HEX(ws) FROM t2;
-HEX(ws)
-000061000061000061
-DROP TABLE t2;
-CREATE TABLE t2 AS SELECT WEIGHT_STRING(a AS CHAR(10)) AS ws FROM t1;
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `ws` varbinary(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1;
-HEX(WEIGHT_STRING(a AS CHAR(10)))
-000061000061000061000061000061000020000020000020000020000020
-SELECT HEX(ws) FROM t2;
-HEX(ws)
-000061000061000061000061000061000020000020000020000020000020
-DROP TABLE t2;
-DROP TABLE t1;
-select hex(weight_string('a'));
-hex(weight_string('a'))
-000061
-select hex(weight_string('A'));
-hex(weight_string('A'))
-000041
-select hex(weight_string('abc'));
-hex(weight_string('abc'))
-000061000062000063
-select hex(weight_string('abc' as char(2)));
-hex(weight_string('abc' as char(2)))
-000061000062
-select hex(weight_string('abc' as char(3)));
-hex(weight_string('abc' as char(3)))
-000061000062000063
-select hex(weight_string('abc' as char(5)));
-hex(weight_string('abc' as char(5)))
-000061000062000063000020000020
-select hex(weight_string('abc', 1, 2, 0xC0));
-hex(weight_string('abc', 1, 2, 0xC0))
-00
-select hex(weight_string('abc', 2, 2, 0xC0));
-hex(weight_string('abc', 2, 2, 0xC0))
-0000
-select hex(weight_string('abc', 3, 2, 0xC0));
-hex(weight_string('abc', 3, 2, 0xC0))
-000061
-select hex(weight_string('abc', 4, 2, 0xC0));
-hex(weight_string('abc', 4, 2, 0xC0))
-00006100
-select hex(weight_string('abc', 5, 2, 0xC0));
-hex(weight_string('abc', 5, 2, 0xC0))
-0000610000
-select hex(weight_string('abc',25, 2, 0xC0));
-hex(weight_string('abc',25, 2, 0xC0))
-00006100006200002000002000002000002000002000002000
-select hex(weight_string('abc', 1, 3, 0xC0));
-hex(weight_string('abc', 1, 3, 0xC0))
-00
-select hex(weight_string('abc', 2, 3, 0xC0));
-hex(weight_string('abc', 2, 3, 0xC0))
-0000
-select hex(weight_string('abc', 3, 3, 0xC0));
-hex(weight_string('abc', 3, 3, 0xC0))
-000061
-select hex(weight_string('abc', 4, 3, 0xC0));
-hex(weight_string('abc', 4, 3, 0xC0))
-00006100
-select hex(weight_string('abc', 5, 3, 0xC0));
-hex(weight_string('abc', 5, 3, 0xC0))
-0000610000
-select hex(weight_string('abc',25, 3, 0xC0));
-hex(weight_string('abc',25, 3, 0xC0))
-00006100006200006300002000002000002000002000002000
-select hex(weight_string('abc', 1, 4, 0xC0));
-hex(weight_string('abc', 1, 4, 0xC0))
-00
-select hex(weight_string('abc', 2, 4, 0xC0));
-hex(weight_string('abc', 2, 4, 0xC0))
-0000
-select hex(weight_string('abc', 3, 4, 0xC0));
-hex(weight_string('abc', 3, 4, 0xC0))
-000061
-select hex(weight_string('abc', 4, 4, 0xC0));
-hex(weight_string('abc', 4, 4, 0xC0))
-00006100
-select hex(weight_string('abc', 5, 4, 0xC0));
-hex(weight_string('abc', 5, 4, 0xC0))
-0000610000
-select hex(weight_string('abc',25, 4, 0xC0));
-hex(weight_string('abc',25, 4, 0xC0))
-00006100006200006300002000002000002000002000002000
-select @@collation_connection;
-@@collation_connection
-utf16le_bin
-select hex(weight_string(cast(_latin1 0x80 as char)));
-hex(weight_string(cast(_latin1 0x80 as char)))
-0020AC
-select hex(weight_string(cast(_latin1 0x808080 as char)));
-hex(weight_string(cast(_latin1 0x808080 as char)))
-0020AC0020AC0020AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(2)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(2)))
-0020AC0020AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(3)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(3)))
-0020AC0020AC0020AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(5)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(5)))
-0020AC0020AC0020AC000020000020
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0))
-00
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0))
-0020
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0))
-0020AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0))
-0020AC00
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0))
-0020AC0020
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0))
-0020AC0020AC00002000002000002000002000002000002000
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0))
-00
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0))
-0020
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0))
-0020AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0))
-0020AC00
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0))
-0020AC0020
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0))
-0020AC0020AC0020AC00002000002000002000002000002000
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0))
-00
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0))
-0020
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0))
-0020AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0))
-0020AC00
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0))
-0020AC0020
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0))
-0020AC0020AC0020AC00002000002000002000002000002000
-select @@collation_connection;
-@@collation_connection
-utf16le_bin
-select hex(weight_string('a' LEVEL 1));
-hex(weight_string('a' LEVEL 1))
-000061
-select hex(weight_string('A' LEVEL 1));
-hex(weight_string('A' LEVEL 1))
-000041
-select hex(weight_string('abc' LEVEL 1));
-hex(weight_string('abc' LEVEL 1))
-000061000062000063
-select hex(weight_string('abc' as char(2) LEVEL 1));
-hex(weight_string('abc' as char(2) LEVEL 1))
-000061000062
-select hex(weight_string('abc' as char(3) LEVEL 1));
-hex(weight_string('abc' as char(3) LEVEL 1))
-000061000062000063
-select hex(weight_string('abc' as char(5) LEVEL 1));
-hex(weight_string('abc' as char(5) LEVEL 1))
-000061000062000063000020000020
-select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 REVERSE))
-200000200000630000620000610000
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC))
-FFFF9EFFFF9DFFFF9CFFFFDFFFFFDF
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE))
-DFFFFFDFFFFF9CFFFF9DFFFF9EFFFF
-#
-# End of 5.6 tests
-#
-#
-# Start of 10.1 tests
-#
-#
-# MDEV-8417 utf8mb4: compare broken bytes as "greater than any non-broken character"
-#
-CREATE TABLE t1 (
-id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-a VARCHAR(10) CHARACTER SET utf16le, KEY(a,id)
-);
-INSERT INTO t1 (a) VALUES (_utf8mb4 0x61);
-INSERT INTO t1 (a) VALUES (_utf8mb4 0xC280),(_utf8mb4 0xDFBF);
-INSERT INTO t1 (a) VALUES (_utf8mb4 0xE0A080),(_utf8mb4 0xEFBFBF);
-INSERT INTO t1 (a) VALUES (_utf8mb4 0xF0908080),(_utf8mb4 0xF48FBFBF);
-SELECT id,HEX(a) FROM t1 ORDER BY a,id;
-id HEX(a)
-1 6100
-2 8000
-3 FF07
-4 0008
-6 00D800DC
-7 FFDBFFDF
-5 FFFF
-SELECT id,HEX(a) FROM t1 ORDER BY a DESC,id DESC;
-id HEX(a)
-5 FFFF
-7 FFDBFFDF
-6 00D800DC
-4 0008
-3 FF07
-2 8000
-1 6100
-SELECT COUNT(DISTINCT a) FROM t1;
-COUNT(DISTINCT a)
-6
-ALTER TABLE t1 MODIFY a VARCHAR(10) CHARACTER SET utf16le COLLATE utf16le_bin;
-SELECT id,HEX(a) FROM t1 ORDER BY a;
-id HEX(a)
-1 6100
-2 8000
-3 FF07
-4 0008
-5 FFFF
-6 00D800DC
-7 FFDBFFDF
-SELECT id,HEX(a) FROM t1 ORDER BY a DESC,id DESC;
-id HEX(a)
-7 FFDBFFDF
-6 00D800DC
-5 FFFF
-4 0008
-3 FF07
-2 8000
-1 6100
-SELECT COUNT(DISTINCT a) FROM t1;
-COUNT(DISTINCT a)
-7
-DROP TABLE t1;
-#
-# MDEV-9178 Wrong result for CAST(CONVERT('1IJ3' USING ucs2) AS SIGNED)
-#
-SET NAMES utf8;
-SELECT CAST(CONVERT('1IJ3' USING utf16le) AS SIGNED);
-CAST(CONVERT('1IJ3' USING utf16le) AS SIGNED)
-1
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '1IJ3'
-#
-# End of 10.1 tests
-#
-#
-# Start of 10.2 tests
-#
-#
-# MDEV-9711 NO PAD Collatons
-#
-SET character_set_connection=utf16le;
-SET STORAGE_ENGINE=MyISAM;
-#
-# Start of ctype_pad.inc
-#
-#
-# Unique indexes
-#
-CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf16le_general_nopad_ci';
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(10) COLLATE utf16le_general_nopad_ci NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf16le COLLATE=utf16le_general_nopad_ci
-INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a ');
-SELECT HEX(a), a FROM t1 ORDER BY a;
-HEX(a) a
-20006100 a
-200061002000 a
-6100200020002000 a
-610062006300 abc
-61006200630020002000 abc
-SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a;
-HEX(a) a
-20006100 a
-200061002000 a
-6100200020002000 a
-610062006300 abc
-61006200630020002000 abc
-SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC;
-HEX(a) a
-61006200630020002000 abc
-610062006300 abc
-6100200020002000 a
-200061002000 a
-20006100 a
-#
-# UNION
-#
-CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'utf16le_general_nopad_ci';
-INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a ');
-SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td;
-HEX(a) a
-20006100 a
-200061002000 a
-61002000 a
-6100200020002000 a
-610062006300 abc
-6100620063002000 abc
-61006200630020002000 abc
-DROP TABLE t1;
-DROP TABLE t2;
-#
-# DISTINCT, COUNT, MAX
-#
-CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf16le_general_nopad_ci';
-INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a ');
-SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td;
-HEX(a) a
-20006100 a
-200061002000 a
-6100 a
-610020002000 a
-6100200020002000 a
-SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a;
-COUNT(DISTINCT a)
-5
-SELECT HEX(MAX(a)), MAX(a) FROM t1;
-HEX(MAX(a)) MAX(a)
-6100200020002000 a
-#
-# GROUP BY
-#
-CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'utf16le_general_nopad_ci';
-INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er ');
-SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td;
-HEX(a) cnt
-61006100 1
-6100610020002000 1
-61006200 2
-DROP TABLE t2;
-#
-# Weights
-#
-SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1;
-HEX(WEIGHT_STRING(a AS CHAR(10)))
-0041000000000000000000000000000000000000
-0041002000200000000000000000000000000000
-0020004100000000000000000000000000000000
-0020004100200000000000000000000000000000
-0041002000200020000000000000000000000000
-DROP TABLE t1;
-#
-# IF, CASE, LEAST
-#
-SELECT IF('abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ', 'pad', 'nopad');
-IF('abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ', 'pad', 'nopad')
-nopad
-SELECT CASE 'abc' COLLATE 'utf16le_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
-CASE 'abc' COLLATE 'utf16le_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
-nopad
-SELECT CASE WHEN 'abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
-CASE WHEN 'abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
-nopad
-SELECT HEX(LEAST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '));
-HEX(LEAST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '))
-6100620063002000
-SELECT HEX(GREATEST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '));
-HEX(GREATEST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '))
-61006200630020002000
-#
-# Collation mix
-#
-CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf16le_general_ci';
-INSERT INTO t1 VALUES ('a'),('a ');
-SELECT COUNT(*) FROM t1 WHERE a='a';
-COUNT(*)
-2
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_general_ci';
-COUNT(*)
-2
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_general_nopad_ci';
-COUNT(*)
-1
-ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'utf16le_general_nopad_ci';
-SELECT COUNT(*) FROM t1 WHERE a='a';
-COUNT(*)
-1
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_general_ci';
-COUNT(*)
-2
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_general_nopad_ci';
-COUNT(*)
-1
-DROP TABLE t1;
-#
-# End of ctype_pad.inc
-#
-SET STORAGE_ENGINE=HEAP;
-#
-# Start of ctype_pad.inc
-#
-#
-# Unique indexes
-#
-CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf16le_general_nopad_ci';
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(10) COLLATE utf16le_general_nopad_ci NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf16le COLLATE=utf16le_general_nopad_ci
-INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a ');
-SELECT HEX(a), a FROM t1 ORDER BY a;
-HEX(a) a
-20006100 a
-200061002000 a
-6100200020002000 a
-610062006300 abc
-61006200630020002000 abc
-SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a;
-HEX(a) a
-20006100 a
-200061002000 a
-6100200020002000 a
-610062006300 abc
-61006200630020002000 abc
-SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC;
-HEX(a) a
-61006200630020002000 abc
-610062006300 abc
-6100200020002000 a
-200061002000 a
-20006100 a
-#
-# UNION
-#
-CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'utf16le_general_nopad_ci';
-INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a ');
-SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td;
-HEX(a) a
-20006100 a
-200061002000 a
-61002000 a
-6100200020002000 a
-610062006300 abc
-6100620063002000 abc
-61006200630020002000 abc
-DROP TABLE t1;
-DROP TABLE t2;
-#
-# DISTINCT, COUNT, MAX
-#
-CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf16le_general_nopad_ci';
-INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a ');
-SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td;
-HEX(a) a
-20006100 a
-200061002000 a
-6100 a
-610020002000 a
-6100200020002000 a
-SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a;
-COUNT(DISTINCT a)
-5
-SELECT HEX(MAX(a)), MAX(a) FROM t1;
-HEX(MAX(a)) MAX(a)
-6100200020002000 a
-#
-# GROUP BY
-#
-CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'utf16le_general_nopad_ci';
-INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er ');
-SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td;
-HEX(a) cnt
-61006100 1
-6100610020002000 1
-61006200 2
-DROP TABLE t2;
-#
-# Weights
-#
-SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1;
-HEX(WEIGHT_STRING(a AS CHAR(10)))
-0041000000000000000000000000000000000000
-0041002000200000000000000000000000000000
-0020004100000000000000000000000000000000
-0020004100200000000000000000000000000000
-0041002000200020000000000000000000000000
-DROP TABLE t1;
-#
-# IF, CASE, LEAST
-#
-SELECT IF('abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ', 'pad', 'nopad');
-IF('abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ', 'pad', 'nopad')
-nopad
-SELECT CASE 'abc' COLLATE 'utf16le_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
-CASE 'abc' COLLATE 'utf16le_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
-nopad
-SELECT CASE WHEN 'abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
-CASE WHEN 'abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
-nopad
-SELECT HEX(LEAST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '));
-HEX(LEAST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '))
-6100620063002000
-SELECT HEX(GREATEST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '));
-HEX(GREATEST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '))
-61006200630020002000
-#
-# Collation mix
-#
-CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf16le_general_ci';
-INSERT INTO t1 VALUES ('a'),('a ');
-SELECT COUNT(*) FROM t1 WHERE a='a';
-COUNT(*)
-2
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_general_ci';
-COUNT(*)
-2
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_general_nopad_ci';
-COUNT(*)
-1
-ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'utf16le_general_nopad_ci';
-SELECT COUNT(*) FROM t1 WHERE a='a';
-COUNT(*)
-1
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_general_ci';
-COUNT(*)
-2
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_general_nopad_ci';
-COUNT(*)
-1
-DROP TABLE t1;
-#
-# End of ctype_pad.inc
-#
-SET STORAGE_ENGINE=Default;
-SET STORAGE_ENGINE=MyISAM;
-#
-# Start of ctype_pad.inc
-#
-#
-# Unique indexes
-#
-CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf16le_nopad_bin';
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(10) COLLATE utf16le_nopad_bin NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf16le COLLATE=utf16le_nopad_bin
-INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a ');
-SELECT HEX(a), a FROM t1 ORDER BY a;
-HEX(a) a
-20006100 a
-200061002000 a
-6100200020002000 a
-610062006300 abc
-61006200630020002000 abc
-SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a;
-HEX(a) a
-20006100 a
-200061002000 a
-6100200020002000 a
-610062006300 abc
-61006200630020002000 abc
-SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC;
-HEX(a) a
-61006200630020002000 abc
-610062006300 abc
-6100200020002000 a
-200061002000 a
-20006100 a
-#
-# UNION
-#
-CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'utf16le_nopad_bin';
-INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a ');
-SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td;
-HEX(a) a
-20006100 a
-200061002000 a
-61002000 a
-6100200020002000 a
-610062006300 abc
-6100620063002000 abc
-61006200630020002000 abc
-DROP TABLE t1;
-DROP TABLE t2;
-#
-# DISTINCT, COUNT, MAX
-#
-CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf16le_nopad_bin';
-INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a ');
-SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td;
-HEX(a) a
-20006100 a
-200061002000 a
-6100 a
-610020002000 a
-6100200020002000 a
-SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a;
-COUNT(DISTINCT a)
-5
-SELECT HEX(MAX(a)), MAX(a) FROM t1;
-HEX(MAX(a)) MAX(a)
-6100200020002000 a
-#
-# GROUP BY
-#
-CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'utf16le_nopad_bin';
-INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er ');
-SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td;
-HEX(a) cnt
-61006100 1
-6100610020002000 1
-61006200 2
-DROP TABLE t2;
-#
-# Weights
-#
-SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1;
-HEX(WEIGHT_STRING(a AS CHAR(10)))
-000061000000000000000000000000000000000000000000000000000000
-000061000020000020000000000000000000000000000000000000000000
-000020000061000000000000000000000000000000000000000000000000
-000020000061000020000000000000000000000000000000000000000000
-000061000020000020000020000000000000000000000000000000000000
-DROP TABLE t1;
-#
-# IF, CASE, LEAST
-#
-SELECT IF('abc' COLLATE 'utf16le_nopad_bin' = 'abc ', 'pad', 'nopad');
-IF('abc' COLLATE 'utf16le_nopad_bin' = 'abc ', 'pad', 'nopad')
-nopad
-SELECT CASE 'abc' COLLATE 'utf16le_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
-CASE 'abc' COLLATE 'utf16le_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
-nopad
-SELECT CASE WHEN 'abc' COLLATE 'utf16le_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
-CASE WHEN 'abc' COLLATE 'utf16le_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
-nopad
-SELECT HEX(LEAST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '));
-HEX(LEAST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '))
-6100620063002000
-SELECT HEX(GREATEST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '));
-HEX(GREATEST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '))
-61006200630020002000
-#
-# Collation mix
-#
-CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf16le_bin';
-INSERT INTO t1 VALUES ('a'),('a ');
-SELECT COUNT(*) FROM t1 WHERE a='a';
-COUNT(*)
-2
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_bin';
-COUNT(*)
-2
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_nopad_bin';
-COUNT(*)
-1
-ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'utf16le_nopad_bin';
-SELECT COUNT(*) FROM t1 WHERE a='a';
-COUNT(*)
-1
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_bin';
-COUNT(*)
-2
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_nopad_bin';
-COUNT(*)
-1
-DROP TABLE t1;
-#
-# End of ctype_pad.inc
-#
-SET STORAGE_ENGINE=HEAP;
-#
-# Start of ctype_pad.inc
-#
-#
-# Unique indexes
-#
-CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf16le_nopad_bin';
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(10) COLLATE utf16le_nopad_bin NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf16le COLLATE=utf16le_nopad_bin
-INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a ');
-SELECT HEX(a), a FROM t1 ORDER BY a;
-HEX(a) a
-20006100 a
-200061002000 a
-6100200020002000 a
-610062006300 abc
-61006200630020002000 abc
-SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a;
-HEX(a) a
-20006100 a
-200061002000 a
-6100200020002000 a
-610062006300 abc
-61006200630020002000 abc
-SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC;
-HEX(a) a
-61006200630020002000 abc
-610062006300 abc
-6100200020002000 a
-200061002000 a
-20006100 a
-#
-# UNION
-#
-CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'utf16le_nopad_bin';
-INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a ');
-SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td;
-HEX(a) a
-20006100 a
-200061002000 a
-61002000 a
-6100200020002000 a
-610062006300 abc
-6100620063002000 abc
-61006200630020002000 abc
-DROP TABLE t1;
-DROP TABLE t2;
-#
-# DISTINCT, COUNT, MAX
-#
-CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf16le_nopad_bin';
-INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a ');
-SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td;
-HEX(a) a
-20006100 a
-200061002000 a
-6100 a
-610020002000 a
-6100200020002000 a
-SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a;
-COUNT(DISTINCT a)
-5
-SELECT HEX(MAX(a)), MAX(a) FROM t1;
-HEX(MAX(a)) MAX(a)
-6100200020002000 a
-#
-# GROUP BY
-#
-CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'utf16le_nopad_bin';
-INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er ');
-SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td;
-HEX(a) cnt
-61006100 1
-6100610020002000 1
-61006200 2
-DROP TABLE t2;
-#
-# Weights
-#
-SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1;
-HEX(WEIGHT_STRING(a AS CHAR(10)))
-000061000000000000000000000000000000000000000000000000000000
-000061000020000020000000000000000000000000000000000000000000
-000020000061000000000000000000000000000000000000000000000000
-000020000061000020000000000000000000000000000000000000000000
-000061000020000020000020000000000000000000000000000000000000
-DROP TABLE t1;
-#
-# IF, CASE, LEAST
-#
-SELECT IF('abc' COLLATE 'utf16le_nopad_bin' = 'abc ', 'pad', 'nopad');
-IF('abc' COLLATE 'utf16le_nopad_bin' = 'abc ', 'pad', 'nopad')
-nopad
-SELECT CASE 'abc' COLLATE 'utf16le_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
-CASE 'abc' COLLATE 'utf16le_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
-nopad
-SELECT CASE WHEN 'abc' COLLATE 'utf16le_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
-CASE WHEN 'abc' COLLATE 'utf16le_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
-nopad
-SELECT HEX(LEAST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '));
-HEX(LEAST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '))
-6100620063002000
-SELECT HEX(GREATEST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '));
-HEX(GREATEST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '))
-61006200630020002000
-#
-# Collation mix
-#
-CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'utf16le_bin';
-INSERT INTO t1 VALUES ('a'),('a ');
-SELECT COUNT(*) FROM t1 WHERE a='a';
-COUNT(*)
-2
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_bin';
-COUNT(*)
-2
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_nopad_bin';
-COUNT(*)
-1
-ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'utf16le_nopad_bin';
-SELECT COUNT(*) FROM t1 WHERE a='a';
-COUNT(*)
-1
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_bin';
-COUNT(*)
-2
-SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'utf16le_nopad_bin';
-COUNT(*)
-1
-DROP TABLE t1;
-#
-# End of ctype_pad.inc
-#
-SET STORAGE_ENGINE=Default;
-#
-# End of 10.2 tests
-#