mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
db47e4ca24
Fixed comparision of log-binary name to handle comparison when file name extension wraps from .999 to .1000 Don't replicate CREATE/DROP DATABASE if wild_xxx_table=database.% is used. mysql-test/r/rpl000009.result: Fixed replication test after fixing replication of DROP/CREATE DATABASE mysql-test/t/rpl000009.test: Fixed replication test after fixing replication of DROP/CREATE DATABASE sql/item_create.cc: Added timeout for wait_for_master_pos sql/item_create.h: Added timeout for wait_for_master_pos sql/item_func.cc: Added timeout for wait_for_master_pos sql/item_func.h: Added timeout for wait_for_master_pos sql/lex.h: Added timeout for wait_for_master_pos sql/slave.h: Added timeout for wait_for_master_pos Don't replicate CREATE/DROP DATABASE if wild_xxx_table=database.% is used. sql/sql_parse.cc: Don't replicate CREATE/DROP DATABASE if wild_xxx_table=database.% is used. sql/sql_repl.cc: Fixed comparision of log-binary name to handle comparison when file name extension wraps from .999 to .1000
89 lines
2.1 KiB
Text
89 lines
2.1 KiB
Text
# This one assumes we are ignoring updates on tables in database foo, but doing
|
|
# the ones in database bar
|
|
|
|
source include/master-slave.inc;
|
|
drop database if exists foo;
|
|
create database foo;
|
|
drop database if exists bar;
|
|
create database bar;
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
create database foo;
|
|
drop table if exists foo.foo;
|
|
create table foo.foo (n int);
|
|
insert into foo.foo values(4);
|
|
connection master;
|
|
drop table if exists foo.foo;
|
|
create table foo.foo (n int);
|
|
insert into foo.foo values(5);
|
|
drop table if exists bar.bar;
|
|
create table bar.bar (m int);
|
|
insert into bar.bar values(15);
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
select foo.foo.n,bar.bar.m from foo.foo,bar.bar;
|
|
connection master;
|
|
drop database bar;
|
|
drop database if exists foo;
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
--error 1008
|
|
drop database bar;
|
|
drop database foo;
|
|
|
|
# Now let's test load data from master
|
|
|
|
# First create some databases and tables on the master
|
|
|
|
connection master;
|
|
set sql_log_bin = 0;
|
|
create database foo;
|
|
create database bar;
|
|
show databases;
|
|
create table foo.t1(n int, s char(20));
|
|
create table foo.t2(n int, s text);
|
|
insert into foo.t1 values (1, 'one'), (2, 'two'), (3, 'three');
|
|
insert into foo.t2 values (11, 'eleven'), (12, 'twelve'), (13, 'thirteen');
|
|
|
|
create table bar.t1(n int, s char(20));
|
|
create table bar.t2(n int, s text);
|
|
insert into bar.t1 values (1, 'one bar'), (2, 'two bar'), (3, 'three bar');
|
|
insert into bar.t2 values (11, 'eleven bar'), (12, 'twelve bar'),
|
|
(13, 'thirteen bar');
|
|
set sql_log_bin = 1;
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
|
|
# This should show that the slave is empty at this point
|
|
show databases;
|
|
load data from master;
|
|
|
|
# Now let's check if we have the right tables and the right data in them
|
|
show databases;
|
|
use foo;
|
|
show tables;
|
|
use bar;
|
|
show tables;
|
|
select * from bar.t1;
|
|
select * from bar.t2;
|
|
|
|
# Now let's see if replication works
|
|
connection master;
|
|
insert into bar.t1 values (4, 'four bar');
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
select * from bar.t1;
|
|
|
|
# Now time for cleanup
|
|
connection master;
|
|
drop database bar;
|
|
drop database foo;
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
|