mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
wl2325 wl2324
This commit is contained in:
76
mysql-test/t/ndb_binlog_basic.test
Normal file
76
mysql-test/t/ndb_binlog_basic.test
Normal file
@@ -0,0 +1,76 @@
|
||||
-- source include/have_ndb.inc
|
||||
-- source include/have_binlog_format_row.inc
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1, t2;
|
||||
drop database if exists mysqltest;
|
||||
create database mysqltest;
|
||||
use mysqltest;
|
||||
drop database mysqltest;
|
||||
use test;
|
||||
--enable_warnings
|
||||
|
||||
#
|
||||
# basic insert, update, delete test, alter, rename, drop
|
||||
# check that binlog_index gets the right info
|
||||
#
|
||||
|
||||
create table t1 (a int primary key) engine=ndb;
|
||||
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
save_master_pos;
|
||||
--replace_column 1 #
|
||||
select @max_epoch:=max(epoch)-1 from cluster_replication.binlog_index;
|
||||
|
||||
delete from t1;
|
||||
alter table t1 add (b int);
|
||||
insert into t1 values (3,3),(4,4);
|
||||
alter table t1 rename t2;
|
||||
|
||||
# get all in one epoch
|
||||
begin;
|
||||
insert into t2 values (1,1),(2,2);
|
||||
update t2 set b=1 where a=3;
|
||||
delete from t2 where a=4;
|
||||
commit;
|
||||
drop table t2;
|
||||
|
||||
# check that above is ok
|
||||
# (save_master_pos waits for last gcp to complete, ensuring that we have
|
||||
# the expected data in the binlog)
|
||||
save_master_pos;
|
||||
select inserts from cluster_replication.binlog_index where epoch > @max_epoch and inserts > 5;
|
||||
select deletes from cluster_replication.binlog_index where epoch > @max_epoch and deletes > 5;
|
||||
select inserts,updates,deletes from
|
||||
cluster_replication.binlog_index where epoch > @max_epoch and updates > 0;
|
||||
select schemaops from
|
||||
cluster_replication.binlog_index where epoch > @max_epoch and schemaops > 0;
|
||||
|
||||
#
|
||||
# check that purge clears the binlog_index
|
||||
#
|
||||
flush logs;
|
||||
--sleep 1
|
||||
purge master logs before now();
|
||||
select count(*) from cluster_replication.binlog_index;
|
||||
|
||||
#
|
||||
# several tables in different databases
|
||||
# check that same table name in different databases don't mix up
|
||||
#
|
||||
create table t1 (a int primary key, b int) engine=ndb;
|
||||
create database mysqltest;
|
||||
use mysqltest;
|
||||
create table t1 (c int, d int primary key) engine=ndb;
|
||||
use test;
|
||||
|
||||
insert into mysqltest.t1 values (2,1),(2,2);
|
||||
save_master_pos;
|
||||
--replace_column 1 #
|
||||
select @max_epoch:=max(epoch)-1 from cluster_replication.binlog_index;
|
||||
|
||||
drop table t1;
|
||||
drop database mysqltest;
|
||||
select inserts,updates,deletes from
|
||||
cluster_replication.binlog_index where epoch > @max_epoch and inserts > 0;
|
||||
select schemaops from
|
||||
cluster_replication.binlog_index where epoch > @max_epoch and schemaops > 0;
|
||||
Reference in New Issue
Block a user