mirror of
https://github.com/MariaDB/server.git
synced 2025-01-21 06:22:28 +01:00
67cc50d2a3
This patch fixes these warnings and some compile time warnings. On top of that, it also fixes rpl_err_ignoredtable test failure. This test was failing because the warning suppression text was not matching the latest text. We fix this by making them match. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Replaced the suppression text. sql/rpl_record.cc: - Fixed some compile time warnings (replaced %d --> %ld and removed unused mas mask variable. - Fixed valgrind warnings when using c_ptr(). Replaced with c_ptr_safe(). sql/rpl_utility.cc: - Fixed valgrind warnings when using c_ptr(). Replaced with c_ptr_safe().
66 lines
2 KiB
Text
66 lines
2 KiB
Text
# Test for
|
|
# Bug #797: If a query is ignored on slave (replicate-ignore-table) the slave
|
|
# still checks that it has the same error as on the master.
|
|
##########################################################################
|
|
# 2006-02-07 JBM Added error code 1022 for NDB Engine + ORDER BY
|
|
##########################################################################
|
|
|
|
-- source include/master-slave.inc
|
|
|
|
-- disable_query_log
|
|
CALL mtr.add_suppression("Unsafe statement binlogged in statement format since BINLOG_FORMAT = STATEMENT.");
|
|
-- enable_query_log
|
|
|
|
connection master;
|
|
create table t1 (a int primary key);
|
|
create table t4 (a int primary key);
|
|
# generate an error that goes to the binlog
|
|
--error 1022, ER_DUP_ENTRY
|
|
insert into t1 values (1),(1);
|
|
insert into t4 values (1),(2);
|
|
# as the t1 table is ignored on the slave, the slave should be able to sync
|
|
sync_slave_with_master;
|
|
# check that the table has been ignored, because otherwise the test is nonsense
|
|
show tables like 't1';
|
|
show tables like 't4';
|
|
SELECT * FROM test.t4 ORDER BY a;
|
|
connection master;
|
|
drop table t1;
|
|
sync_slave_with_master;
|
|
|
|
# Now test that even critical errors (connection killed)
|
|
# are ignored if rules allow it.
|
|
# The "kill" idea was copied from rpl000001.test.
|
|
|
|
connection master1;
|
|
select get_lock('crash_lock%20C', 10);
|
|
|
|
connection master;
|
|
create table t2 (a int primary key);
|
|
insert into t2 values(1);
|
|
create table t3 (id int);
|
|
insert into t3 values(connection_id());
|
|
send update t2 set a = a + 1 + get_lock('crash_lock%20C', 10);
|
|
|
|
connection master1;
|
|
let $wait_condition= SELECT a > 1 FROM t2;
|
|
source include/wait_condition.inc;
|
|
select (@id := id) - id from t3;
|
|
kill @id;
|
|
drop table t2,t3;
|
|
insert into t4 values (3),(4);
|
|
connection master;
|
|
# The get_lock function causes warning for unsafe statement.
|
|
--disable_warnings
|
|
--error 0,1317,2013
|
|
reap;
|
|
--enable_warnings
|
|
connection master1;
|
|
sync_slave_with_master;
|
|
SELECT * FROM test.t4 ORDER BY a;
|
|
|
|
connection master1;
|
|
DROP TABLE test.t4;
|
|
sync_slave_with_master;
|
|
# End of 4.1 tests
|
|
# Adding comment for force manual merge 5.0 -> wl1012. delete me if needed
|