Update SchemaIterator in pt-table-sync. Make the module handle NAME_lc or not.

This commit is contained in:
Daniel Nichter
2012-03-30 18:15:54 -06:00
parent a18c08f16a
commit 1cd990a0f0
3 changed files with 567 additions and 389 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -88,10 +88,15 @@ sub new {
$resume{tbl} = $tbl;
}
my $engine_key
= $dbh && ($dbh->{FetchHashKeyName} || '') eq 'NAME_lc' ? 'engine'
: 'Engine';
my $self = {
%args,
resume => \%resume,
filters => _make_filters(%args),
engine_key => $engine_key,
};
return bless $self, $class;
@@ -376,7 +381,7 @@ sub _iterate_dbh {
}
if ( !$tbl_status
|| $self->engine_is_allowed($tbl_status->{engine}) ) {
|| $self->engine_is_allowed($tbl_status->{$self->{engine_key}}) ) {
my $ddl;
if ( my $tp = $self->{TableParser} ) {
$ddl = $tp->get_create_table($dbh, $self->{db}, $tbl);

View File

@@ -47,7 +47,7 @@ $master_dbh->do('create table test.foo (i int)');
$output = `$trunk/bin/pt-table-sync --databases test --execute h=127.1,P=12345,u=msandbox,p=msandbox h=127.1,P=12348 2>&1`;
like(
$output,
qr/Unknown database 'test'/,
qr/Table test.foo does not exist on P=12348/,
'Warn about --databases missing on dest host'
);