mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-10 05:00:45 +00:00
64 lines
1.6 KiB
Perl
64 lines
1.6 KiB
Perl
#!/usr/bin/env perl
|
|
|
|
BEGIN {
|
|
die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n"
|
|
unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH};
|
|
unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib";
|
|
};
|
|
|
|
use strict;
|
|
use warnings FATAL => 'all';
|
|
use English qw(-no_match_vars);
|
|
use Test::More tests => 1;
|
|
|
|
use PerconaTest;
|
|
use Sandbox;
|
|
require "$trunk/bin/pt-table-sync";
|
|
|
|
my $q = new Quoter();
|
|
my $tp = new TableParser(Quoter => $q);
|
|
my $tn = new TableNibbler(Quoter => $q, TableParser => $tp);
|
|
|
|
my $sample = "t/pt-table-sync/samples";
|
|
|
|
sub test_diff_where {
|
|
my (%args) = @_;
|
|
|
|
my $ddl = load_file($args{file});
|
|
my $tbl_struct = $tp->parse($ddl);
|
|
my $where = pt_table_sync::diff_where(
|
|
tbl_struct => $tbl_struct,
|
|
diff => $args{diff},
|
|
TableNibbler => $tn,
|
|
);
|
|
is(
|
|
$where,
|
|
$args{where},
|
|
$args{name},
|
|
);
|
|
}
|
|
|
|
test_diff_where(
|
|
name => "Single int col",
|
|
file => "$sample/simple-tbl-ddl.sql",
|
|
diff => {
|
|
chunk => '3',
|
|
chunk_index => 'PRIMARY',
|
|
cnt_diff => '-1',
|
|
crc_diff => '1',
|
|
lower_boundary => '7',
|
|
master_cnt => '3',
|
|
master_crc => '1ddd6c71',
|
|
table => 'test.mt1',
|
|
this_cnt => '2',
|
|
this_crc => '4a57d814',
|
|
upper_boundary => '9'
|
|
},
|
|
where => "((`id` >= '7')) AND ((`id` <= '9'))",
|
|
);
|
|
|
|
# #############################################################################
|
|
# Done.
|
|
# #############################################################################
|
|
exit;
|