diff options
author | Alexander Barkov <bar@mariadb.org> | 2015-07-03 10:33:17 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.org> | 2015-07-03 10:33:17 +0400 |
commit | 95d07ee408abd98769093759a076f4665a176d77 (patch) | |
tree | 24b4b0c016574b97b0fae5067f009119aa744f3c /mysql-test | |
parent | 302bf7c4664b904482ecc133476e822d497b114d (diff) | |
download | mariadb-git-95d07ee408abd98769093759a076f4665a176d77.tar.gz |
MDEV-8215 Asian MB3 charsets: compare broken bytes as "greater than any non-broken character"
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/ctype_eucjpms.result | 42 | ||||
-rw-r--r-- | mysql-test/r/ctype_ujis.result | 42 | ||||
-rw-r--r-- | mysql-test/t/ctype_eucjpms.test | 25 | ||||
-rw-r--r-- | mysql-test/t/ctype_ujis.test | 25 |
4 files changed, 134 insertions, 0 deletions
diff --git a/mysql-test/r/ctype_eucjpms.result b/mysql-test/r/ctype_eucjpms.result index 131e7043e58..df1f79fc218 100644 --- a/mysql-test/r/ctype_eucjpms.result +++ b/mysql-test/r/ctype_eucjpms.result @@ -33841,3 +33841,45 @@ ERROR HY000: Invalid eucjpms character string: '8EA0' # # End of 10.0 tests # +# +# Start of 10.1 tests +# +# +# MDEV-8215 Asian MB3 charsets: compare broken bytes as "greater than any non-broken character" +# +CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET eucjpms, KEY(a)); +INSERT INTO t1 VALUES ('a'),(0x7F); +INSERT INTO t1 VALUES (0x8EA1),(0x8EDF); +INSERT INTO t1 VALUES (0x8FA1A1),(0x8FFEFE); +INSERT INTO t1 VALUES (0xA1A1),(0xDEDE),(0xDFDF),(0xE0E0),(0xFEFE); +SELECT HEX(a) FROM t1 ORDER BY a; +HEX(a) +61 +7F +8EA1 +8EDF +8FA1A1 +8FFEFE +A1A1 +DEDE +DFDF +E0E0 +FEFE +ALTER TABLE t1 MODIFY a VARCHAR(10) CHARACTER SET eucjpms COLLATE eucjpms_bin; +SELECT HEX(a) FROM t1 ORDER BY a; +HEX(a) +61 +7F +8EA1 +8EDF +8FA1A1 +8FFEFE +A1A1 +DEDE +DFDF +E0E0 +FEFE +DROP TABLE t1; +# +# End of 10.1 tests +# diff --git a/mysql-test/r/ctype_ujis.result b/mysql-test/r/ctype_ujis.result index 4ad47cbc84a..b578e558c0a 100644 --- a/mysql-test/r/ctype_ujis.result +++ b/mysql-test/r/ctype_ujis.result @@ -26144,3 +26144,45 @@ ERROR HY000: Invalid ujis character string: '8EA0' # # End of 10.0 tests # +# +# Start of 10.1 tests +# +# +# MDEV-8215 Asian MB3 charsets: compare broken bytes as "greater than any non-broken character" +# +CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET ujis, KEY(a)); +INSERT INTO t1 VALUES ('a'),(0x7F); +INSERT INTO t1 VALUES (0x8EA1),(0x8EDF); +INSERT INTO t1 VALUES (0x8FA1A1),(0x8FFEFE); +INSERT INTO t1 VALUES (0xA1A1),(0xDEDE),(0xDFDF),(0xE0E0),(0xFEFE); +SELECT HEX(a) FROM t1 ORDER BY a; +HEX(a) +61 +7F +8EA1 +8EDF +8FA1A1 +8FFEFE +A1A1 +DEDE +DFDF +E0E0 +FEFE +ALTER TABLE t1 MODIFY a VARCHAR(10) CHARACTER SET ujis COLLATE ujis_bin; +SELECT HEX(a) FROM t1 ORDER BY a; +HEX(a) +61 +7F +8EA1 +8EDF +8FA1A1 +8FFEFE +A1A1 +DEDE +DFDF +E0E0 +FEFE +DROP TABLE t1; +# +# End of 10.1 tests +# diff --git a/mysql-test/t/ctype_eucjpms.test b/mysql-test/t/ctype_eucjpms.test index 2dd806ed027..d533e38b2a2 100644 --- a/mysql-test/t/ctype_eucjpms.test +++ b/mysql-test/t/ctype_eucjpms.test @@ -541,3 +541,28 @@ SELECT _eucjpms 0x8EA0; --echo # --echo # End of 10.0 tests --echo # + +--echo # +--echo # Start of 10.1 tests +--echo # + +--echo # +--echo # MDEV-8215 Asian MB3 charsets: compare broken bytes as "greater than any non-broken character" +--echo # +CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET eucjpms, KEY(a)); +# [x00-x7F] # ASCII/JIS-Roman +# [x8E][xA1-xDF] # half-width katakana +# [x8F][xA1-xFE][xA1-xFE] # JIS X 0212-1990 +# [xA1-xFE][xA1-xFE] # JIS X 0208:1997 +INSERT INTO t1 VALUES ('a'),(0x7F); +INSERT INTO t1 VALUES (0x8EA1),(0x8EDF); +INSERT INTO t1 VALUES (0x8FA1A1),(0x8FFEFE); +INSERT INTO t1 VALUES (0xA1A1),(0xDEDE),(0xDFDF),(0xE0E0),(0xFEFE); +SELECT HEX(a) FROM t1 ORDER BY a; +ALTER TABLE t1 MODIFY a VARCHAR(10) CHARACTER SET eucjpms COLLATE eucjpms_bin; +SELECT HEX(a) FROM t1 ORDER BY a; +DROP TABLE t1; + +--echo # +--echo # End of 10.1 tests +--echo # diff --git a/mysql-test/t/ctype_ujis.test b/mysql-test/t/ctype_ujis.test index 94fc7ffe4c0..6fc928c7e60 100644 --- a/mysql-test/t/ctype_ujis.test +++ b/mysql-test/t/ctype_ujis.test @@ -1369,3 +1369,28 @@ SELECT _ujis 0x8EA0; --echo # --echo # End of 10.0 tests --echo # + + +--echo # +--echo # Start of 10.1 tests +--echo # + +--echo # +--echo # MDEV-8215 Asian MB3 charsets: compare broken bytes as "greater than any non-broken character" +--echo # +CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET ujis, KEY(a)); +# [x00-x7F] # ASCII/JIS-Roman +# [x8E][xA1-xDF] # half-width katakana +# [x8F][xA1-xFE][xA1-xFE] # JIS X 0212-1990 +# [xA1-xFE][xA1-xFE] # JIS X 0208:1997 +INSERT INTO t1 VALUES ('a'),(0x7F); +INSERT INTO t1 VALUES (0x8EA1),(0x8EDF); +INSERT INTO t1 VALUES (0x8FA1A1),(0x8FFEFE); +INSERT INTO t1 VALUES (0xA1A1),(0xDEDE),(0xDFDF),(0xE0E0),(0xFEFE); +SELECT HEX(a) FROM t1 ORDER BY a; +ALTER TABLE t1 MODIFY a VARCHAR(10) CHARACTER SET ujis COLLATE ujis_bin; +SELECT HEX(a) FROM t1 ORDER BY a;DROP TABLE t1; + +--echo # +--echo # End of 10.1 tests +--echo # |