mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-09 07:30:02 +00:00
Update TableParser module in all tools.
This commit is contained in:
@@ -1931,6 +1931,9 @@ sub parse {
|
||||
my (%type_for, %is_nullable, %is_numeric, %is_autoinc);
|
||||
foreach my $col ( @cols ) {
|
||||
my $def = $def_for{$col};
|
||||
|
||||
$def =~ s/``//g;
|
||||
|
||||
my ( $type ) = $def =~ m/`[^`]+`\s([a-z]+)/;
|
||||
die "Can't determine column type for $def" unless $type;
|
||||
$type_for{$col} = $type;
|
||||
|
@@ -356,6 +356,9 @@ sub parse {
|
||||
my (%type_for, %is_nullable, %is_numeric, %is_autoinc);
|
||||
foreach my $col ( @cols ) {
|
||||
my $def = $def_for{$col};
|
||||
|
||||
$def =~ s/``//g;
|
||||
|
||||
my ( $type ) = $def =~ m/`[^`]+`\s([a-z]+)/;
|
||||
die "Can't determine column type for $def" unless $type;
|
||||
$type_for{$col} = $type;
|
||||
|
@@ -1848,6 +1848,9 @@ sub parse {
|
||||
my (%type_for, %is_nullable, %is_numeric, %is_autoinc);
|
||||
foreach my $col ( @cols ) {
|
||||
my $def = $def_for{$col};
|
||||
|
||||
$def =~ s/``//g;
|
||||
|
||||
my ( $type ) = $def =~ m/`[^`]+`\s([a-z]+)/;
|
||||
die "Can't determine column type for $def" unless $type;
|
||||
$type_for{$col} = $type;
|
||||
|
@@ -2789,6 +2789,9 @@ sub parse {
|
||||
my (%type_for, %is_nullable, %is_numeric, %is_autoinc);
|
||||
foreach my $col ( @cols ) {
|
||||
my $def = $def_for{$col};
|
||||
|
||||
$def =~ s/``//g;
|
||||
|
||||
my ( $type ) = $def =~ m/`[^`]+`\s([a-z]+)/;
|
||||
die "Can't determine column type for $def" unless $type;
|
||||
$type_for{$col} = $type;
|
||||
|
@@ -3087,6 +3087,9 @@ sub parse {
|
||||
my (%type_for, %is_nullable, %is_numeric, %is_autoinc);
|
||||
foreach my $col ( @cols ) {
|
||||
my $def = $def_for{$col};
|
||||
|
||||
$def =~ s/``//g;
|
||||
|
||||
my ( $type ) = $def =~ m/`[^`]+`\s([a-z]+)/;
|
||||
die "Can't determine column type for $def" unless $type;
|
||||
$type_for{$col} = $type;
|
||||
|
@@ -2913,6 +2913,9 @@ sub parse {
|
||||
my (%type_for, %is_nullable, %is_numeric, %is_autoinc);
|
||||
foreach my $col ( @cols ) {
|
||||
my $def = $def_for{$col};
|
||||
|
||||
$def =~ s/``//g;
|
||||
|
||||
my ( $type ) = $def =~ m/`[^`]+`\s([a-z]+)/;
|
||||
die "Can't determine column type for $def" unless $type;
|
||||
$type_for{$col} = $type;
|
||||
|
@@ -3176,6 +3176,9 @@ sub parse {
|
||||
my (%type_for, %is_nullable, %is_numeric, %is_autoinc);
|
||||
foreach my $col ( @cols ) {
|
||||
my $def = $def_for{$col};
|
||||
|
||||
$def =~ s/``//g;
|
||||
|
||||
my ( $type ) = $def =~ m/`[^`]+`\s([a-z]+)/;
|
||||
die "Can't determine column type for $def" unless $type;
|
||||
$type_for{$col} = $type;
|
||||
|
@@ -8787,6 +8787,9 @@ sub parse {
|
||||
my (%type_for, %is_nullable, %is_numeric, %is_autoinc);
|
||||
foreach my $col ( @cols ) {
|
||||
my $def = $def_for{$col};
|
||||
|
||||
$def =~ s/``//g;
|
||||
|
||||
my ( $type ) = $def =~ m/`[^`]+`\s([a-z]+)/;
|
||||
die "Can't determine column type for $def" unless $type;
|
||||
$type_for{$col} = $type;
|
||||
|
@@ -4392,6 +4392,9 @@ sub parse {
|
||||
my (%type_for, %is_nullable, %is_numeric, %is_autoinc);
|
||||
foreach my $col ( @cols ) {
|
||||
my $def = $def_for{$col};
|
||||
|
||||
$def =~ s/``//g;
|
||||
|
||||
my ( $type ) = $def =~ m/`[^`]+`\s([a-z]+)/;
|
||||
die "Can't determine column type for $def" unless $type;
|
||||
$type_for{$col} = $type;
|
||||
|
@@ -2832,6 +2832,9 @@ sub parse {
|
||||
my (%type_for, %is_nullable, %is_numeric, %is_autoinc);
|
||||
foreach my $col ( @cols ) {
|
||||
my $def = $def_for{$col};
|
||||
|
||||
$def =~ s/``//g;
|
||||
|
||||
my ( $type ) = $def =~ m/`[^`]+`\s([a-z]+)/;
|
||||
die "Can't determine column type for $def" unless $type;
|
||||
$type_for{$col} = $type;
|
||||
|
@@ -5818,16 +5818,20 @@ $Data::Dumper::Indent = 1;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
$Data::Dumper::Quotekeys = 0;
|
||||
|
||||
local $EVAL_ERROR;
|
||||
eval {
|
||||
require Quoter;
|
||||
};
|
||||
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my @required_args = qw(Quoter);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my $self = { %args };
|
||||
$self->{Quoter} ||= Quoter->new();
|
||||
return bless $self, $class;
|
||||
}
|
||||
|
||||
sub Quoter { shift->{Quoter} }
|
||||
|
||||
sub get_create_table {
|
||||
my ( $self, $dbh, $db, $tbl ) = @_;
|
||||
die "I need a dbh parameter" unless $dbh;
|
||||
@@ -5857,13 +5861,11 @@ sub get_create_table {
|
||||
PTDEBUG && _d($show_sql);
|
||||
my $href;
|
||||
eval { $href = $dbh->selectrow_hashref($show_sql); };
|
||||
if ( $EVAL_ERROR ) {
|
||||
PTDEBUG && _d($EVAL_ERROR);
|
||||
|
||||
if ( my $e = $EVAL_ERROR ) {
|
||||
PTDEBUG && _d($old_sql_mode);
|
||||
$dbh->do($old_sql_mode);
|
||||
|
||||
return;
|
||||
die $e;
|
||||
}
|
||||
|
||||
PTDEBUG && _d($old_sql_mode);
|
||||
@@ -5907,6 +5909,9 @@ sub parse {
|
||||
my (%type_for, %is_nullable, %is_numeric, %is_autoinc);
|
||||
foreach my $col ( @cols ) {
|
||||
my $def = $def_for{$col};
|
||||
|
||||
$def =~ s/``//g;
|
||||
|
||||
my ( $type ) = $def =~ m/`[^`]+`\s([a-z]+)/;
|
||||
die "Can't determine column type for $def" unless $type;
|
||||
$type_for{$col} = $type;
|
||||
@@ -6016,7 +6021,7 @@ sub check_table {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dbh, $db, $tbl) = @args{@required_args};
|
||||
my $q = $self->{Quoter};
|
||||
my $q = $self->{Quoter} || 'Quoter';
|
||||
my $db_tbl = $q->quote($db, $tbl);
|
||||
PTDEBUG && _d('Checking', $db_tbl);
|
||||
|
||||
|
Reference in New Issue
Block a user