19
19
my $dp = new DSNParser(opts=>$dsn_opts);
20
20
my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp);
21
my $dbh = $sb->get_dbh_for('master');
21
my $master_dbh = $sb->get_dbh_for('master');
22
my $slave1_dbh = $sb->get_dbh_for('slave1');
24
25
plan skip_all => 'Cannot connect to sandbox master';
27
elsif ( !$slave1_dbh ) {
28
plan skip_all => 'Cannot connect to sandbox slave1';
30
34
my $cmd = "$trunk/bin/pt-archiver";
32
36
# Make sure load works.
33
$sb->create_dbs($dbh, ['test']);
37
$sb->create_dbs($master_dbh, ['test']);
34
38
$sb->load_file('master', 't/pt-archiver/samples/tables1-4.sql');
35
$rows = $dbh->selectrow_arrayref('select count(*) from test.table_1')->[0];
39
$rows = $master_dbh->selectrow_arrayref('select count(*) from test.table_1')->[0];
36
40
if ( ($rows || 0) != 4 ) {
37
41
plan skip_all => 'Failed to load tables1-4.sql';
43
47
my @args = qw(--dry-run --where 1=1);
188
192
# #############################################################################
193
# Bug 903387: pt-archiver doesn't honor b=1 flag to create SQL_LOG_BIN statement
194
# #############################################################################
196
$sb->load_file('master', "t/pt-archiver/samples/bulk_regular_insert.sql");
197
PerconaTest::wait_for_table($slave1_dbh, "bri.t", "id=10");
199
my $original_rows = $slave1_dbh->selectall_arrayref("SELECT * FROM bri.t ORDER BY id");
203
[1, 'aa', '11:11:11'],
204
[2, 'bb', '11:11:12'],
205
[3, 'cc', '11:11:13'],
206
[4, 'dd', '11:11:14'],
207
[5, 'ee', '11:11:15'],
208
[6, 'ff', '11:11:16'],
209
[7, 'gg', '11:11:17'],
210
[8, 'hh', '11:11:18'],
211
[9, 'ii', '11:11:19'],
212
[10,'jj', '11:11:10'],
214
"Bug 903387: slave has rows"
218
sub { pt_archiver::main(
219
'--source', "D=bri,t=t,F=$cnf,b=1",
220
'--dest', "D=bri,t=t_arch",
221
qw(--where 1=1 --replace --commit-each --bulk-insert --bulk-delete),
225
$rows = $master_dbh->selectall_arrayref("SELECT * FROM bri.t ORDER BY id");
229
[10,'jj', '11:11:10'],
231
"Bug 903387: rows deleted on master"
232
) or diag(Dumper($rows));
234
$rows = $slave1_dbh->selectall_arrayref("SELECT * FROM bri.t ORDER BY id");
238
"Bug 903387: slave still has rows"
239
) or diag(Dumper($rows));
241
# #############################################################################
190
243
# #############################################################################
191
$sb->wipe_clean($dbh);
244
$sb->wipe_clean($master_dbh);