1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
ALTER DATABASE test CHARACTER SET latin1 COLLATE latin1_swedish_ci;
RESET MASTER;
#
# Verify that SET string values and character sets can be printed correctly
#
SET NAMES utf8;
CREATE TABLE t1(
c_set_1 SET("set1_v1_å", "set1_v2_ä", "set1_v3_ö"),
c_set_2 SET("set2_v1_å", "set2_v2_ä", "set2_v3_ö") CHARACTER SET utf32);
SET GLOBAL binlog_row_metadata = MINIMAL;
INSERT INTO t1 VALUES("set1_v1_å", "set2_v2_ä");
# Columns(SET,
# SET)
RESET MASTER;
SET GLOBAL binlog_row_metadata = FULL;
INSERT INTO t1 VALUES("set1_v1_å", "set2_v2_ä");
# Columns(`c_set_1` SET('set1_v1_','set1_v2_','set1_v3_') CHARSET latin1 COLLATE latin1_swedish_ci,
# `c_set_2` SET('\0\0\0s\0\0\0e\0\0\0t\0\0\02\0\0\0_\0\0\0v\0\0\01\0\0\0_\0\0\0','\0\0\0s\0\0\0e\0\0\0t\0\0\02\0\0\0_\0\0\0v\0\0\02\0\0\0_\0\0\0','\0\0\0s\0\0\0e\0\0\0t\0\0\02\0\0\0_\0\0\0v\0\0\03\0\0\0_\0\0\0') CHARSET utf32 COLLATE utf32_uca1400_ai_ci)
INSERT INTO t1 VALUES("set1_v3_ö", "set2_v3_ö");
INSERT INTO t1 VALUES("set1_v1_å", "set2_v1_å");
SELECT c_set_1, HEX(c_set_1) FROM t1;
c_set_1 HEX(c_set_1)
set1_v1_å 736574315F76315FE5
set1_v1_å 736574315F76315FE5
set1_v3_ö 736574315F76335FF6
set1_v1_å 736574315F76315FE5
SELECT c_set_2, HEX(c_set_2) FROM t1;
c_set_2 HEX(c_set_2)
set2_v2_ä 000000730000006500000074000000320000005F00000076000000320000005F000000E4
set2_v2_ä 000000730000006500000074000000320000005F00000076000000320000005F000000E4
set2_v3_ö 000000730000006500000074000000320000005F00000076000000330000005F000000F6
set2_v1_å 000000730000006500000074000000320000005F00000076000000310000005F000000E5
DROP TABLE t1;
RESET MASTER;
#
# Verify that ENUM string values and character sets can be printed correctly
#
CREATE TABLE t1(
c_enum_1 ENUM("enum1_v1_å", "enum1_v2_ä", "enum1_v3_ö"),
c_enum_2 ENUM("enum2_v1_å", "enum2_v2_ä", "enum2_v3_ö") CHARACTER SET utf32);
SET GLOBAL binlog_row_metadata = MINIMAL;
INSERT INTO t1 VALUES("enum1_v1_å", "enum2_v2_ä");
# Columns(ENUM,
# ENUM)
RESET MASTER;
SET GLOBAL binlog_row_metadata = FULL;
INSERT INTO t1 VALUES("enum1_v1_å", "enum2_v2_ä");
# Columns(`c_enum_1` ENUM('enum1_v1_','enum1_v2_','enum1_v3_') CHARSET latin1 COLLATE latin1_swedish_ci,
# `c_enum_2` ENUM('\0\0\0e\0\0\0n\0\0\0u\0\0\0m\0\0\02\0\0\0_\0\0\0v\0\0\01\0\0\0_\0\0\0','\0\0\0e\0\0\0n\0\0\0u\0\0\0m\0\0\02\0\0\0_\0\0\0v\0\0\02\0\0\0_\0\0\0','\0\0\0e\0\0\0n\0\0\0u\0\0\0m\0\0\02\0\0\0_\0\0\0v\0\0\03\0\0\0_\0\0\0') CHARSET utf32 COLLATE utf32_uca1400_ai_ci)
INSERT INTO t1 VALUES("enum1_v3_ö", "enum2_v3_ö");
INSERT INTO t1 VALUES("enum1_v1_å", "enum2_v1_å");
SELECT c_enum_1, HEX(c_enum_1) FROM t1;
c_enum_1 HEX(c_enum_1)
enum1_v1_å 656E756D315F76315FE5
enum1_v1_å 656E756D315F76315FE5
enum1_v3_ö 656E756D315F76335FF6
enum1_v1_å 656E756D315F76315FE5
SELECT c_enum_2, HEX(c_enum_2) FROM t1;
c_enum_2 HEX(c_enum_2)
enum2_v2_ä 000000650000006E000000750000006D000000320000005F00000076000000320000005F000000E4
enum2_v2_ä 000000650000006E000000750000006D000000320000005F00000076000000320000005F000000E4
enum2_v3_ö 000000650000006E000000750000006D000000320000005F00000076000000330000005F000000F6
enum2_v1_å 000000650000006E000000750000006D000000320000005F00000076000000310000005F000000E5
DROP TABLE t1;
RESET MASTER;
SET GLOBAL binlog_row_metadata = NO_LOG;
ALTER DATABASE test CHARACTER SET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci;
|