mariadb/mysql-test/t/ndb_binlog_basic.test
monty@mysql.com/nosik.monty.fi f6682e2743 Added --debug-info to most clients to detect memory leaks in mysql-test-run
Moved .progress files into the log directory
Moved 'cluster' database tables into the MySQL database, to not have 'cluster' beeing a reserved database name
Fixed bug where mysqld got a core dump when trying to use a table created by MySQL 3.23
Fixed some compiler warnings
Fixed small memory leak in libmysql
Note that this doesn't changeset doesn't include the new mysqldump.c code required to run some tests. This will be added when I merge 5.0 to 5.1
2006-11-21 22:32:58 +02:00

72 lines
1.9 KiB
Text

-- 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 mysql.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 mysql.binlog_index where epoch > @max_epoch and inserts > 5;
select deletes from mysql.binlog_index where epoch > @max_epoch and deletes > 5;
select inserts,updates,deletes from
mysql.binlog_index where epoch > @max_epoch and updates > 0;
#
# check that purge clears the binlog_index
#
flush logs;
--sleep 1
purge master logs before now();
select count(*) from mysql.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 mysql.binlog_index;
drop table t1;
drop database mysqltest;
select inserts,updates,deletes from
mysql.binlog_index where epoch > @max_epoch and inserts > 0;