mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
16105170c0
Added support for UPDATE. Some minor fixes. mysql-test/t/rpl_row_tabledefs_2myisam.test: Rename: mysql-test/t/rpl_row_tabledefs.test -> mysql-test/t/rpl_row_tabledefs_2myisam.test mysql-test/extra/rpl_tests/rpl_row_tabledefs.test: Extending test to ensure that there is one more null byte on slave than it is on the master. Some cleanup. sql/field.cc: Added support to find the last null byte for a field. sql/field.h: Added support to find the last null byte for a field. sql/log_event.cc: unpack_row() will now deduce the number of null bytes on the slave and use that when copying the null bytes from the row. Factored out code to copy "extra" record fields into separate function. Used that function to copy the "extra" fields when updating a row as well. mysql-test/r/rpl_row_tabledefs_2myisam.result: Result change mysql-test/r/rpl_row_tabledefs_3innodb.result: New BitKeeper file ``mysql-test/r/rpl_row_tabledefs_3innodb.result'' mysql-test/r/rpl_row_tabledefs_7ndb.result: New BitKeeper file ``mysql-test/r/rpl_row_tabledefs_7ndb.result'' mysql-test/t/rpl_row_tabledefs_3innodb.test: New BitKeeper file ``mysql-test/t/rpl_row_tabledefs_3innodb.test''
286 lines
6.6 KiB
Text
286 lines
6.6 KiB
Text
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;
|
|
STOP SLAVE;
|
|
SET GLOBAL SQL_MODE='STRICT_ALL_TABLES';
|
|
START SLAVE;
|
|
CREATE TABLE t1_int (a INT PRIMARY KEY, b INT) ENGINE='NDB';
|
|
CREATE TABLE t1_bit (a INT PRIMARY KEY, b INT) ENGINE='NDB';
|
|
CREATE TABLE t1_char (a INT PRIMARY KEY, b INT) ENGINE='NDB';
|
|
CREATE TABLE t1_nodef (a INT PRIMARY KEY, b INT) ENGINE='NDB';
|
|
CREATE TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE='NDB';
|
|
CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE='NDB';
|
|
CREATE TABLE t4 (a INT) ENGINE='NDB';
|
|
CREATE TABLE t5 (a INT, b INT, c INT) ENGINE='NDB';
|
|
CREATE TABLE t6 (a INT, b INT, c INT) ENGINE='NDB';
|
|
CREATE TABLE t9 (a INT) ENGINE='NDB';
|
|
ALTER TABLE t1_int ADD x INT DEFAULT 42;
|
|
ALTER TABLE t1_bit
|
|
ADD x BIT(3) DEFAULT b'011',
|
|
ADD y BIT(5) DEFAULT b'10101',
|
|
ADD z BIT(2) DEFAULT b'10';
|
|
ALTER TABLE t1_char ADD x CHAR(20) DEFAULT 'Just a test';
|
|
ALTER TABLE t1_nodef ADD x INT NOT NULL;
|
|
ALTER TABLE t2 DROP b;
|
|
ALTER TABLE t4 MODIFY a FLOAT;
|
|
ALTER TABLE t5 MODIFY b FLOAT;
|
|
ALTER TABLE t6 MODIFY c FLOAT;
|
|
INSERT INTO t1_int VALUES (2, 4, 4711);
|
|
INSERT INTO t1_char VALUES (2, 4, 'Foo is a bar');
|
|
INSERT INTO t1_bit VALUES (2, 4, b'101', b'11100', b'01');
|
|
**** On Master ****
|
|
INSERT INTO t1_int VALUES (1,2);
|
|
INSERT INTO t1_int VALUES (2,5);
|
|
INSERT INTO t1_bit VALUES (1,2);
|
|
INSERT INTO t1_bit VALUES (2,5);
|
|
INSERT INTO t1_char VALUES (1,2);
|
|
INSERT INTO t1_char VALUES (2,5);
|
|
SELECT * FROM t1_int;
|
|
a b
|
|
1 2
|
|
2 5
|
|
SELECT * FROM t1_bit;
|
|
a b
|
|
1 2
|
|
2 5
|
|
SELECT * FROM t1_char;
|
|
a b
|
|
1 2
|
|
2 5
|
|
**** On Slave ****
|
|
SELECT a,b,x FROM t1_int;
|
|
a b x
|
|
1 2 42
|
|
2 5 42
|
|
SELECT a,b,HEX(x),HEX(y),HEX(z) FROM t1_bit;
|
|
a b HEX(x) HEX(y) HEX(z)
|
|
1 2 3 15 2
|
|
2 5 3 15 2
|
|
SELECT a,b,x FROM t1_char;
|
|
a b x
|
|
1 2 Just a test
|
|
2 5 Just a test
|
|
**** On Master ****
|
|
UPDATE t1_int SET b=2*b WHERE a=2;
|
|
UPDATE t1_char SET b=2*b WHERE a=2;
|
|
UPDATE t1_bit SET b=2*b WHERE a=2;
|
|
SELECT * FROM t1_int;
|
|
a b
|
|
1 2
|
|
2 10
|
|
SELECT * FROM t1_bit;
|
|
a b
|
|
1 2
|
|
2 10
|
|
SELECT * FROM t1_char;
|
|
a b
|
|
1 2
|
|
2 10
|
|
**** On Slave ****
|
|
SELECT a,b,x FROM t1_int;
|
|
a b x
|
|
1 2 42
|
|
2 10 42
|
|
SELECT a,b,HEX(x),HEX(y),HEX(z) FROM t1_bit;
|
|
a b HEX(x) HEX(y) HEX(z)
|
|
1 2 3 15 2
|
|
2 10 3 15 2
|
|
SELECT a,b,x FROM t1_char;
|
|
a b x
|
|
1 2 Just a test
|
|
2 10 Just a test
|
|
INSERT INTO t9 VALUES (2);
|
|
INSERT INTO t1_nodef VALUES (1,2);
|
|
SHOW SLAVE STATUS;
|
|
Slave_IO_State #
|
|
Master_Host 127.0.0.1
|
|
Master_User root
|
|
Master_Port MASTER_PORT
|
|
Connect_Retry 1
|
|
Master_Log_File master-bin.000001
|
|
Read_Master_Log_Pos #
|
|
Relay_Log_File #
|
|
Relay_Log_Pos #
|
|
Relay_Master_Log_File master-bin.000001
|
|
Slave_IO_Running Yes
|
|
Slave_SQL_Running No
|
|
Replicate_Do_DB
|
|
Replicate_Ignore_DB
|
|
Replicate_Do_Table
|
|
Replicate_Ignore_Table
|
|
Replicate_Wild_Do_Table
|
|
Replicate_Wild_Ignore_Table
|
|
Last_Errno 1364
|
|
Last_Error Error in Write_rows event: error during transaction execution on table test.t1_nodef
|
|
Skip_Counter 0
|
|
Exec_Master_Log_Pos #
|
|
Relay_Log_Space #
|
|
Until_Condition None
|
|
Until_Log_File
|
|
Until_Log_Pos 0
|
|
Master_SSL_Allowed No
|
|
Master_SSL_CA_File
|
|
Master_SSL_CA_Path
|
|
Master_SSL_Cert
|
|
Master_SSL_Cipher
|
|
Master_SSL_Key
|
|
Seconds_Behind_Master #
|
|
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
|
START SLAVE;
|
|
INSERT INTO t9 VALUES (2);
|
|
INSERT INTO t2 VALUES (2,4);
|
|
SHOW SLAVE STATUS;
|
|
Slave_IO_State #
|
|
Master_Host 127.0.0.1
|
|
Master_User root
|
|
Master_Port MASTER_PORT
|
|
Connect_Retry 1
|
|
Master_Log_File master-bin.000001
|
|
Read_Master_Log_Pos #
|
|
Relay_Log_File #
|
|
Relay_Log_Pos #
|
|
Relay_Master_Log_File master-bin.000001
|
|
Slave_IO_Running Yes
|
|
Slave_SQL_Running No
|
|
Replicate_Do_DB
|
|
Replicate_Ignore_DB
|
|
Replicate_Do_Table
|
|
Replicate_Ignore_Table
|
|
Replicate_Wild_Do_Table
|
|
Replicate_Wild_Ignore_Table
|
|
Last_Errno 1514
|
|
Last_Error Table width mismatch - received 2 columns, test.t2 has 1 columns
|
|
Skip_Counter 0
|
|
Exec_Master_Log_Pos #
|
|
Relay_Log_Space #
|
|
Until_Condition None
|
|
Until_Log_File
|
|
Until_Log_Pos 0
|
|
Master_SSL_Allowed No
|
|
Master_SSL_CA_File
|
|
Master_SSL_CA_Path
|
|
Master_SSL_Cert
|
|
Master_SSL_Cipher
|
|
Master_SSL_Key
|
|
Seconds_Behind_Master #
|
|
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
|
START SLAVE;
|
|
INSERT INTO t9 VALUES (4);
|
|
INSERT INTO t4 VALUES (4);
|
|
SHOW SLAVE STATUS;
|
|
Slave_IO_State #
|
|
Master_Host 127.0.0.1
|
|
Master_User root
|
|
Master_Port MASTER_PORT
|
|
Connect_Retry 1
|
|
Master_Log_File master-bin.000001
|
|
Read_Master_Log_Pos #
|
|
Relay_Log_File #
|
|
Relay_Log_Pos #
|
|
Relay_Master_Log_File master-bin.000001
|
|
Slave_IO_Running Yes
|
|
Slave_SQL_Running No
|
|
Replicate_Do_DB
|
|
Replicate_Ignore_DB
|
|
Replicate_Do_Table
|
|
Replicate_Ignore_Table
|
|
Replicate_Wild_Do_Table
|
|
Replicate_Wild_Ignore_Table
|
|
Last_Errno 1514
|
|
Last_Error Column 0 type mismatch - received type 3, test.t4 has type 4
|
|
Skip_Counter 0
|
|
Exec_Master_Log_Pos #
|
|
Relay_Log_Space #
|
|
Until_Condition None
|
|
Until_Log_File
|
|
Until_Log_Pos 0
|
|
Master_SSL_Allowed No
|
|
Master_SSL_CA_File
|
|
Master_SSL_CA_Path
|
|
Master_SSL_Cert
|
|
Master_SSL_Cipher
|
|
Master_SSL_Key
|
|
Seconds_Behind_Master #
|
|
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
|
START SLAVE;
|
|
INSERT INTO t9 VALUES (5);
|
|
INSERT INTO t5 VALUES (5,10,25);
|
|
SHOW SLAVE STATUS;
|
|
Slave_IO_State #
|
|
Master_Host 127.0.0.1
|
|
Master_User root
|
|
Master_Port MASTER_PORT
|
|
Connect_Retry 1
|
|
Master_Log_File master-bin.000001
|
|
Read_Master_Log_Pos #
|
|
Relay_Log_File #
|
|
Relay_Log_Pos #
|
|
Relay_Master_Log_File master-bin.000001
|
|
Slave_IO_Running Yes
|
|
Slave_SQL_Running No
|
|
Replicate_Do_DB
|
|
Replicate_Ignore_DB
|
|
Replicate_Do_Table
|
|
Replicate_Ignore_Table
|
|
Replicate_Wild_Do_Table
|
|
Replicate_Wild_Ignore_Table
|
|
Last_Errno 1514
|
|
Last_Error Column 1 type mismatch - received type 3, test.t5 has type 4
|
|
Skip_Counter 0
|
|
Exec_Master_Log_Pos #
|
|
Relay_Log_Space #
|
|
Until_Condition None
|
|
Until_Log_File
|
|
Until_Log_Pos 0
|
|
Master_SSL_Allowed No
|
|
Master_SSL_CA_File
|
|
Master_SSL_CA_Path
|
|
Master_SSL_Cert
|
|
Master_SSL_Cipher
|
|
Master_SSL_Key
|
|
Seconds_Behind_Master #
|
|
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
|
START SLAVE;
|
|
INSERT INTO t9 VALUES (6);
|
|
INSERT INTO t6 VALUES (6,12,36);
|
|
SHOW SLAVE STATUS;
|
|
Slave_IO_State #
|
|
Master_Host 127.0.0.1
|
|
Master_User root
|
|
Master_Port MASTER_PORT
|
|
Connect_Retry 1
|
|
Master_Log_File master-bin.000001
|
|
Read_Master_Log_Pos #
|
|
Relay_Log_File #
|
|
Relay_Log_Pos #
|
|
Relay_Master_Log_File master-bin.000001
|
|
Slave_IO_Running Yes
|
|
Slave_SQL_Running No
|
|
Replicate_Do_DB
|
|
Replicate_Ignore_DB
|
|
Replicate_Do_Table
|
|
Replicate_Ignore_Table
|
|
Replicate_Wild_Do_Table
|
|
Replicate_Wild_Ignore_Table
|
|
Last_Errno 1514
|
|
Last_Error Column 2 type mismatch - received type 3, test.t6 has type 4
|
|
Skip_Counter 0
|
|
Exec_Master_Log_Pos #
|
|
Relay_Log_Space #
|
|
Until_Condition None
|
|
Until_Log_File
|
|
Until_Log_Pos 0
|
|
Master_SSL_Allowed No
|
|
Master_SSL_CA_File
|
|
Master_SSL_CA_Path
|
|
Master_SSL_Cert
|
|
Master_SSL_Cipher
|
|
Master_SSL_Key
|
|
Seconds_Behind_Master #
|
|
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
|
START SLAVE;
|
|
DROP TABLE IF EXISTS t1_int,t1_bit,t1_char,t1_nodef;
|
|
DROP TABLE IF EXISTS t2,t3,t4,t5,t6,t9;
|