Handle MySQL 5.5 named values for concurrent_insert.

This commit is contained in:
Daniel Nichter
2012-05-24 14:52:11 -06:00
parent 55d0dedce2
commit 4b6fe95c6c
3 changed files with 24 additions and 1 deletions

View File

@@ -2259,6 +2259,10 @@ sub get_rules {
id => 'concurrent_insert', id => 'concurrent_insert',
code => sub { code => sub {
my ( %args ) = @_; my ( %args ) = @_;
if ( $args{variables}->{concurrent_insert}
&& $args{variables}->{concurrent_insert} =~ m/[^\d]/ ) {
return $args{variables}->{concurrent_insert} eq 'ALWAYS' ? 1 : 0;
}
return _var_gt($args{variables}->{concurrent_insert}, 1); return _var_gt($args{variables}->{concurrent_insert}, 1);
}, },
}, },

View File

@@ -56,6 +56,13 @@ sub get_rules {
id => 'concurrent_insert', id => 'concurrent_insert',
code => sub { code => sub {
my ( %args ) = @_; my ( %args ) = @_;
# MySQL 5.5 has named values.
# http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html
# https://bugs.launchpad.net/percona-toolkit/+bug/898138
if ( $args{variables}->{concurrent_insert}
&& $args{variables}->{concurrent_insert} =~ m/[^\d]/ ) {
return $args{variables}->{concurrent_insert} eq 'ALWAYS' ? 1 : 0;
}
return _var_gt($args{variables}->{concurrent_insert}, 1); return _var_gt($args{variables}->{concurrent_insert}, 1);
}, },
}, },

View File

@@ -9,7 +9,7 @@ BEGIN {
use strict; use strict;
use warnings FATAL => 'all'; use warnings FATAL => 'all';
use English qw(-no_match_vars); use English qw(-no_match_vars);
use Test::More tests => 80; use Test::More tests => 83;
use PodParser; use PodParser;
use AdvisorRules; use AdvisorRules;
@@ -64,6 +64,18 @@ my @cases = (
vars => [qw(concurrent_insert 2)], vars => [qw(concurrent_insert 2)],
advice => [qw(concurrent_insert)], advice => [qw(concurrent_insert)],
}, },
{ name => "concurrent insert",
vars => [qw(concurrent_insert NEVER)],
advice => [qw()],
},
{ name => "concurrent insert",
vars => [qw(concurrent_insert AUTO)],
advice => [qw()],
},
{ name => "concurrent insert",
vars => [qw(concurrent_insert ALWAYS)],
advice => [qw(concurrent_insert)],
},
{ name => "connect timeout", { name => "connect timeout",
vars => [qw(connect_timeout 11)], vars => [qw(connect_timeout 11)],
advice => [qw(connect_timeout)], advice => [qw(connect_timeout)],