mirror of
https://github.com/percona/percona-toolkit.git
synced 2026-05-16 01:07:12 +08:00
PT-2250 - pt-table-checksum reports error if recursion method is DSN
- We are now setting parent to current source server in get_cxn_from_dsn_table
This commit is contained in:
+9
-3
@@ -3735,11 +3735,17 @@ sub get_replicas {
|
||||
}
|
||||
);
|
||||
} elsif ( $methods->[0] =~ m/^dsn=/i ) {
|
||||
my @required_args = qw(dsn);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn) = @args{@required_args};
|
||||
(my $dsn_table_dsn = join ",", @$methods) =~ s/^dsn=//i;
|
||||
$replicas = $self->get_cxn_from_dsn_table(
|
||||
%args,
|
||||
dsn_table_dsn => $dsn_table_dsn,
|
||||
wait_no_die => $args{'wait_no_die'},
|
||||
parent => $dsn,
|
||||
);
|
||||
}
|
||||
elsif ( $methods->[0] =~ m/none/i ) {
|
||||
@@ -4506,11 +4512,11 @@ sub reset_known_replication_threads {
|
||||
|
||||
sub get_cxn_from_dsn_table {
|
||||
my ($self, %args) = @_;
|
||||
my @required_args = qw(dsn_table_dsn make_cxn);
|
||||
my @required_args = qw(dsn_table_dsn make_cxn parent);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn_table_dsn, $make_cxn) = @args{@required_args};
|
||||
my ($dsn_table_dsn, $make_cxn, $parent) = @args{@required_args};
|
||||
PTDEBUG && _d('DSN table DSN:', $dsn_table_dsn);
|
||||
|
||||
my $dp = $self->{DSNParser};
|
||||
@@ -4556,7 +4562,7 @@ sub get_cxn_from_dsn_table {
|
||||
}
|
||||
push @cxn, $lcxn;
|
||||
} else {
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string);
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string, parent => $parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+9
-3
@@ -191,11 +191,17 @@ sub get_replicas {
|
||||
}
|
||||
);
|
||||
} elsif ( $methods->[0] =~ m/^dsn=/i ) {
|
||||
my @required_args = qw(dsn);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn) = @args{@required_args};
|
||||
(my $dsn_table_dsn = join ",", @$methods) =~ s/^dsn=//i;
|
||||
$replicas = $self->get_cxn_from_dsn_table(
|
||||
%args,
|
||||
dsn_table_dsn => $dsn_table_dsn,
|
||||
wait_no_die => $args{'wait_no_die'},
|
||||
parent => $dsn,
|
||||
);
|
||||
}
|
||||
elsif ( $methods->[0] =~ m/none/i ) {
|
||||
@@ -962,11 +968,11 @@ sub reset_known_replication_threads {
|
||||
|
||||
sub get_cxn_from_dsn_table {
|
||||
my ($self, %args) = @_;
|
||||
my @required_args = qw(dsn_table_dsn make_cxn);
|
||||
my @required_args = qw(dsn_table_dsn make_cxn parent);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn_table_dsn, $make_cxn) = @args{@required_args};
|
||||
my ($dsn_table_dsn, $make_cxn, $parent) = @args{@required_args};
|
||||
PTDEBUG && _d('DSN table DSN:', $dsn_table_dsn);
|
||||
|
||||
my $dp = $self->{DSNParser};
|
||||
@@ -1012,7 +1018,7 @@ sub get_cxn_from_dsn_table {
|
||||
}
|
||||
push @cxn, $lcxn;
|
||||
} else {
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string);
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string, parent => $parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+9
-3
@@ -4009,11 +4009,17 @@ sub get_replicas {
|
||||
}
|
||||
);
|
||||
} elsif ( $methods->[0] =~ m/^dsn=/i ) {
|
||||
my @required_args = qw(dsn);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn) = @args{@required_args};
|
||||
(my $dsn_table_dsn = join ",", @$methods) =~ s/^dsn=//i;
|
||||
$replicas = $self->get_cxn_from_dsn_table(
|
||||
%args,
|
||||
dsn_table_dsn => $dsn_table_dsn,
|
||||
wait_no_die => $args{'wait_no_die'},
|
||||
parent => $dsn,
|
||||
);
|
||||
}
|
||||
elsif ( $methods->[0] =~ m/none/i ) {
|
||||
@@ -4780,11 +4786,11 @@ sub reset_known_replication_threads {
|
||||
|
||||
sub get_cxn_from_dsn_table {
|
||||
my ($self, %args) = @_;
|
||||
my @required_args = qw(dsn_table_dsn make_cxn);
|
||||
my @required_args = qw(dsn_table_dsn make_cxn parent);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn_table_dsn, $make_cxn) = @args{@required_args};
|
||||
my ($dsn_table_dsn, $make_cxn, $parent) = @args{@required_args};
|
||||
PTDEBUG && _d('DSN table DSN:', $dsn_table_dsn);
|
||||
|
||||
my $dp = $self->{DSNParser};
|
||||
@@ -4830,7 +4836,7 @@ sub get_cxn_from_dsn_table {
|
||||
}
|
||||
push @cxn, $lcxn;
|
||||
} else {
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string);
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string, parent => $parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4300,11 +4300,17 @@ sub get_replicas {
|
||||
}
|
||||
);
|
||||
} elsif ( $methods->[0] =~ m/^dsn=/i ) {
|
||||
my @required_args = qw(dsn);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn) = @args{@required_args};
|
||||
(my $dsn_table_dsn = join ",", @$methods) =~ s/^dsn=//i;
|
||||
$replicas = $self->get_cxn_from_dsn_table(
|
||||
%args,
|
||||
dsn_table_dsn => $dsn_table_dsn,
|
||||
wait_no_die => $args{'wait_no_die'},
|
||||
parent => $dsn,
|
||||
);
|
||||
}
|
||||
elsif ( $methods->[0] =~ m/none/i ) {
|
||||
@@ -5071,11 +5077,11 @@ sub reset_known_replication_threads {
|
||||
|
||||
sub get_cxn_from_dsn_table {
|
||||
my ($self, %args) = @_;
|
||||
my @required_args = qw(dsn_table_dsn make_cxn);
|
||||
my @required_args = qw(dsn_table_dsn make_cxn parent);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn_table_dsn, $make_cxn) = @args{@required_args};
|
||||
my ($dsn_table_dsn, $make_cxn, $parent) = @args{@required_args};
|
||||
PTDEBUG && _d('DSN table DSN:', $dsn_table_dsn);
|
||||
|
||||
my $dp = $self->{DSNParser};
|
||||
@@ -5121,7 +5127,7 @@ sub get_cxn_from_dsn_table {
|
||||
}
|
||||
push @cxn, $lcxn;
|
||||
} else {
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string);
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string, parent => $parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+9
-3
@@ -10606,11 +10606,17 @@ sub get_replicas {
|
||||
}
|
||||
);
|
||||
} elsif ( $methods->[0] =~ m/^dsn=/i ) {
|
||||
my @required_args = qw(dsn);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn) = @args{@required_args};
|
||||
(my $dsn_table_dsn = join ",", @$methods) =~ s/^dsn=//i;
|
||||
$replicas = $self->get_cxn_from_dsn_table(
|
||||
%args,
|
||||
dsn_table_dsn => $dsn_table_dsn,
|
||||
wait_no_die => $args{'wait_no_die'},
|
||||
parent => $dsn,
|
||||
);
|
||||
}
|
||||
elsif ( $methods->[0] =~ m/none/i ) {
|
||||
@@ -11377,11 +11383,11 @@ sub reset_known_replication_threads {
|
||||
|
||||
sub get_cxn_from_dsn_table {
|
||||
my ($self, %args) = @_;
|
||||
my @required_args = qw(dsn_table_dsn make_cxn);
|
||||
my @required_args = qw(dsn_table_dsn make_cxn parent);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn_table_dsn, $make_cxn) = @args{@required_args};
|
||||
my ($dsn_table_dsn, $make_cxn, $parent) = @args{@required_args};
|
||||
PTDEBUG && _d('DSN table DSN:', $dsn_table_dsn);
|
||||
|
||||
my $dp = $self->{DSNParser};
|
||||
@@ -11427,7 +11433,7 @@ sub get_cxn_from_dsn_table {
|
||||
}
|
||||
push @cxn, $lcxn;
|
||||
} else {
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string);
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string, parent => $parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+9
-3
@@ -2338,11 +2338,17 @@ sub get_replicas {
|
||||
}
|
||||
);
|
||||
} elsif ( $methods->[0] =~ m/^dsn=/i ) {
|
||||
my @required_args = qw(dsn);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn) = @args{@required_args};
|
||||
(my $dsn_table_dsn = join ",", @$methods) =~ s/^dsn=//i;
|
||||
$replicas = $self->get_cxn_from_dsn_table(
|
||||
%args,
|
||||
dsn_table_dsn => $dsn_table_dsn,
|
||||
wait_no_die => $args{'wait_no_die'},
|
||||
parent => $dsn,
|
||||
);
|
||||
}
|
||||
elsif ( $methods->[0] =~ m/none/i ) {
|
||||
@@ -3109,11 +3115,11 @@ sub reset_known_replication_threads {
|
||||
|
||||
sub get_cxn_from_dsn_table {
|
||||
my ($self, %args) = @_;
|
||||
my @required_args = qw(dsn_table_dsn make_cxn);
|
||||
my @required_args = qw(dsn_table_dsn make_cxn parent);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn_table_dsn, $make_cxn) = @args{@required_args};
|
||||
my ($dsn_table_dsn, $make_cxn, $parent) = @args{@required_args};
|
||||
PTDEBUG && _d('DSN table DSN:', $dsn_table_dsn);
|
||||
|
||||
my $dp = $self->{DSNParser};
|
||||
@@ -3159,7 +3165,7 @@ sub get_cxn_from_dsn_table {
|
||||
}
|
||||
push @cxn, $lcxn;
|
||||
} else {
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string);
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string, parent => $parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2752,11 +2752,17 @@ sub get_replicas {
|
||||
}
|
||||
);
|
||||
} elsif ( $methods->[0] =~ m/^dsn=/i ) {
|
||||
my @required_args = qw(dsn);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn) = @args{@required_args};
|
||||
(my $dsn_table_dsn = join ",", @$methods) =~ s/^dsn=//i;
|
||||
$replicas = $self->get_cxn_from_dsn_table(
|
||||
%args,
|
||||
dsn_table_dsn => $dsn_table_dsn,
|
||||
wait_no_die => $args{'wait_no_die'},
|
||||
parent => $dsn,
|
||||
);
|
||||
}
|
||||
elsif ( $methods->[0] =~ m/none/i ) {
|
||||
@@ -3523,11 +3529,11 @@ sub reset_known_replication_threads {
|
||||
|
||||
sub get_cxn_from_dsn_table {
|
||||
my ($self, %args) = @_;
|
||||
my @required_args = qw(dsn_table_dsn make_cxn);
|
||||
my @required_args = qw(dsn_table_dsn make_cxn parent);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn_table_dsn, $make_cxn) = @args{@required_args};
|
||||
my ($dsn_table_dsn, $make_cxn, $parent) = @args{@required_args};
|
||||
PTDEBUG && _d('DSN table DSN:', $dsn_table_dsn);
|
||||
|
||||
my $dp = $self->{DSNParser};
|
||||
@@ -3573,7 +3579,7 @@ sub get_cxn_from_dsn_table {
|
||||
}
|
||||
push @cxn, $lcxn;
|
||||
} else {
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string);
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string, parent => $parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5255,11 +5255,17 @@ sub get_replicas {
|
||||
}
|
||||
);
|
||||
} elsif ( $methods->[0] =~ m/^dsn=/i ) {
|
||||
my @required_args = qw(dsn);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn) = @args{@required_args};
|
||||
(my $dsn_table_dsn = join ",", @$methods) =~ s/^dsn=//i;
|
||||
$replicas = $self->get_cxn_from_dsn_table(
|
||||
%args,
|
||||
dsn_table_dsn => $dsn_table_dsn,
|
||||
wait_no_die => $args{'wait_no_die'},
|
||||
parent => $dsn,
|
||||
);
|
||||
}
|
||||
elsif ( $methods->[0] =~ m/none/i ) {
|
||||
@@ -6026,11 +6032,11 @@ sub reset_known_replication_threads {
|
||||
|
||||
sub get_cxn_from_dsn_table {
|
||||
my ($self, %args) = @_;
|
||||
my @required_args = qw(dsn_table_dsn make_cxn);
|
||||
my @required_args = qw(dsn_table_dsn make_cxn parent);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn_table_dsn, $make_cxn) = @args{@required_args};
|
||||
my ($dsn_table_dsn, $make_cxn, $parent) = @args{@required_args};
|
||||
PTDEBUG && _d('DSN table DSN:', $dsn_table_dsn);
|
||||
|
||||
my $dp = $self->{DSNParser};
|
||||
@@ -6076,7 +6082,7 @@ sub get_cxn_from_dsn_table {
|
||||
}
|
||||
push @cxn, $lcxn;
|
||||
} else {
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string);
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string, parent => $parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+9
-3
@@ -6785,11 +6785,17 @@ sub get_replicas {
|
||||
}
|
||||
);
|
||||
} elsif ( $methods->[0] =~ m/^dsn=/i ) {
|
||||
my @required_args = qw(dsn);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn) = @args{@required_args};
|
||||
(my $dsn_table_dsn = join ",", @$methods) =~ s/^dsn=//i;
|
||||
$replicas = $self->get_cxn_from_dsn_table(
|
||||
%args,
|
||||
dsn_table_dsn => $dsn_table_dsn,
|
||||
wait_no_die => $args{'wait_no_die'},
|
||||
parent => $dsn,
|
||||
);
|
||||
}
|
||||
elsif ( $methods->[0] =~ m/none/i ) {
|
||||
@@ -7556,11 +7562,11 @@ sub reset_known_replication_threads {
|
||||
|
||||
sub get_cxn_from_dsn_table {
|
||||
my ($self, %args) = @_;
|
||||
my @required_args = qw(dsn_table_dsn make_cxn);
|
||||
my @required_args = qw(dsn_table_dsn make_cxn parent);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn_table_dsn, $make_cxn) = @args{@required_args};
|
||||
my ($dsn_table_dsn, $make_cxn, $parent) = @args{@required_args};
|
||||
PTDEBUG && _d('DSN table DSN:', $dsn_table_dsn);
|
||||
|
||||
my $dp = $self->{DSNParser};
|
||||
@@ -7606,7 +7612,7 @@ sub get_cxn_from_dsn_table {
|
||||
}
|
||||
push @cxn, $lcxn;
|
||||
} else {
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string);
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string, parent => $parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+11
-3
@@ -108,11 +108,19 @@ sub get_replicas {
|
||||
}
|
||||
);
|
||||
} elsif ( $methods->[0] =~ m/^dsn=/i ) {
|
||||
my @required_args = qw(dsn);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn) = @args{@required_args};
|
||||
(my $dsn_table_dsn = join ",", @$methods) =~ s/^dsn=//i;
|
||||
$replicas = $self->get_cxn_from_dsn_table(
|
||||
%args,
|
||||
dsn_table_dsn => $dsn_table_dsn,
|
||||
wait_no_die => $args{'wait_no_die'},
|
||||
# We will set current source server as a parent
|
||||
# until https://perconadev.atlassian.net/browse/PT-2496 is implemented
|
||||
parent => $dsn,
|
||||
);
|
||||
}
|
||||
elsif ( $methods->[0] =~ m/none/i ) {
|
||||
@@ -1061,11 +1069,11 @@ sub reset_known_replication_threads {
|
||||
|
||||
sub get_cxn_from_dsn_table {
|
||||
my ($self, %args) = @_;
|
||||
my @required_args = qw(dsn_table_dsn make_cxn);
|
||||
my @required_args = qw(dsn_table_dsn make_cxn parent);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn_table_dsn, $make_cxn) = @args{@required_args};
|
||||
my ($dsn_table_dsn, $make_cxn, $parent) = @args{@required_args};
|
||||
PTDEBUG && _d('DSN table DSN:', $dsn_table_dsn);
|
||||
|
||||
my $dp = $self->{DSNParser};
|
||||
@@ -1111,7 +1119,7 @@ sub get_cxn_from_dsn_table {
|
||||
}
|
||||
push @cxn, $lcxn;
|
||||
} else {
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string);
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string, parent => $parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,6 @@ CREATE TABLE `dsns` (
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
|
||||
|
||||
INSERT INTO `dsns` VALUES (1, NULL, "F=/home/sveta/src/percona/percona-toolkit/t/pt-archiver/samples/pt-191-replica1.cnf,P=12346,h=127.0.0.1,u=root,p=msandbox,s=1");
|
||||
INSERT INTO `dsns` VALUES (2, NULL, "F=/home/sveta/src/percona/percona-toolkit/t/pt-archiver/samples/pt-191-replica2.cnf,P=12347,h=127.0.0.1,u=root,p=msandbox,s=1");
|
||||
INSERT INTO `dsns` VALUES (1, NULL, "F=t/pt-archiver/samples/pt-191-replica1.cnf,P=12346,h=127.0.0.1,u=root,p=msandbox,s=1");
|
||||
INSERT INTO `dsns` VALUES (2, NULL, "F=t/pt-archiver/samples/pt-191-replica2.cnf,P=12347,h=127.0.0.1,u=root,p=msandbox,s=1");
|
||||
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
#!/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;
|
||||
|
||||
use PerconaTest;
|
||||
use Sandbox;
|
||||
require "$trunk/bin/pt-table-checksum";
|
||||
|
||||
my $dp = new DSNParser(opts=>$dsn_opts);
|
||||
my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp);
|
||||
my $dbh = $sb->get_dbh_for('source');
|
||||
|
||||
if ( !$dbh ) {
|
||||
plan skip_all => 'Cannot connect to sandbox source';
|
||||
}
|
||||
else {
|
||||
plan tests => 3;
|
||||
}
|
||||
|
||||
# The sandbox servers run with lock_wait_timeout=3 and it's not dynamic
|
||||
# so we need to specify --set-vars innodb_lock_wait_timeout=3 else the tool will die.
|
||||
# And --max-load "" prevents waiting for status variables.
|
||||
my @args = (qw(--set-vars innodb_lock_wait_timeout=3), '--max-load', '');
|
||||
my ($output, $exit_code);
|
||||
|
||||
# #############################################################################
|
||||
# Issue 388: mk-table-checksum crashes when column with comma in the name
|
||||
# is used in a key
|
||||
# #############################################################################
|
||||
|
||||
$sb->create_dbs($dbh, [qw(test)]);
|
||||
$sb->load_file('source', 't/lib/samples/tables/issue-388.sql', 'test');
|
||||
|
||||
$sb->load_file('source', "t/pt-table-checksum/samples/pt-2250_dsns.sql");
|
||||
$dbh->do("insert into test.foo values (null, 'john, smith')");
|
||||
|
||||
($output, $exit_code) = full_output(
|
||||
sub {
|
||||
pt_table_checksum::main(
|
||||
@args,
|
||||
'h=127.1,P=12345,u=msandbox,p=msandbox',
|
||||
qw(-d test),
|
||||
"--recursion-method=dsn=F=t/pt-archiver/samples/pt-191.cnf,D=dsns,t=dsns,h=127.0.0.1,P=12345,u=msandbox,p=msandbox")
|
||||
},
|
||||
stderr => 1,
|
||||
);
|
||||
|
||||
is(
|
||||
$exit_code,
|
||||
0,
|
||||
"No error for recursion method dsn"
|
||||
) or diag($output);
|
||||
|
||||
unlike(
|
||||
$output,
|
||||
qr/Can't connect to local MySQL server/,
|
||||
'No error message for recursion method dsn'
|
||||
) or diag($output);
|
||||
|
||||
# #############################################################################
|
||||
# Done.
|
||||
# #############################################################################
|
||||
$sb->wipe_clean($dbh);
|
||||
ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox");
|
||||
exit;
|
||||
@@ -0,0 +1,13 @@
|
||||
CREATE DATABASE IF NOT EXISTS dsns;
|
||||
USE dsns;
|
||||
DROP TABLE IF EXISTS `dsns`;
|
||||
CREATE TABLE `dsns` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`parent_id` int(11) DEFAULT NULL,
|
||||
`dsn` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
|
||||
|
||||
INSERT INTO `dsns` VALUES (1, NULL, "P=12346,h=127.0.0.1,u=msandbox,p=msandbox");
|
||||
INSERT INTO `dsns` VALUES (2, NULL, "P=12347,h=127.0.0.1,u=msandbox,p=msandbox");
|
||||
|
||||
Reference in New Issue
Block a user