1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

- Adding big5, cp932, gbk, sjis tests covering characters that can

have 0x5C as the second byte in a multi-byte character.
- Adding big5 tests covering an unassigned character 0xC840
  being stored into char/varchar/text/enum columns.
This commit is contained in:
Alexander Barkov
2014-09-13 17:15:11 +04:00
parent 86957d414f
commit 50e67fe3bf
9 changed files with 960 additions and 0 deletions

View File

@ -0,0 +1,94 @@
--echo # Start of ctype_E05C.inc
#
# A shared test for character sets big5, cp932, gbk, sjis
# They all can have 0x5C as the second byte in a multi-byte character.
# 0xE05C is one of such characters.
#
# Checking that the character 0xE05C correctly understands 5C as the second byte
# rather than a stand-alone backslash, including the strings that also
# have real backslash escapes and/or separator escapes.
SELECT HEX('<27>\'),HEX('<EFBFBD>\t');
SELECT HEX('\\<5C>\'),HEX('\\<5C>\t'),HEX('\\<5C>\t\t');
SELECT HEX('''<EFBFBD>\'),HEX('<EFBFBD>\''');
SELECT HEX('\\''<EFBFBD>\'),HEX('<EFBFBD>\''\\');
SELECT HEX(BINARY('<EFBFBD>\')),HEX(BINARY('<EFBFBD>\t'));
SELECT HEX(BINARY('\\<5C>\')),HEX(BINARY('\\<5C>\t')),HEX(BINARY('\\<5C>\t\t'));
SELECT HEX(BINARY('''<EFBFBD>\')),HEX(BINARY('<EFBFBD>\'''));
SELECT HEX(BINARY('\\''<EFBFBD>\')),HEX(BINARY('<EFBFBD>\''\\'));
SELECT HEX(_BINARY'<EFBFBD>\'),HEX(_BINARY'<EFBFBD>\t');
SELECT HEX(_BINARY'\\<5C>\'),HEX(_BINARY'\\<5C>\t'),HEX(_BINARY'\\<5C>\t\t');
SELECT HEX(_BINARY'''<EFBFBD>\'),HEX(_BINARY'<EFBFBD>\''');
SELECT HEX(_BINARY'\\''<EFBFBD>\'),HEX(_BINARY'<EFBFBD>\''\\');
CREATE TABLE t1 AS SELECT REPEAT(' ',10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
INSERT INTO t1 VALUES ('<EFBFBD>\'),('<EFBFBD>\t');
INSERT INTO t1 VALUES ('\\<5C>\'),('\\<5C>\t'),('\\<5C>\t\t');
INSERT INTO t1 VALUES ('''<EFBFBD>\'),('<EFBFBD>\''');
INSERT INTO t1 VALUES ('\\''<EFBFBD>\'),('<EFBFBD>\''\\');
SELECT a, HEX(a) FROM t1;
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES ('<EFBFBD>\'),('<EFBFBD>\t');
INSERT INTO t1 VALUES ('\\<5C>\'),('\\<5C>\t'),('\\<5C>\t\t');
INSERT INTO t1 VALUES ('''<EFBFBD>\'),('<EFBFBD>\''');
INSERT INTO t1 VALUES ('\\''<EFBFBD>\'),('<EFBFBD>\''\\');
SELECT a, HEX(a) FROM t1;
DROP TABLE t1;
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
INSERT INTO t1 VALUES (BINARY('<EFBFBD>\')),(BINARY('<EFBFBD>\t'));
INSERT INTO t1 VALUES (BINARY('\\<5C>\')),(BINARY('\\<5C>\t')),(BINARY('\\<5C>\t\t'));
INSERT INTO t1 VALUES (BINARY('''<EFBFBD>\')),(BINARY('<EFBFBD>\'''));
INSERT INTO t1 VALUES (BINARY('\\''<EFBFBD>\')),(BINARY('<EFBFBD>\''\\'));
SELECT a, HEX(a) FROM t1;
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES (BINARY('<EFBFBD>\')),(BINARY('<EFBFBD>\t'));
INSERT INTO t1 VALUES (BINARY('\\<5C>\')),(BINARY('\\<5C>\t')),(BINARY('\\<5C>\t\t'));
INSERT INTO t1 VALUES (BINARY('''<EFBFBD>\')),(BINARY('<EFBFBD>\'''));
INSERT INTO t1 VALUES (BINARY('\\''<EFBFBD>\')),(BINARY('<EFBFBD>\''\\'));
SELECT a, HEX(a) FROM t1;
DROP TABLE t1;
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
INSERT INTO t1 VALUES (_BINARY'<EFBFBD>\'),(_BINARY'<EFBFBD>\t');
INSERT INTO t1 VALUES (_BINARY'\\<5C>\'),(_BINARY'\\<5C>\t'),(_BINARY'\\<5C>\t\t');
INSERT INTO t1 VALUES (_BINARY'''<EFBFBD>\'),(_BINARY'<EFBFBD>\''');
INSERT INTO t1 VALUES (_BINARY'\\''<EFBFBD>\'),(_BINARY'<EFBFBD>\''\\');
SELECT a, HEX(a) FROM t1;
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES (_BINARY'<EFBFBD>\'),(_BINARY'<EFBFBD>\t');
INSERT INTO t1 VALUES (_BINARY'\\<5C>\'),(_BINARY'\\<5C>\t'),(_BINARY'\\<5C>\t\t');
INSERT INTO t1 VALUES (_BINARY'''<EFBFBD>\'),(_BINARY'<EFBFBD>\''');
INSERT INTO t1 VALUES (_BINARY'\\''<EFBFBD>\'),(_BINARY'<EFBFBD>\''\\');
SELECT a, HEX(a) FROM t1;
DROP TABLE t1;
# Checking that with character_set_client=binary 0x5C in 0xE05C
# is treated as escape rather than the second byte of a multi-byte character,
# even if character_set_connection is big5/cp932/gbk/sjis.
# Note, the other 0x5C which is before 0xE05C is also treated as escape.
#
SET character_set_client=binary, character_set_results=binary;
SELECT @@character_set_client, @@character_set_connection, @@character_set_results;
SELECT HEX('<EFBFBD>\['), HEX('\<5C>\[');
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
INSERT INTO t1 VALUES ('<EFBFBD>\['),('\<5C>\[');
SELECT HEX(a) FROM t1;
DROP TABLE t1;
--echo # Start of ctype_E05C.inc

View File

@ -4374,6 +4374,253 @@ DROP FUNCTION mysql_real_escape_string_generated;
DROP FUNCTION iswellformed;
DROP TABLE allbytes;
# End of ctype_backslash.inc
SET NAMES big5;
# Start of ctype_E05C.inc
SELECT HEX('<27>\'),HEX('<27>\t');
HEX('<27>\') HEX('<27>\t')
E05C E05C74
SELECT HEX('\\<5C>\'),HEX('\\<5C>\t'),HEX('\\<5C>\t\t');
HEX('\\<5C>\') HEX('\\<5C>\t') HEX('\\<5C>\t\t')
5CE05C 5CE05C74 5CE05C7409
SELECT HEX('''<27>\'),HEX('<27>\''');
HEX('''<27>\') HEX('<27>\''')
27E05C E05C27
SELECT HEX('\\''<27>\'),HEX('<27>\''\\');
HEX('\\''<27>\') HEX('<27>\''\\')
5C27E05C E05C275C
SELECT HEX(BINARY('<27>\')),HEX(BINARY('<27>\t'));
HEX(BINARY('<27>\')) HEX(BINARY('<27>\t'))
E05C E05C74
SELECT HEX(BINARY('\\<5C>\')),HEX(BINARY('\\<5C>\t')),HEX(BINARY('\\<5C>\t\t'));
HEX(BINARY('\\<5C>\')) HEX(BINARY('\\<5C>\t')) HEX(BINARY('\\<5C>\t\t'))
5CE05C 5CE05C74 5CE05C7409
SELECT HEX(BINARY('''<27>\')),HEX(BINARY('<27>\'''));
HEX(BINARY('''<27>\')) HEX(BINARY('<27>\'''))
27E05C E05C27
SELECT HEX(BINARY('\\''<27>\')),HEX(BINARY('<27>\''\\'));
HEX(BINARY('\\''<27>\')) HEX(BINARY('<27>\''\\'))
5C27E05C E05C275C
SELECT HEX(_BINARY'<27>\'),HEX(_BINARY'<27>\t');
HEX(_BINARY'<27>\') HEX(_BINARY'<27>\t')
E05C E05C74
SELECT HEX(_BINARY'\\<5C>\'),HEX(_BINARY'\\<5C>\t'),HEX(_BINARY'\\<5C>\t\t');
HEX(_BINARY'\\<5C>\') HEX(_BINARY'\\<5C>\t') HEX(_BINARY'\\<5C>\t\t')
5CE05C 5CE05C74 5CE05C7409
SELECT HEX(_BINARY'''<27>\'),HEX(_BINARY'<27>\''');
HEX(_BINARY'''<27>\') HEX(_BINARY'<27>\''')
27E05C E05C27
SELECT HEX(_BINARY'\\''<27>\'),HEX(_BINARY'<27>\''\\');
HEX(_BINARY'\\''<27>\') HEX(_BINARY'<27>\''\\')
5C27E05C E05C275C
CREATE TABLE t1 AS SELECT REPEAT(' ',10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET big5 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('<27>\'),('<27>\t');
INSERT INTO t1 VALUES ('\\<5C>\'),('\\<5C>\t'),('\\<5C>\t\t');
INSERT INTO t1 VALUES ('''<27>\'),('<27>\''');
INSERT INTO t1 VALUES ('\\''<27>\'),('<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES ('<27>\'),('<27>\t');
INSERT INTO t1 VALUES ('\\<5C>\'),('\\<5C>\t'),('\\<5C>\t\t');
INSERT INTO t1 VALUES ('''<27>\'),('<27>\''');
INSERT INTO t1 VALUES ('\\''<27>\'),('<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET big5 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (BINARY('<27>\')),(BINARY('<27>\t'));
INSERT INTO t1 VALUES (BINARY('\\<5C>\')),(BINARY('\\<5C>\t')),(BINARY('\\<5C>\t\t'));
INSERT INTO t1 VALUES (BINARY('''<27>\')),(BINARY('<27>\'''));
INSERT INTO t1 VALUES (BINARY('\\''<27>\')),(BINARY('<27>\''\\'));
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES (BINARY('<27>\')),(BINARY('<27>\t'));
INSERT INTO t1 VALUES (BINARY('\\<5C>\')),(BINARY('\\<5C>\t')),(BINARY('\\<5C>\t\t'));
INSERT INTO t1 VALUES (BINARY('''<27>\')),(BINARY('<27>\'''));
INSERT INTO t1 VALUES (BINARY('\\''<27>\')),(BINARY('<27>\''\\'));
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET big5 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (_BINARY'<27>\'),(_BINARY'<27>\t');
INSERT INTO t1 VALUES (_BINARY'\\<5C>\'),(_BINARY'\\<5C>\t'),(_BINARY'\\<5C>\t\t');
INSERT INTO t1 VALUES (_BINARY'''<27>\'),(_BINARY'<27>\''');
INSERT INTO t1 VALUES (_BINARY'\\''<27>\'),(_BINARY'<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES (_BINARY'<27>\'),(_BINARY'<27>\t');
INSERT INTO t1 VALUES (_BINARY'\\<5C>\'),(_BINARY'\\<5C>\t'),(_BINARY'\\<5C>\t\t');
INSERT INTO t1 VALUES (_BINARY'''<27>\'),(_BINARY'<27>\''');
INSERT INTO t1 VALUES (_BINARY'\\''<27>\'),(_BINARY'<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
SET character_set_client=binary, character_set_results=binary;
SELECT @@character_set_client, @@character_set_connection, @@character_set_results;
@@character_set_client @@character_set_connection @@character_set_results
binary big5 binary
SELECT HEX('<27>\['), HEX('\<5C>\[');
HEX('<27>\[') HEX('\<5C>\[')
E05B E05B
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET big5 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('<27>\['),('\<5C>\[');
SELECT HEX(a) FROM t1;
HEX(a)
E05B
E05B
DROP TABLE t1;
# Start of ctype_E05C.inc
SET NAMES big5;
CREATE TABLE t1 (a ENUM('<27>@') CHARACTER SET big5);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` enum('?') CHARACTER SET big5 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('<27>@');
INSERT INTO t1 VALUES (_big5 0xC840);
INSERT INTO t1 VALUES (0xC840);
SELECT HEX(a),a FROM t1;
HEX(a) a
C840 <09>@
C840 <09>@
C840 <09>@
DROP TABLE t1;
SET NAMES binary;
CREATE TABLE t1 (a ENUM('<27>@') CHARACTER SET big5);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` enum('?') CHARACTER SET big5 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('<27>@');
INSERT INTO t1 VALUES (_big5 0xC840);
INSERT INTO t1 VALUES (0xC840);
SELECT HEX(a),a FROM t1;
HEX(a) a
C840 <09>@
C840 <09>@
C840 <09>@
DROP TABLE t1;
SET NAMES big5;
CREATE TABLE t1 (
c1 CHAR(10) CHARACTER SET big5,
c2 VARCHAR(10) CHARACTER SET big5,
c3 TEXT CHARACTER SET big5
);
INSERT INTO t1 VALUES ('<27>@','<27>@','<27>@');
INSERT INTO t1 VALUES (_big5 0xC840,_big5 0xC840,_big5 0xC840);
INSERT INTO t1 VALUES (0xC840,0xC840,0xC840);
SELECT HEX(c1),HEX(c2),HEX(c3) FROM t1;
HEX(c1) HEX(c2) HEX(c3)
C840 C840 C840
C840 C840 C840
C840 C840 C840
DROP TABLE t1;
SET NAMES binary;
CREATE TABLE t1 (
c1 CHAR(10) CHARACTER SET big5,
c2 VARCHAR(10) CHARACTER SET big5,
c3 TEXT CHARACTER SET big5
);
INSERT INTO t1 VALUES ('<27>@','<27>@','<27>@');
INSERT INTO t1 VALUES (_big5 0xC840,_big5 0xC840,_big5 0xC840);
INSERT INTO t1 VALUES (0xC840,0xC840,0xC840);
SELECT HEX(c1),HEX(c2),HEX(c3) FROM t1;
HEX(c1) HEX(c2) HEX(c3)
C840 C840 C840
C840 C840 C840
C840 C840 C840
DROP TABLE t1;
SET NAMES binary;
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET big5, KEY(a));
INSERT INTO t1 VALUES (0xC840),(0xC841),(0xC842);
SELECT HEX(a) FROM t1 WHERE a='<27>@';
HEX(a)
C840
SELECT HEX(a) FROM t1 IGNORE KEY(a) WHERE a='<27>@';
HEX(a)
C840
DROP TABLE t1;
#
# End of 10.0 tests
#

View File

@ -20060,3 +20060,184 @@ hex(weight_string(cast(0x814081408140 as char),25, 4, 0xC0))
#
# End of 5.6 tests
#
#
# Start of 10.0 tests
#
SET NAMES cp932;
# Start of ctype_E05C.inc
SELECT HEX('<27>\'),HEX('<27>\t');
HEX('<27>\') HEX('<27>\t')
E05C E05C74
SELECT HEX('\\<5C>\'),HEX('\\<5C>\t'),HEX('\\<5C>\t\t');
HEX('\\<5C>\') HEX('\\<5C>\t') HEX('\\<5C>\t\t')
5CE05C 5CE05C74 5CE05C7409
SELECT HEX('''<27>\'),HEX('<27>\''');
HEX('''<27>\') HEX('<27>\''')
27E05C E05C27
SELECT HEX('\\''<27>\'),HEX('<27>\''\\');
HEX('\\''<27>\') HEX('<27>\''\\')
5C27E05C E05C275C
SELECT HEX(BINARY('<27>\')),HEX(BINARY('<27>\t'));
HEX(BINARY('<27>\')) HEX(BINARY('<27>\t'))
E05C E05C74
SELECT HEX(BINARY('\\<5C>\')),HEX(BINARY('\\<5C>\t')),HEX(BINARY('\\<5C>\t\t'));
HEX(BINARY('\\<5C>\')) HEX(BINARY('\\<5C>\t')) HEX(BINARY('\\<5C>\t\t'))
5CE05C 5CE05C74 5CE05C7409
SELECT HEX(BINARY('''<27>\')),HEX(BINARY('<27>\'''));
HEX(BINARY('''<27>\')) HEX(BINARY('<27>\'''))
27E05C E05C27
SELECT HEX(BINARY('\\''<27>\')),HEX(BINARY('<27>\''\\'));
HEX(BINARY('\\''<27>\')) HEX(BINARY('<27>\''\\'))
5C27E05C E05C275C
SELECT HEX(_BINARY'<27>\'),HEX(_BINARY'<27>\t');
HEX(_BINARY'<27>\') HEX(_BINARY'<27>\t')
E05C E05C74
SELECT HEX(_BINARY'\\<5C>\'),HEX(_BINARY'\\<5C>\t'),HEX(_BINARY'\\<5C>\t\t');
HEX(_BINARY'\\<5C>\') HEX(_BINARY'\\<5C>\t') HEX(_BINARY'\\<5C>\t\t')
5CE05C 5CE05C74 5CE05C7409
SELECT HEX(_BINARY'''<27>\'),HEX(_BINARY'<27>\''');
HEX(_BINARY'''<27>\') HEX(_BINARY'<27>\''')
27E05C E05C27
SELECT HEX(_BINARY'\\''<27>\'),HEX(_BINARY'<27>\''\\');
HEX(_BINARY'\\''<27>\') HEX(_BINARY'<27>\''\\')
5C27E05C E05C275C
CREATE TABLE t1 AS SELECT REPEAT(' ',10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET cp932 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('<27>\'),('<27>\t');
INSERT INTO t1 VALUES ('\\<5C>\'),('\\<5C>\t'),('\\<5C>\t\t');
INSERT INTO t1 VALUES ('''<27>\'),('<27>\''');
INSERT INTO t1 VALUES ('\\''<27>\'),('<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES ('<27>\'),('<27>\t');
INSERT INTO t1 VALUES ('\\<5C>\'),('\\<5C>\t'),('\\<5C>\t\t');
INSERT INTO t1 VALUES ('''<27>\'),('<27>\''');
INSERT INTO t1 VALUES ('\\''<27>\'),('<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET cp932 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (BINARY('<27>\')),(BINARY('<27>\t'));
INSERT INTO t1 VALUES (BINARY('\\<5C>\')),(BINARY('\\<5C>\t')),(BINARY('\\<5C>\t\t'));
INSERT INTO t1 VALUES (BINARY('''<27>\')),(BINARY('<27>\'''));
INSERT INTO t1 VALUES (BINARY('\\''<27>\')),(BINARY('<27>\''\\'));
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES (BINARY('<27>\')),(BINARY('<27>\t'));
INSERT INTO t1 VALUES (BINARY('\\<5C>\')),(BINARY('\\<5C>\t')),(BINARY('\\<5C>\t\t'));
INSERT INTO t1 VALUES (BINARY('''<27>\')),(BINARY('<27>\'''));
INSERT INTO t1 VALUES (BINARY('\\''<27>\')),(BINARY('<27>\''\\'));
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET cp932 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (_BINARY'<27>\'),(_BINARY'<27>\t');
INSERT INTO t1 VALUES (_BINARY'\\<5C>\'),(_BINARY'\\<5C>\t'),(_BINARY'\\<5C>\t\t');
INSERT INTO t1 VALUES (_BINARY'''<27>\'),(_BINARY'<27>\''');
INSERT INTO t1 VALUES (_BINARY'\\''<27>\'),(_BINARY'<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES (_BINARY'<27>\'),(_BINARY'<27>\t');
INSERT INTO t1 VALUES (_BINARY'\\<5C>\'),(_BINARY'\\<5C>\t'),(_BINARY'\\<5C>\t\t');
INSERT INTO t1 VALUES (_BINARY'''<27>\'),(_BINARY'<27>\''');
INSERT INTO t1 VALUES (_BINARY'\\''<27>\'),(_BINARY'<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
SET character_set_client=binary, character_set_results=binary;
SELECT @@character_set_client, @@character_set_connection, @@character_set_results;
@@character_set_client @@character_set_connection @@character_set_results
binary cp932 binary
SELECT HEX('<27>\['), HEX('\<5C>\[');
HEX('<27>\[') HEX('\<5C>\[')
E05B E05B
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET cp932 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('<27>\['),('\<5C>\[');
SELECT HEX(a) FROM t1;
HEX(a)
E05B
E05B
DROP TABLE t1;
# Start of ctype_E05C.inc
#
# End of 10.0 tests
#

View File

@ -4748,6 +4748,181 @@ DROP FUNCTION mysql_real_escape_string_generated;
DROP FUNCTION iswellformed;
DROP TABLE allbytes;
# End of ctype_backslash.inc
SET NAMES gbk;
# Start of ctype_E05C.inc
SELECT HEX('<27>\'),HEX('<27>\t');
HEX('<27>\') HEX('<27>\t')
E05C E05C74
SELECT HEX('\\<5C>\'),HEX('\\<5C>\t'),HEX('\\<5C>\t\t');
HEX('\\<5C>\') HEX('\\<5C>\t') HEX('\\<5C>\t\t')
5CE05C 5CE05C74 5CE05C7409
SELECT HEX('''<27>\'),HEX('<27>\''');
HEX('''<27>\') HEX('<27>\''')
27E05C E05C27
SELECT HEX('\\''<27>\'),HEX('<27>\''\\');
HEX('\\''<27>\') HEX('<27>\''\\')
5C27E05C E05C275C
SELECT HEX(BINARY('<27>\')),HEX(BINARY('<27>\t'));
HEX(BINARY('<27>\')) HEX(BINARY('<27>\t'))
E05C E05C74
SELECT HEX(BINARY('\\<5C>\')),HEX(BINARY('\\<5C>\t')),HEX(BINARY('\\<5C>\t\t'));
HEX(BINARY('\\<5C>\')) HEX(BINARY('\\<5C>\t')) HEX(BINARY('\\<5C>\t\t'))
5CE05C 5CE05C74 5CE05C7409
SELECT HEX(BINARY('''<27>\')),HEX(BINARY('<27>\'''));
HEX(BINARY('''<27>\')) HEX(BINARY('<27>\'''))
27E05C E05C27
SELECT HEX(BINARY('\\''<27>\')),HEX(BINARY('<27>\''\\'));
HEX(BINARY('\\''<27>\')) HEX(BINARY('<27>\''\\'))
5C27E05C E05C275C
SELECT HEX(_BINARY'<27>\'),HEX(_BINARY'<27>\t');
HEX(_BINARY'<27>\') HEX(_BINARY'<27>\t')
E05C E05C74
SELECT HEX(_BINARY'\\<5C>\'),HEX(_BINARY'\\<5C>\t'),HEX(_BINARY'\\<5C>\t\t');
HEX(_BINARY'\\<5C>\') HEX(_BINARY'\\<5C>\t') HEX(_BINARY'\\<5C>\t\t')
5CE05C 5CE05C74 5CE05C7409
SELECT HEX(_BINARY'''<27>\'),HEX(_BINARY'<27>\''');
HEX(_BINARY'''<27>\') HEX(_BINARY'<27>\''')
27E05C E05C27
SELECT HEX(_BINARY'\\''<27>\'),HEX(_BINARY'<27>\''\\');
HEX(_BINARY'\\''<27>\') HEX(_BINARY'<27>\''\\')
5C27E05C E05C275C
CREATE TABLE t1 AS SELECT REPEAT(' ',10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET gbk NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('<27>\'),('<27>\t');
INSERT INTO t1 VALUES ('\\<5C>\'),('\\<5C>\t'),('\\<5C>\t\t');
INSERT INTO t1 VALUES ('''<27>\'),('<27>\''');
INSERT INTO t1 VALUES ('\\''<27>\'),('<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES ('<27>\'),('<27>\t');
INSERT INTO t1 VALUES ('\\<5C>\'),('\\<5C>\t'),('\\<5C>\t\t');
INSERT INTO t1 VALUES ('''<27>\'),('<27>\''');
INSERT INTO t1 VALUES ('\\''<27>\'),('<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET gbk NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (BINARY('<27>\')),(BINARY('<27>\t'));
INSERT INTO t1 VALUES (BINARY('\\<5C>\')),(BINARY('\\<5C>\t')),(BINARY('\\<5C>\t\t'));
INSERT INTO t1 VALUES (BINARY('''<27>\')),(BINARY('<27>\'''));
INSERT INTO t1 VALUES (BINARY('\\''<27>\')),(BINARY('<27>\''\\'));
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES (BINARY('<27>\')),(BINARY('<27>\t'));
INSERT INTO t1 VALUES (BINARY('\\<5C>\')),(BINARY('\\<5C>\t')),(BINARY('\\<5C>\t\t'));
INSERT INTO t1 VALUES (BINARY('''<27>\')),(BINARY('<27>\'''));
INSERT INTO t1 VALUES (BINARY('\\''<27>\')),(BINARY('<27>\''\\'));
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET gbk NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (_BINARY'<27>\'),(_BINARY'<27>\t');
INSERT INTO t1 VALUES (_BINARY'\\<5C>\'),(_BINARY'\\<5C>\t'),(_BINARY'\\<5C>\t\t');
INSERT INTO t1 VALUES (_BINARY'''<27>\'),(_BINARY'<27>\''');
INSERT INTO t1 VALUES (_BINARY'\\''<27>\'),(_BINARY'<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES (_BINARY'<27>\'),(_BINARY'<27>\t');
INSERT INTO t1 VALUES (_BINARY'\\<5C>\'),(_BINARY'\\<5C>\t'),(_BINARY'\\<5C>\t\t');
INSERT INTO t1 VALUES (_BINARY'''<27>\'),(_BINARY'<27>\''');
INSERT INTO t1 VALUES (_BINARY'\\''<27>\'),(_BINARY'<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
SET character_set_client=binary, character_set_results=binary;
SELECT @@character_set_client, @@character_set_connection, @@character_set_results;
@@character_set_client @@character_set_connection @@character_set_results
binary gbk binary
SELECT HEX('<27>\['), HEX('\<5C>\[');
HEX('<27>\[') HEX('\<5C>\[')
E05B E05B
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET gbk NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('<27>\['),('\<5C>\[');
SELECT HEX(a) FROM t1;
HEX(a)
E05B
E05B
DROP TABLE t1;
# Start of ctype_E05C.inc
#
# End of 10.0 tests
#

View File

@ -18311,6 +18311,181 @@ DROP FUNCTION mysql_real_escape_string_generated;
DROP FUNCTION iswellformed;
DROP TABLE allbytes;
# End of ctype_backslash.inc
SET NAMES sjis;
# Start of ctype_E05C.inc
SELECT HEX('<27>\'),HEX('<27>\t');
HEX('<27>\') HEX('<27>\t')
E05C E05C74
SELECT HEX('\\<5C>\'),HEX('\\<5C>\t'),HEX('\\<5C>\t\t');
HEX('<27>_<EFBFBD>_<EFBFBD>\') HEX('<27>_<EFBFBD>_<EFBFBD>\t') HEX('<27>_<EFBFBD>_<EFBFBD>\t<>_t')
5CE05C 5CE05C74 5CE05C7409
SELECT HEX('''<27>\'),HEX('<27>\''');
HEX('''<27>\') HEX('<27>\''')
27E05C E05C27
SELECT HEX('\\''<27>\'),HEX('<27>\''\\');
HEX('<27>_<EFBFBD>_''<27>\') HEX('<27>\''<27>_<EFBFBD>_')
5C27E05C E05C275C
SELECT HEX(BINARY('<27>\')),HEX(BINARY('<27>\t'));
HEX(BINARY('<27>\')) HEX(BINARY('<27>\t'))
E05C E05C74
SELECT HEX(BINARY('\\<5C>\')),HEX(BINARY('\\<5C>\t')),HEX(BINARY('\\<5C>\t\t'));
HEX(BINARY('<27>_<EFBFBD>_<EFBFBD>\')) HEX(BINARY('<27>_<EFBFBD>_<EFBFBD>\t')) HEX(BINARY('<27>_<EFBFBD>_<EFBFBD>\t<>_t'))
5CE05C 5CE05C74 5CE05C7409
SELECT HEX(BINARY('''<27>\')),HEX(BINARY('<27>\'''));
HEX(BINARY('''<27>\')) HEX(BINARY('<27>\'''))
27E05C E05C27
SELECT HEX(BINARY('\\''<27>\')),HEX(BINARY('<27>\''\\'));
HEX(BINARY('<27>_<EFBFBD>_''<27>\')) HEX(BINARY('<27>\''<27>_<EFBFBD>_'))
5C27E05C E05C275C
SELECT HEX(_BINARY'<27>\'),HEX(_BINARY'<27>\t');
HEX(_BINARY'<27>\') HEX(_BINARY'<27>\t')
E05C E05C74
SELECT HEX(_BINARY'\\<5C>\'),HEX(_BINARY'\\<5C>\t'),HEX(_BINARY'\\<5C>\t\t');
HEX(_BINARY'<27>_<EFBFBD>_<EFBFBD>\') HEX(_BINARY'<27>_<EFBFBD>_<EFBFBD>\t') HEX(_BINARY'<27>_<EFBFBD>_<EFBFBD>\t<>_t')
5CE05C 5CE05C74 5CE05C7409
SELECT HEX(_BINARY'''<27>\'),HEX(_BINARY'<27>\''');
HEX(_BINARY'''<27>\') HEX(_BINARY'<27>\''')
27E05C E05C27
SELECT HEX(_BINARY'\\''<27>\'),HEX(_BINARY'<27>\''\\');
HEX(_BINARY'<27>_<EFBFBD>_''<27>\') HEX(_BINARY'<27>\''<27>_<EFBFBD>_')
5C27E05C E05C275C
CREATE TABLE t1 AS SELECT REPEAT(' ',10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET sjis NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('<27>\'),('<27>\t');
INSERT INTO t1 VALUES ('\\<5C>\'),('\\<5C>\t'),('\\<5C>\t\t');
INSERT INTO t1 VALUES ('''<27>\'),('<27>\''');
INSERT INTO t1 VALUES ('\\''<27>\'),('<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES ('<27>\'),('<27>\t');
INSERT INTO t1 VALUES ('\\<5C>\'),('\\<5C>\t'),('\\<5C>\t\t');
INSERT INTO t1 VALUES ('''<27>\'),('<27>\''');
INSERT INTO t1 VALUES ('\\''<27>\'),('<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET sjis NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (BINARY('<27>\')),(BINARY('<27>\t'));
INSERT INTO t1 VALUES (BINARY('\\<5C>\')),(BINARY('\\<5C>\t')),(BINARY('\\<5C>\t\t'));
INSERT INTO t1 VALUES (BINARY('''<27>\')),(BINARY('<27>\'''));
INSERT INTO t1 VALUES (BINARY('\\''<27>\')),(BINARY('<27>\''\\'));
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES (BINARY('<27>\')),(BINARY('<27>\t'));
INSERT INTO t1 VALUES (BINARY('\\<5C>\')),(BINARY('\\<5C>\t')),(BINARY('\\<5C>\t\t'));
INSERT INTO t1 VALUES (BINARY('''<27>\')),(BINARY('<27>\'''));
INSERT INTO t1 VALUES (BINARY('\\''<27>\')),(BINARY('<27>\''\\'));
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET sjis NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (_BINARY'<27>\'),(_BINARY'<27>\t');
INSERT INTO t1 VALUES (_BINARY'\\<5C>\'),(_BINARY'\\<5C>\t'),(_BINARY'\\<5C>\t\t');
INSERT INTO t1 VALUES (_BINARY'''<27>\'),(_BINARY'<27>\''');
INSERT INTO t1 VALUES (_BINARY'\\''<27>\'),(_BINARY'<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES (_BINARY'<27>\'),(_BINARY'<27>\t');
INSERT INTO t1 VALUES (_BINARY'\\<5C>\'),(_BINARY'\\<5C>\t'),(_BINARY'\\<5C>\t\t');
INSERT INTO t1 VALUES (_BINARY'''<27>\'),(_BINARY'<27>\''');
INSERT INTO t1 VALUES (_BINARY'\\''<27>\'),(_BINARY'<27>\''\\');
SELECT a, HEX(a) FROM t1;
a HEX(a)
<EFBFBD>\ E05C
<EFBFBD>\t E05C74
\<5C>\ 5CE05C
\<5C>\t 5CE05C74
\<5C>\t 5CE05C7409
'<27>\ 27E05C
<EFBFBD>\' E05C27
\'<27>\ 5C27E05C
<EFBFBD>\'\ E05C275C
DROP TABLE t1;
SET character_set_client=binary, character_set_results=binary;
SELECT @@character_set_client, @@character_set_connection, @@character_set_results;
@@character_set_client @@character_set_connection @@character_set_results
binary sjis binary
SELECT HEX('<27>\['), HEX('\<5C>\[');
HEX('<27>\[') HEX('\<5C>\[')
E05B E05B
CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET sjis NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('<27>\['),('\<5C>\[');
SELECT HEX(a) FROM t1;
HEX(a)
E05B
E05B
DROP TABLE t1;
# Start of ctype_E05C.inc
#
# End of 10.0 tests
#

View File

@ -177,6 +177,73 @@ set collation_connection=big5_bin;
let $ctype_unescape_combinations=selected;
--source include/ctype_unescape.inc
--character_set big5
SET NAMES big5;
--source include/ctype_E05C.inc
#
# Checking unassigned character 0xC840 in an ENUM
#
SET NAMES big5;
CREATE TABLE t1 (a ENUM('<27>@') CHARACTER SET big5);
SHOW CREATE TABLE t1;
INSERT INTO t1 VALUES ('<27>@');
INSERT INTO t1 VALUES (_big5 0xC840);
INSERT INTO t1 VALUES (0xC840);
SELECT HEX(a),a FROM t1;
DROP TABLE t1;
SET NAMES binary;
CREATE TABLE t1 (a ENUM('<27>@') CHARACTER SET big5);
SHOW CREATE TABLE t1;
INSERT INTO t1 VALUES ('<27>@');
INSERT INTO t1 VALUES (_big5 0xC840);
INSERT INTO t1 VALUES (0xC840);
SELECT HEX(a),a FROM t1;
DROP TABLE t1;
#
# Checking unassigned character in CHAR, VARCHAR, TEXT
#
SET NAMES big5;
CREATE TABLE t1 (
c1 CHAR(10) CHARACTER SET big5,
c2 VARCHAR(10) CHARACTER SET big5,
c3 TEXT CHARACTER SET big5
);
INSERT INTO t1 VALUES ('<27>@','<27>@','<27>@');
INSERT INTO t1 VALUES (_big5 0xC840,_big5 0xC840,_big5 0xC840);
INSERT INTO t1 VALUES (0xC840,0xC840,0xC840);
SELECT HEX(c1),HEX(c2),HEX(c3) FROM t1;
DROP TABLE t1;
SET NAMES binary;
CREATE TABLE t1 (
c1 CHAR(10) CHARACTER SET big5,
c2 VARCHAR(10) CHARACTER SET big5,
c3 TEXT CHARACTER SET big5
);
INSERT INTO t1 VALUES ('<27>@','<27>@','<27>@');
INSERT INTO t1 VALUES (_big5 0xC840,_big5 0xC840,_big5 0xC840);
INSERT INTO t1 VALUES (0xC840,0xC840,0xC840);
SELECT HEX(c1),HEX(c2),HEX(c3) FROM t1;
DROP TABLE t1;
#
# Checking binary->big5 conversion of an unassigned character 0xC840 in optimizer
#
SET NAMES binary;
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET big5, KEY(a));
INSERT INTO t1 VALUES (0xC840),(0xC841),(0xC842);
SELECT HEX(a) FROM t1 WHERE a='<27>@';
SELECT HEX(a) FROM t1 IGNORE KEY(a) WHERE a='<27>@';
DROP TABLE t1;
--echo #
--echo # End of 10.0 tests
--echo #

View File

@ -185,3 +185,14 @@ set collation_connection=cp932_bin;
--echo #
--echo # End of 5.6 tests
--echo #
--echo #
--echo # Start of 10.0 tests
--echo #
SET NAMES cp932;
--source include/ctype_E05C.inc
--echo #
--echo # End of 10.0 tests
--echo #

View File

@ -195,6 +195,11 @@ set collation_connection=gbk_bin;
let $ctype_unescape_combinations=selected;
--source include/ctype_unescape.inc
--character_set gbk
SET NAMES gbk;
--source include/ctype_E05C.inc
--echo #
--echo # End of 10.0 tests
--echo #

View File

@ -223,6 +223,11 @@ set collation_connection=sjis_bin;
let $ctype_unescape_combinations=selected;
--source include/ctype_unescape.inc
--character_set sjis
SET NAMES sjis;
--source include/ctype_E05C.inc
--echo #
--echo # End of 10.0 tests
--echo #