mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-04 11:37:16 +00:00
Build percona-toolkit-2.1.8
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
Changelog for Percona Toolkit
|
||||
|
||||
v2.1.8 released 2012-12-21
|
||||
|
||||
* Fixed bug 1086259: pt-kill --log-dsn timestamp is wrong
|
||||
* Fixed bug 1082104: pt-deadlock-logger problem when the user have a dash in the name
|
||||
* Fixed bug 1079341: pt-online-schema-change checks for foreign keys on myisam tables.
|
||||
|
@@ -2,7 +2,7 @@ use ExtUtils::MakeMaker;
|
||||
|
||||
WriteMakefile(
|
||||
NAME => 'percona-toolkit',
|
||||
VERSION => '2.1.7',
|
||||
VERSION => '2.1.8',
|
||||
EXE_FILES => [ <bin/*> ],
|
||||
MAN1PODS => {
|
||||
'docs/percona-toolkit.pod' => 'blib/man1/percona-toolkit.1p',
|
||||
|
@@ -218,6 +218,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-align 2.1.7
|
||||
pt-align 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -39,7 +39,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -7574,6 +7574,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-archiver 2.1.7
|
||||
pt-archiver 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -38,7 +38,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -4872,6 +4872,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-config-diff 2.1.7
|
||||
pt-config-diff 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -36,7 +36,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -4785,6 +4785,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-deadlock-logger 2.1.7
|
||||
pt-deadlock-logger 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -38,7 +38,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -1240,6 +1240,9 @@ sub parse_timestamp {
|
||||
. (defined $f ? '%09.6f' : '%02d'),
|
||||
$y + 2000, $m, $d, $h, $i, (defined $f ? $s + $f : $s);
|
||||
}
|
||||
elsif ( $val =~ m/^$proper_ts$/ ) {
|
||||
return $val;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
@@ -5567,6 +5570,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-diskstats 2.1.7
|
||||
pt-diskstats 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -39,7 +39,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -5435,6 +5435,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-duplicate-key-checker 2.1.7
|
||||
pt-duplicate-key-checker 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -1568,6 +1568,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-fifo-split 2.1.7
|
||||
pt-fifo-split 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -35,7 +35,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -4898,6 +4898,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-find 2.1.7
|
||||
pt-find 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -2148,6 +2148,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-fingerprint 2.1.7
|
||||
pt-fingerprint 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -35,7 +35,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -4030,6 +4030,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-fk-error-logger 2.1.7
|
||||
pt-fk-error-logger 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -38,7 +38,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -3168,6 +3168,9 @@ sub parse_timestamp {
|
||||
. (defined $f ? '%09.6f' : '%02d'),
|
||||
$y + 2000, $m, $d, $h, $i, (defined $f ? $s + $f : $s);
|
||||
}
|
||||
elsif ( $val =~ m/^$proper_ts$/ ) {
|
||||
return $val;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
@@ -6045,6 +6048,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-heartbeat 2.1.7
|
||||
pt-heartbeat 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -45,7 +45,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -2713,8 +2713,18 @@ sub parse_event {
|
||||
|
||||
if ( !$found_arg && $pos == $len ) {
|
||||
PTDEBUG && _d("Did not find arg, looking for special cases");
|
||||
local $INPUT_RECORD_SEPARATOR = ";\n";
|
||||
local $INPUT_RECORD_SEPARATOR = ";\n"; # get next line
|
||||
if ( defined(my $l = $next_event->()) ) {
|
||||
if ( $l =~ /^\s*[A-Z][a-z_]+: / ) {
|
||||
PTDEBUG && _d("Found NULL query before", $l);
|
||||
local $INPUT_RECORD_SEPARATOR = ";\n#";
|
||||
my $rest_of_event = $next_event->();
|
||||
push @{$self->{pending}}, $l . $rest_of_event;
|
||||
push @properties, 'cmd', 'Query', 'arg', '/* No query */';
|
||||
push @properties, 'bytes', 0;
|
||||
$found_arg++;
|
||||
}
|
||||
else {
|
||||
chomp $l;
|
||||
$l =~ s/^\s+//;
|
||||
PTDEBUG && _d("Found admin statement", $l);
|
||||
@@ -2722,6 +2732,7 @@ sub parse_event {
|
||||
push @properties, 'bytes', length($properties[-1]);
|
||||
$found_arg++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
PTDEBUG && _d("I can't figure out what to do with this line");
|
||||
next EVENT;
|
||||
@@ -3349,6 +3360,9 @@ sub parse_timestamp {
|
||||
. (defined $f ? '%09.6f' : '%02d'),
|
||||
$y + 2000, $m, $d, $h, $i, (defined $f ? $s + $f : $s);
|
||||
}
|
||||
elsif ( $val =~ m/^$proper_ts$/ ) {
|
||||
return $val;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
@@ -7469,6 +7483,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-index-usage 2.1.7
|
||||
pt-index-usage 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -69,7 +69,7 @@ PO_DIR="" # Directory with program option spec files
|
||||
usage() {
|
||||
local file="$1"
|
||||
|
||||
local usage=$(grep '^Usage: ' "$file")
|
||||
local usage="$(grep '^Usage: ' "$file")"
|
||||
echo $usage
|
||||
echo
|
||||
echo "For more information, 'man $TOOL' or 'perldoc $file'."
|
||||
@@ -1103,7 +1103,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-ioprofile 2.1.7
|
||||
pt-ioprofile 2.1.8
|
||||
|
||||
=cut
|
||||
|
||||
|
@@ -43,7 +43,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -2275,6 +2275,9 @@ sub parse_timestamp {
|
||||
. (defined $f ? '%09.6f' : '%02d'),
|
||||
$y + 2000, $m, $d, $h, $i, (defined $f ? $s + $f : $s);
|
||||
}
|
||||
elsif ( $val =~ m/^$proper_ts$/ ) {
|
||||
return $val;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
@@ -7786,6 +7789,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-kill 2.1.7
|
||||
pt-kill 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -1193,8 +1193,18 @@ sub parse_event {
|
||||
|
||||
if ( !$found_arg && $pos == $len ) {
|
||||
PTDEBUG && _d("Did not find arg, looking for special cases");
|
||||
local $INPUT_RECORD_SEPARATOR = ";\n";
|
||||
local $INPUT_RECORD_SEPARATOR = ";\n"; # get next line
|
||||
if ( defined(my $l = $next_event->()) ) {
|
||||
if ( $l =~ /^\s*[A-Z][a-z_]+: / ) {
|
||||
PTDEBUG && _d("Found NULL query before", $l);
|
||||
local $INPUT_RECORD_SEPARATOR = ";\n#";
|
||||
my $rest_of_event = $next_event->();
|
||||
push @{$self->{pending}}, $l . $rest_of_event;
|
||||
push @properties, 'cmd', 'Query', 'arg', '/* No query */';
|
||||
push @properties, 'bytes', 0;
|
||||
$found_arg++;
|
||||
}
|
||||
else {
|
||||
chomp $l;
|
||||
$l =~ s/^\s+//;
|
||||
PTDEBUG && _d("Found admin statement", $l);
|
||||
@@ -1202,6 +1212,7 @@ sub parse_event {
|
||||
push @properties, 'bytes', length($properties[-1]);
|
||||
$found_arg++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
PTDEBUG && _d("I can't figure out what to do with this line");
|
||||
next EVENT;
|
||||
@@ -1559,7 +1570,8 @@ sub parse_event {
|
||||
$cmd = $arg;
|
||||
}
|
||||
else {
|
||||
my ($user, undef, $db) = $arg =~ /(\S+)/g;
|
||||
my ($user) = $arg =~ m/(\S+)/;
|
||||
my ($db) = $arg =~ m/on (\S+)/;
|
||||
my $host;
|
||||
($user, $host) = split(/@/, $user);
|
||||
PTDEBUG && _d('Connect', $user, '@', $host, 'on', $db);
|
||||
@@ -3662,6 +3674,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-log-player 2.1.7
|
||||
pt-log-player 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -282,7 +282,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-mext 2.1.7
|
||||
pt-mext 2.1.8
|
||||
|
||||
=cut
|
||||
|
||||
|
@@ -3002,7 +3002,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-mysql-summary 2.1.7
|
||||
pt-mysql-summary 2.1.8
|
||||
|
||||
=cut
|
||||
|
||||
|
@@ -51,7 +51,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -5835,6 +5835,9 @@ sub parse_timestamp {
|
||||
. (defined $f ? '%09.6f' : '%02d'),
|
||||
$y + 2000, $m, $d, $h, $i, (defined $f ? $s + $f : $s);
|
||||
}
|
||||
elsif ( $val =~ m/^$proper_ts$/ ) {
|
||||
return $val;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
@@ -10849,6 +10852,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-online-schema-change 2.1.7
|
||||
pt-online-schema-change 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -396,7 +396,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-pmp 2.1.7
|
||||
pt-pmp 2.1.8
|
||||
|
||||
=cut
|
||||
|
||||
|
@@ -46,7 +46,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -1727,8 +1727,18 @@ sub parse_event {
|
||||
|
||||
if ( !$found_arg && $pos == $len ) {
|
||||
PTDEBUG && _d("Did not find arg, looking for special cases");
|
||||
local $INPUT_RECORD_SEPARATOR = ";\n";
|
||||
local $INPUT_RECORD_SEPARATOR = ";\n"; # get next line
|
||||
if ( defined(my $l = $next_event->()) ) {
|
||||
if ( $l =~ /^\s*[A-Z][a-z_]+: / ) {
|
||||
PTDEBUG && _d("Found NULL query before", $l);
|
||||
local $INPUT_RECORD_SEPARATOR = ";\n#";
|
||||
my $rest_of_event = $next_event->();
|
||||
push @{$self->{pending}}, $l . $rest_of_event;
|
||||
push @properties, 'cmd', 'Query', 'arg', '/* No query */';
|
||||
push @properties, 'bytes', 0;
|
||||
$found_arg++;
|
||||
}
|
||||
else {
|
||||
chomp $l;
|
||||
$l =~ s/^\s+//;
|
||||
PTDEBUG && _d("Found admin statement", $l);
|
||||
@@ -1736,6 +1746,7 @@ sub parse_event {
|
||||
push @properties, 'bytes', length($properties[-1]);
|
||||
$found_arg++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
PTDEBUG && _d("I can't figure out what to do with this line");
|
||||
next EVENT;
|
||||
@@ -1890,7 +1901,8 @@ sub parse_event {
|
||||
$cmd = $arg;
|
||||
}
|
||||
else {
|
||||
my ($user, undef, $db) = $arg =~ /(\S+)/g;
|
||||
my ($user) = $arg =~ m/(\S+)/;
|
||||
my ($db) = $arg =~ m/on (\S+)/;
|
||||
my $host;
|
||||
($user, $host) = split(/@/, $user);
|
||||
PTDEBUG && _d('Connect', $user, '@', $host, 'on', $db);
|
||||
@@ -2907,6 +2919,9 @@ sub parse_timestamp {
|
||||
. (defined $f ? '%09.6f' : '%02d'),
|
||||
$y + 2000, $m, $d, $h, $i, (defined $f ? $s + $f : $s);
|
||||
}
|
||||
elsif ( $val =~ m/^$proper_ts$/ ) {
|
||||
return $val;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
@@ -8713,6 +8728,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-query-advisor 2.1.7
|
||||
pt-query-advisor 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -64,7 +64,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -1769,6 +1769,9 @@ sub parse_timestamp {
|
||||
. (defined $f ? '%09.6f' : '%02d'),
|
||||
$y + 2000, $m, $d, $h, $i, (defined $f ? $s + $f : $s);
|
||||
}
|
||||
elsif ( $val =~ m/^$proper_ts$/ ) {
|
||||
return $val;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
@@ -17424,6 +17427,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-query-digest 2.1.7
|
||||
pt-query-digest 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -2304,6 +2304,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-show-grants 2.1.7
|
||||
pt-show-grants 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -781,7 +781,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-sift 2.1.7
|
||||
pt-sift 2.1.8
|
||||
|
||||
=cut
|
||||
|
||||
|
@@ -36,7 +36,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -2268,6 +2268,9 @@ sub parse_timestamp {
|
||||
. (defined $f ? '%09.6f' : '%02d'),
|
||||
$y + 2000, $m, $d, $h, $i, (defined $f ? $s + $f : $s);
|
||||
}
|
||||
elsif ( $val =~ m/^$proper_ts$/ ) {
|
||||
return $val;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
@@ -4598,6 +4601,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-slave-delay 2.1.7
|
||||
pt-slave-delay 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -3175,6 +3175,9 @@ sub parse_timestamp {
|
||||
. (defined $f ? '%09.6f' : '%02d'),
|
||||
$y + 2000, $m, $d, $h, $i, (defined $f ? $s + $f : $s);
|
||||
}
|
||||
elsif ( $val =~ m/^$proper_ts$/ ) {
|
||||
return $val;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
@@ -4022,6 +4025,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-slave-find 2.1.7
|
||||
pt-slave-find 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -37,7 +37,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -5519,6 +5519,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-slave-restart 2.1.7
|
||||
pt-slave-restart 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -71,7 +71,7 @@ PO_DIR="" # Directory with program option spec files
|
||||
usage() {
|
||||
local file="$1"
|
||||
|
||||
local usage=$(grep '^Usage: ' "$file")
|
||||
local usage="$(grep '^Usage: ' "$file")"
|
||||
echo $usage
|
||||
echo
|
||||
echo "For more information, 'man $TOOL' or 'perldoc $file'."
|
||||
@@ -1984,7 +1984,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-stalk 2.1.7
|
||||
pt-stalk 2.1.8
|
||||
|
||||
=cut
|
||||
|
||||
|
@@ -78,7 +78,7 @@ PO_DIR="" # Directory with program option spec files
|
||||
usage() {
|
||||
local file="$1"
|
||||
|
||||
local usage=$(grep '^Usage: ' "$file")
|
||||
local usage="$(grep '^Usage: ' "$file")"
|
||||
echo $usage
|
||||
echo
|
||||
echo "For more information, 'man $TOOL' or 'perldoc $file'."
|
||||
@@ -2673,7 +2673,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-summary 2.1.7
|
||||
pt-summary 2.1.8
|
||||
|
||||
=cut
|
||||
|
||||
|
@@ -53,7 +53,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -7360,6 +7360,9 @@ sub parse_timestamp {
|
||||
. (defined $f ? '%09.6f' : '%02d'),
|
||||
$y + 2000, $m, $d, $h, $i, (defined $f ? $s + $f : $s);
|
||||
}
|
||||
elsif ( $val =~ m/^$proper_ts$/ ) {
|
||||
return $val;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
@@ -11954,6 +11957,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-table-checksum 2.1.7
|
||||
pt-table-checksum 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -52,7 +52,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -8036,6 +8036,9 @@ sub parse_timestamp {
|
||||
. (defined $f ? '%09.6f' : '%02d'),
|
||||
$y + 2000, $m, $d, $h, $i, (defined $f ? $s + $f : $s);
|
||||
}
|
||||
elsif ( $val =~ m/^$proper_ts$/ ) {
|
||||
return $val;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
@@ -12633,6 +12636,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-table-sync 2.1.7
|
||||
pt-table-sync 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -7384,6 +7384,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-table-usage 2.1.7
|
||||
pt-table-usage 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -1216,6 +1216,9 @@ sub parse_timestamp {
|
||||
. (defined $f ? '%09.6f' : '%02d'),
|
||||
$y + 2000, $m, $d, $h, $i, (defined $f ? $s + $f : $s);
|
||||
}
|
||||
elsif ( $val =~ m/^$proper_ts$/ ) {
|
||||
return $val;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
@@ -2529,6 +2532,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-tcp-model 2.1.7
|
||||
pt-tcp-model 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -1736,6 +1736,9 @@ sub parse_timestamp {
|
||||
. (defined $f ? '%09.6f' : '%02d'),
|
||||
$y + 2000, $m, $d, $h, $i, (defined $f ? $s + $f : $s);
|
||||
}
|
||||
elsif ( $val =~ m/^$proper_ts$/ ) {
|
||||
return $val;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
@@ -2230,6 +2233,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-trend 2.1.7
|
||||
pt-trend 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -58,7 +58,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -2174,6 +2174,9 @@ sub parse_timestamp {
|
||||
. (defined $f ? '%09.6f' : '%02d'),
|
||||
$y + 2000, $m, $d, $h, $i, (defined $f ? $s + $f : $s);
|
||||
}
|
||||
elsif ( $val =~ m/^$proper_ts$/ ) {
|
||||
return $val;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
@@ -2498,8 +2501,18 @@ sub parse_event {
|
||||
|
||||
if ( !$found_arg && $pos == $len ) {
|
||||
PTDEBUG && _d("Did not find arg, looking for special cases");
|
||||
local $INPUT_RECORD_SEPARATOR = ";\n";
|
||||
local $INPUT_RECORD_SEPARATOR = ";\n"; # get next line
|
||||
if ( defined(my $l = $next_event->()) ) {
|
||||
if ( $l =~ /^\s*[A-Z][a-z_]+: / ) {
|
||||
PTDEBUG && _d("Found NULL query before", $l);
|
||||
local $INPUT_RECORD_SEPARATOR = ";\n#";
|
||||
my $rest_of_event = $next_event->();
|
||||
push @{$self->{pending}}, $l . $rest_of_event;
|
||||
push @properties, 'cmd', 'Query', 'arg', '/* No query */';
|
||||
push @properties, 'bytes', 0;
|
||||
$found_arg++;
|
||||
}
|
||||
else {
|
||||
chomp $l;
|
||||
$l =~ s/^\s+//;
|
||||
PTDEBUG && _d("Found admin statement", $l);
|
||||
@@ -2507,6 +2520,7 @@ sub parse_event {
|
||||
push @properties, 'bytes', length($properties[-1]);
|
||||
$found_arg++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
PTDEBUG && _d("I can't figure out what to do with this line");
|
||||
next EVENT;
|
||||
@@ -13158,6 +13172,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-upgrade 2.1.7
|
||||
pt-upgrade 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -40,7 +40,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.7';
|
||||
our $VERSION = '2.1.8';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -5870,6 +5870,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-variable-advisor 2.1.7
|
||||
pt-variable-advisor 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -3143,6 +3143,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-visual-explain 2.1.7
|
||||
pt-visual-explain 2.1.8
|
||||
|
||||
=cut
|
||||
|
@@ -1,3 +1,36 @@
|
||||
percona-toolkit (2.1.8) unstable; urgency=low
|
||||
|
||||
* Fixed bug 1086259: pt-kill --log-dsn timestamp is wrong
|
||||
* Fixed bug 1082104: pt-deadlock-logger problem when the user have a dash in the name
|
||||
* Fixed bug 1079341: pt-online-schema-change checks for foreign keys on myisam tables.
|
||||
* Fixed bug 1078887: Don't clobber the sql_mode set by the script with set-vars
|
||||
* Fixed bug 1078838: pt-query-digest doesn't parse general log with "Connect user as user"
|
||||
* Fixed bug 1075638: Illegal division by zero at pt-table-checksum line 7950
|
||||
* Fixed bug 1074179: pt-table-checksum does't ignore tables for --replicate-check-only
|
||||
* Fixed bug 1052475: pt-table-checksum uninitialized value in numeric lt (<) at line 8611.
|
||||
* Fixed bug 911385: pt-table-checksum v2 fails when --resume + --ignore-database is used
|
||||
* Fixed bug 1046440: pt-stalk purge_samples slows down checks
|
||||
* Fixed bug 1041391: Debug statement for Chosen hash func prints undef
|
||||
* Fixed bug 1007938: MySQLConfig doesn't support end-of-line comments
|
||||
* Fixed bug 1022622: pt-config-diff is case-sensitive
|
||||
* Fixed bug 917770: Use of uninitialized value in substitution (s///) at pt-config-diff line 1996
|
||||
* Fixed bug 1015590: pt-mysql-summary not Percona Server 5.5-ready
|
||||
* Fixed bug 996069: Incorrect RES.001
|
||||
* Fixed bug 986847: pt-stalk does not report NFS iostat
|
||||
* Fixed bug 887638: pt-query-digest prints negative byte offset
|
||||
* Fixed bug 831525: pt-query-digest help output mangled
|
||||
* Fixed bug 957442: pt-query-digest with custom --group-by throws error
|
||||
* Fixed bug 1082599: pt-query-digest fails to parse timestamp with no query
|
||||
* Fixed bug 823431: pt-query-advisor hangs on big queries
|
||||
* Fixed bug 937234: pt-query-advisor issues wrong RES.001
|
||||
* Fixed bug 933465: pt-query-advisor false positive on RES.001
|
||||
* Fixed bug 932614: pt-slave-restart CHANGE MASTER query causes error
|
||||
* Fixed bug 927955: bad pod2rst transformation
|
||||
* Fixed bug 898665: Online docs formatting --[no]vars incorrectly
|
||||
* Fixed bug 886059: pt-heartbeat handles timezones inconsistently
|
||||
|
||||
-- Percona Toolkit Developers <toolkit-dev@percona.com> Fri, 21 Dec 2012 17:31:09 +0000
|
||||
|
||||
percona-toolkit (2.1.7) unstable; urgency=low
|
||||
|
||||
* Fixed bug 1080384: pt-table-checksum 2.1.6 crashes using PTDEBUG
|
||||
|
@@ -50,7 +50,7 @@ copyright = u'2011, Percona Inc'
|
||||
# The short X.Y version.
|
||||
version = '2.1'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '2.1.7'
|
||||
release = '2.1.8'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
@@ -510,6 +510,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
Percona Toolkit v2.1.7 released 2012-11-19
|
||||
Percona Toolkit v2.1.8 released 2012-12-21
|
||||
|
||||
=cut
|
||||
|
@@ -1,6 +1,87 @@
|
||||
Release Notes
|
||||
*************
|
||||
|
||||
v2.1.8 released 2012-12-21
|
||||
==========================
|
||||
|
||||
Percona Toolkit 2.1.8 has been released. This release includes 28 bug fixes, beta support for MySQL 5.6, and extensive support for Percona XtraDB Cluster (PXC); Users intending on running the tools on Percona XtraDB Cluster or MySQL 5.6 should strongly consider upgrading. The following tools have been verified to work on PXC versions 5.5.28 and newer:
|
||||
|
||||
* pt-table-chcecksum
|
||||
|
||||
* pt-online-schema-change
|
||||
|
||||
* pt-archive
|
||||
|
||||
* pt-mysql-summary
|
||||
|
||||
* pt-heartbeat
|
||||
|
||||
* pt-variable-advisor
|
||||
|
||||
* pt-config-diff
|
||||
|
||||
* pt-deadlock-logger
|
||||
|
||||
Although there are some limitations: See the Percona XtraDB Cluster section in each tool's documentation for further details. All other tools, with the exception of pt-slave-find, pt-slave-delay and pt-slave-restart, should also work correctly, but in some cases they have not been modified to take advantage of PXC features, so they may behave differently in future releases.
|
||||
|
||||
The bug fixes are widely assorted. The following highlights some of the more interesting and "hot" bugs:
|
||||
|
||||
* Fixed bug 1082599: pt-query-digest fails to parse timestamp with no query
|
||||
|
||||
Logs which include timestamps with no query -- which can occasionally happen, for example, if using the slow_query_log_timestamp_always in Percona Server -- were misparsed, resulting in an erroneous report.
|
||||
|
||||
* Fixed bug 1078838: pt-query-digest doesn't parse general log with "Connect user as user"
|
||||
|
||||
The "as" was misparsed and the following word would end up reported as the database; pt-query-digest now handles this correctly.
|
||||
|
||||
* Fixed bug 1015590: pt-mysql-summary not Percona Server 5.5-ready
|
||||
|
||||
Some renamed variables had caused the Percona Server section to work unreliably.
|
||||
|
||||
* Fixed bug 917770: Use of uninitialized value in substitution (s///) at pt-config-diff line 1996
|
||||
|
||||
This was the hottest bug affecting a tool in the tracker.
|
||||
|
||||
* Fixed bug 886059: pt-heartbeat handles timezones inconsistently
|
||||
|
||||
Another 'hot' bug: Previously pt-heartbeat occasionally respected MySQL timezones, but sometimes it ignored them and used the system time instead. This generally wouldn't be troublesome, but resulted in erroneous reports for servers with slaves running in different timezones.
|
||||
|
||||
2.1.8 continues the trend of solid bug fix releases, and all 2.1 users are encouraged to upgrade.
|
||||
|
||||
Percona Toolkit packages can be downloaded from http://www.percona.com/downloads/percona-toolkit/ or the Percona Software Repositories (http://www.percona.com/software/repositories/).
|
||||
|
||||
Changelog
|
||||
---------
|
||||
|
||||
* Fixed bug 1086259: pt-kill --log-dsn timestamp is wrong
|
||||
* Fixed bug 1082104: pt-deadlock-logger problem when the user have a dash in the name
|
||||
* Fixed bug 1079341: pt-online-schema-change checks for foreign keys on myisam tables.
|
||||
* Fixed bug 1078887: Don't clobber the sql_mode set by the script with set-vars
|
||||
* Fixed bug 1078838: pt-query-digest doesn't parse general log with "Connect user as user"
|
||||
* Fixed bug 1075638: Illegal division by zero at pt-table-checksum line 7950
|
||||
* Fixed bug 1074179: pt-table-checksum does't ignore tables for --replicate-check-only
|
||||
* Fixed bug 1052475: pt-table-checksum uninitialized value in numeric lt (<) at line 8611.
|
||||
* Fixed bug 911385: pt-table-checksum v2 fails when --resume + --ignore-database is used
|
||||
* Fixed bug 1046440: pt-stalk purge_samples slows down checks
|
||||
* Fixed bug 1041391: Debug statement for Chosen hash func prints undef
|
||||
* Fixed bug 1007938: MySQLConfig doesn't support end-of-line comments
|
||||
* Fixed bug 1022622: pt-config-diff is case-sensitive
|
||||
* Fixed bug 917770: Use of uninitialized value in substitution (s///) at pt-config-diff line 1996
|
||||
* Fixed bug 1015590: pt-mysql-summary not Percona Server 5.5-ready
|
||||
* Fixed bug 996069: Incorrect RES.001
|
||||
* Fixed bug 986847: pt-stalk does not report NFS iostat
|
||||
* Fixed bug 887638: pt-query-digest prints negative byte offset
|
||||
* Fixed bug 831525: pt-query-digest help output mangled
|
||||
* Fixed bug 957442: pt-query-digest with custom --group-by throws error
|
||||
* Fixed bug 1082599: pt-query-digest fails to parse timestamp with no query
|
||||
* Fixed bug 823431: pt-query-advisor hangs on big queries
|
||||
* Fixed bug 937234: pt-query-advisor issues wrong RES.001
|
||||
* Fixed bug 933465: pt-query-advisor false positive on RES.001
|
||||
* Fixed bug 932614: pt-slave-restart CHANGE MASTER query causes error
|
||||
* Fixed bug 927955: bad pod2rst transformation
|
||||
* Fixed bug 898665: Online docs formatting --[no]vars incorrectly
|
||||
* Fixed bug 886059: pt-heartbeat handles timezones inconsistently
|
||||
|
||||
v2.1.7 released 2012-11-19
|
||||
==========================
|
||||
|
||||
|
Reference in New Issue
Block a user