diff options
author | Luis Soares <luis.soares@sun.com> | 2010-03-11 11:28:35 +0000 |
---|---|---|
committer | Luis Soares <luis.soares@sun.com> | 2010-03-11 11:28:35 +0000 |
commit | baab8dd83cc14a4bee8a16c6180f46014181e8a8 (patch) | |
tree | bc699a84100ef4a6592b3ac333e18a7f686f555c /mysql-test | |
parent | b0ed7a5499ab81919dfb9605f1304bb16bd7deac (diff) | |
parent | 092d50389e57ac1c280c4bae470491a4f409da8a (diff) | |
download | mariadb-git-baab8dd83cc14a4bee8a16c6180f46014181e8a8.tar.gz |
Automerge: mysql-next-mr-bugfixing bug branch --> mysql-next-mr-bugfixing latest.
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/suite/rpl/r/rpl_row_utf16.result | 23 | ||||
-rw-r--r-- | mysql-test/suite/rpl/r/rpl_row_utf32.result | 25 | ||||
-rw-r--r-- | mysql-test/suite/rpl/t/rpl_row_utf16.test | 26 | ||||
-rw-r--r-- | mysql-test/suite/rpl/t/rpl_row_utf32.test | 44 |
4 files changed, 118 insertions, 0 deletions
diff --git a/mysql-test/suite/rpl/r/rpl_row_utf16.result b/mysql-test/suite/rpl/r/rpl_row_utf16.result new file mode 100644 index 00000000000..f7e66dd92ee --- /dev/null +++ b/mysql-test/suite/rpl/r/rpl_row_utf16.result @@ -0,0 +1,23 @@ +stop slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +reset master; +reset slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +start slave; +CREATE TABLE t1(c1 CHAR(10) CHARACTER SET utf16 DEFAULT 'ola'); +INSERT INTO t1 VALUES ('abc'); +INSERT INTO t1 VALUES (); +#### ON MASTER +SELECT c1, hex(c1) from t1; +c1 abc +hex(c1) 006100620063 +c1 ola +hex(c1) 006F006C0061 +#### ON SLAVE +SELECT c1, hex(c1) FROM t1; +c1 abc +hex(c1) 006100620063 +c1 ola +hex(c1) 006F006C0061 +Comparing tables master:test.t1 and slave:test.t1 +DROP TABLE t1; diff --git a/mysql-test/suite/rpl/r/rpl_row_utf32.result b/mysql-test/suite/rpl/r/rpl_row_utf32.result new file mode 100644 index 00000000000..e07db9c9e48 --- /dev/null +++ b/mysql-test/suite/rpl/r/rpl_row_utf32.result @@ -0,0 +1,25 @@ +stop slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +reset master; +reset slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +start slave; +SET SQL_LOG_BIN=0; +CREATE TABLE t1 (c1 char(255) DEFAULT NULL, KEY c1 (c1)) DEFAULT CHARSET=utf32; +Warnings: +Warning 1071 Specified key was too long; max key length is 1000 bytes +SET SQL_LOG_BIN=1; +SET @saved_slave_type_conversions= @@global.slave_type_conversions; +include/stop_slave.inc +SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY'; +include/start_slave.inc +SET SQL_LOG_BIN=0; +CREATE TABLE t1 ( c1 varchar(255) DEFAULT NULL, KEY c1 (c1)) DEFAULT CHARSET=utf32; +Warnings: +Warning 1071 Specified key was too long; max key length is 1000 bytes +SET SQL_LOG_BIN=1; +INSERT INTO t1(c1) VALUES ('insert into t1'); +DROP TABLE t1; +SET GLOBAL SLAVE_TYPE_CONVERSIONS= @saved_slave_type_conversions; +include/stop_slave.inc +include/start_slave.inc diff --git a/mysql-test/suite/rpl/t/rpl_row_utf16.test b/mysql-test/suite/rpl/t/rpl_row_utf16.test new file mode 100644 index 00000000000..b8f7b724ea1 --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_row_utf16.test @@ -0,0 +1,26 @@ +-- source include/master-slave.inc +-- source include/have_binlog_format_row.inc +-- source include/have_utf16.inc + +# +# BUG#51716: Char column with utf16 character set gives wrong padding on slave +# + +CREATE TABLE t1(c1 CHAR(10) CHARACTER SET utf16 DEFAULT 'ola'); +INSERT INTO t1 VALUES ('abc'); # explicit value is inserted and encoded correctly +INSERT INTO t1 VALUES (); # default value is inserted and encoded correctly + +-- echo #### ON MASTER +--query_vertical SELECT c1, hex(c1) from t1 + +-- sync_slave_with_master + +-- echo #### ON SLAVE +--query_vertical SELECT c1, hex(c1) FROM t1 + +# assertion: tables don't differ +-- let $diff_table_1=master:test.t1 +-- let $diff_table_2=slave:test.t1 +-- source include/diff_tables.inc + +DROP TABLE t1; diff --git a/mysql-test/suite/rpl/t/rpl_row_utf32.test b/mysql-test/suite/rpl/t/rpl_row_utf32.test new file mode 100644 index 00000000000..44ca4b345c0 --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_row_utf32.test @@ -0,0 +1,44 @@ +-- source include/master-slave.inc +-- source include/have_binlog_format_row.inc +-- source include/have_utf32.inc + +# +# BUG#51787 Assertion `(n % 4) == 0' on slave upon INSERT into a table with UTF32 +# + +SET SQL_LOG_BIN=0; +CREATE TABLE t1 (c1 char(255) DEFAULT NULL, KEY c1 (c1)) DEFAULT CHARSET=utf32; +SET SQL_LOG_BIN=1; + +-- connection slave + +SET @saved_slave_type_conversions= @@global.slave_type_conversions; + +# +# Force test to cover conversion execution path in the +# slave, which also makes use of sql_type method, thence +# can ultimately trigger the assertion. +# +-- source include/stop_slave.inc +SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY'; +-- source include/start_slave.inc + +SET SQL_LOG_BIN=0; +CREATE TABLE t1 ( c1 varchar(255) DEFAULT NULL, KEY c1 (c1)) DEFAULT CHARSET=utf32; +SET SQL_LOG_BIN=1; + +-- connection master + +INSERT INTO t1(c1) VALUES ('insert into t1'); +DROP TABLE t1; + +--sync_slave_with_master + +# assertion: the slave woul hit an/several assertions: +# before and during slave conversion procedure +# Now that is fixed, it wont. + +SET GLOBAL SLAVE_TYPE_CONVERSIONS= @saved_slave_type_conversions; +-- source include/stop_slave.inc +-- source include/start_slave.inc +-- connection master |