mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-24 21:35:00 +00:00
Test pt-upgrade host-to-host. Implement diff_query_times(). Export $test_diff from PerconaTest instead of doing diag() in no_diff().
This commit is contained in:
@@ -4,201 +4,95 @@ 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";
|
||||
$ENV{PERCONA_TOOLKIT_TEST_USE_DSN_NAMES} = 1;
|
||||
};
|
||||
|
||||
use strict;
|
||||
use warnings FATAL => 'all';
|
||||
use English qw(-no_match_vars);
|
||||
use Test::More;
|
||||
use File::Basename;
|
||||
|
||||
use PerconaTest;
|
||||
use Sandbox;
|
||||
require "$trunk/bin/pt-upgrade";
|
||||
|
||||
# This runs immediately if the server is already running, else it starts it.
|
||||
diag(`$trunk/sandbox/start-sandbox master 12348 >/dev/null`);
|
||||
# diag(`$trunk/sandbox/start-sandbox master 12348 >/dev/null`);
|
||||
|
||||
my $dp = new DSNParser(opts=>$dsn_opts);
|
||||
my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp);
|
||||
my $dbh1 = $sb->get_dbh_for('master');
|
||||
my $dbh2 = $sb->get_dbh_for('master1');
|
||||
my $dbh1 = $sb->get_dbh_for('host1');
|
||||
my $dbh2 = $sb->get_dbh_for('host2');
|
||||
|
||||
if ( !$dbh1 ) {
|
||||
plan skip_all => 'Cannot connect to sandbox master';
|
||||
plan skip_all => 'Cannot connect to sandbox host1';
|
||||
}
|
||||
elsif ( !$dbh2 ) {
|
||||
plan skip_all => 'Cannot connect to second sandbox master';
|
||||
plan skip_all => 'Cannot connect to sandbox host2';
|
||||
}
|
||||
|
||||
my @host_args = ('h=127.1,P=12345,L=1', 'P=12348');
|
||||
my @op_args = (qw(-u msandbox -p msandbox),
|
||||
'--compare', 'results,warnings',
|
||||
'--zero-query-times',
|
||||
);
|
||||
my @args = (@host_args, @op_args);
|
||||
my $sample = "t/pt-upgrade/samples";
|
||||
my $log = "$trunk/$sample";
|
||||
my $host1_dsn = $sb->dsn_for('host1');
|
||||
my $host2_dsn = $sb->dsn_for('host2');
|
||||
|
||||
# ###########################################################################
|
||||
# Basic run.
|
||||
# ###########################################################################
|
||||
$sb->load_file('master', "$sample/001/tables.sql");
|
||||
$sb->load_file('master1', "$sample/001/tables.sql");
|
||||
my $sample = "t/pt-upgrade/samples";
|
||||
my $samples_dir = "$trunk/t/pt-upgrade/samples";
|
||||
|
||||
ok(
|
||||
no_diff(
|
||||
sub { pt_upgrade::main(@args, "$log/001/select-one.log") },
|
||||
"$sample/001/select-one.txt",
|
||||
),
|
||||
'Report for a single query (checksum method)'
|
||||
);
|
||||
opendir(my $dh, $samples_dir) or die "Cannot open $samples_dir: $OS_ERROR";
|
||||
|
||||
ok(
|
||||
no_diff(
|
||||
sub { pt_upgrade::main(@args, "$log/001/select-everyone.log") },
|
||||
"$sample/001/select-everyone.txt"
|
||||
),
|
||||
'Report for multiple queries (checksum method)'
|
||||
);
|
||||
while ( my $sampleno = readdir $dh ) {
|
||||
next unless $sampleno =~ m/^\d+$/;
|
||||
if ( -f "$samples_dir/$sampleno/tables.sql" ) {
|
||||
$sb->load_file('host1', "$sample/$sampleno/tables.sql", undef, no_wait => 1);
|
||||
$sb->load_file('host2', "$sample/$sampleno/tables.sql", undef, no_wait => 1);
|
||||
}
|
||||
if ( -f "$samples_dir/$sampleno/host1.sql" ) {
|
||||
$sb->load_file('host1', "$sample/$sampleno/host1.sql", undef, no_wait => 1);
|
||||
}
|
||||
if ( -f "$samples_dir/$sampleno/host2.sql" ) {
|
||||
$sb->load_file('host2', "$sample/$sampleno/host2.sql", undef, no_wait => 1);
|
||||
}
|
||||
|
||||
ok(
|
||||
no_diff(
|
||||
sub { pt_upgrade::main(@args, "$trunk/$sample/001/select-one.log",
|
||||
"--compare-results-method", "rows") },
|
||||
"$sample/001/select-one-rows.txt"
|
||||
),
|
||||
'Report for a single query (rows method)'
|
||||
);
|
||||
my $conf = "$samples_dir/$sampleno/conf";
|
||||
|
||||
ok(
|
||||
no_diff(
|
||||
sub { pt_upgrade::main(@args, "$trunk/$sample/001/select-everyone.log",
|
||||
"--compare-results-method", "rows") },
|
||||
"$sample/001/select-everyone-rows.txt"
|
||||
),
|
||||
'Report for multiple queries (rows method)'
|
||||
);
|
||||
foreach my $log ( glob("$samples_dir/$sampleno/*.log") ) {
|
||||
(my $basename = basename($log)) =~ s/\.\S+$//;
|
||||
my $sed;
|
||||
if ( -f "$samples_dir/$sampleno/$basename.sed" ) {
|
||||
chomp($sed = `cat $samples_dir/$sampleno/$basename.sed`);
|
||||
}
|
||||
|
||||
ok(
|
||||
no_diff(
|
||||
sub { pt_upgrade::main(@args, "$trunk/$sample/001/select-everyone.log",
|
||||
"--reports", "queries,differences,errors") },
|
||||
"$sample/001/select-everyone-no-stats.txt"
|
||||
),
|
||||
'Report without statistics'
|
||||
);
|
||||
my $output = output(
|
||||
sub { pt_upgrade::main(
|
||||
(-f $conf ? ('--config', $conf) : ()),
|
||||
$log,
|
||||
$host1_dsn,
|
||||
$host2_dsn,
|
||||
) },
|
||||
stderr => 1,
|
||||
);
|
||||
|
||||
ok(
|
||||
no_diff(
|
||||
sub { pt_upgrade::main(@args, "$trunk/$sample/001/select-everyone.log",
|
||||
"--reports", "differences,errors,statistics") },
|
||||
"$sample/001/select-everyone-no-queries.txt"
|
||||
),
|
||||
'Report without per-query reports'
|
||||
);
|
||||
if ( -f "$samples_dir/$sampleno/$basename.txt" ) {
|
||||
ok(
|
||||
no_diff(
|
||||
$output,
|
||||
"$sample/$sampleno/$basename.txt",
|
||||
cmd_output => 1,
|
||||
($sed ? (sed => [ $sed ]) : ()),
|
||||
),
|
||||
"$sampleno: $basename.txt"
|
||||
) or diag("diff:\n", $test_diff, "\noutput:\n", $output);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$sb->wipe_clean($dbh1);
|
||||
$sb->wipe_clean($dbh2);
|
||||
|
||||
# #############################################################################
|
||||
# Issue 951: mk-upgrade "I need a db argument" error with
|
||||
# compare-results-method=rows
|
||||
# #############################################################################
|
||||
$sb->load_file('master', "$sample/002/tables.sql");
|
||||
$sb->load_file('master1', "$sample/002/tables.sql");
|
||||
|
||||
# Make a difference on one host so diff_rows() is called.
|
||||
$dbh1->do('insert into test.t values (5)');
|
||||
|
||||
ok(
|
||||
no_diff(
|
||||
sub { pt_upgrade::main(@op_args, "$log/002/no-db.log",
|
||||
'h=127.1,P=12345,D=test,L=1', 'P=12348,D=test',
|
||||
qw(--compare-results-method rows --temp-database test)) },
|
||||
"$sample/002/report-01.txt",
|
||||
),
|
||||
'No db, compare results row, DSN D, --temp-database (issue 951)'
|
||||
);
|
||||
|
||||
$sb->load_file('master', "$sample/002/tables.sql");
|
||||
$sb->load_file('master1', "$sample/002/tables.sql");
|
||||
$dbh1->do('insert into test.t values (5)');
|
||||
|
||||
ok(
|
||||
no_diff(
|
||||
sub { pt_upgrade::main(@op_args, "$log/002/no-db.log",
|
||||
'h=127.1,P=12345,D=test,L=1', 'P=12348,D=test',
|
||||
qw(--compare-results-method rows --temp-database tmp_db)) },
|
||||
"$sample/002/report-01.txt",
|
||||
),
|
||||
'No db, compare results row, DSN D'
|
||||
);
|
||||
|
||||
is_deeply(
|
||||
$dbh1->selectall_arrayref('show tables from `test`'),
|
||||
[['t']],
|
||||
"Didn't create temp table in event's db"
|
||||
);
|
||||
|
||||
is_deeply(
|
||||
$dbh1->selectall_arrayref('show tables from `tmp_db`'),
|
||||
[['mk_upgrade_left']],
|
||||
"Createed temp table in --temp-database"
|
||||
);
|
||||
|
||||
$sb->wipe_clean($dbh1);
|
||||
$sb->wipe_clean($dbh2);
|
||||
|
||||
# #############################################################################
|
||||
# Bug 926598: DBD::mysql bug causes pt-upgrade to use wrong
|
||||
# precision (M) and scale (D)
|
||||
# #############################################################################
|
||||
$sb->load_file('master', "$sample/003/tables.sql");
|
||||
$sb->load_file('master1', "$sample/003/tables.sql");
|
||||
|
||||
# Make a difference on one host so diff_rows() is called.
|
||||
$dbh1->do('insert into test.t values (4, 1.00)');
|
||||
|
||||
ok(
|
||||
no_diff(
|
||||
sub { pt_upgrade::main(@args, "$log/003/double.log",
|
||||
qw(--compare-results-method rows)) },
|
||||
"$sample/003/report001.txt",
|
||||
),
|
||||
'M, D diff (bug 926598)',
|
||||
);
|
||||
|
||||
my $row = $dbh1->selectrow_arrayref("show create table test.mk_upgrade_left");
|
||||
like(
|
||||
$row->[1],
|
||||
qr/[`"]SUM\(total\)[`"]\s+double\sDEFAULT/i,
|
||||
"No M,D in table def (bug 926598)"
|
||||
);
|
||||
|
||||
# #############################################################################
|
||||
# SELECT FUNC(), so there are no tables.
|
||||
# https://bugs.launchpad.net/percona-toolkit/+bug/1060774
|
||||
# #############################################################################
|
||||
$sb->load_file('master', "$sample/004/tables.sql");
|
||||
$sb->load_file('master1', "$sample/004/tables.sql");
|
||||
|
||||
ok(
|
||||
no_diff(
|
||||
sub { pt_upgrade::main(@args,
|
||||
qw(--compare-results-method rows),
|
||||
qw(--no-clear-warnings),
|
||||
"$log/004/select-func.log") },
|
||||
"$sample/004/select-func.txt",
|
||||
),
|
||||
'SELECT FUNC() (bug 1060774)'
|
||||
);
|
||||
close $dh;
|
||||
|
||||
# #############################################################################
|
||||
# Done.
|
||||
# #############################################################################
|
||||
diag(`rm /tmp/left-outfile.txt /tmp/right-outfile.txt 2>/dev/null`);
|
||||
diag(`$trunk/sandbox/stop-sandbox 12348 >/dev/null`);
|
||||
$sb->wipe_clean($dbh1);
|
||||
ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox");
|
||||
#$sb->wipe_clean($dbh2);
|
||||
#$sb->wipe_clean($dbh1);
|
||||
#diag(`$trunk/sandbox/stop-sandbox 12348 >/dev/null`);
|
||||
#ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox");
|
||||
done_testing;
|
||||
exit;
|
||||
|
85
t/pt-upgrade/diff_query_times.t
Normal file
85
t/pt-upgrade/diff_query_times.t
Normal file
@@ -0,0 +1,85 @@
|
||||
#!/usr/bin/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 Data::Dumper;
|
||||
|
||||
use PerconaTest;
|
||||
use Sandbox;
|
||||
$Data::Dumper::Indent = 1;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
$Data::Dumper::Quotekeys = 0;
|
||||
|
||||
require "$trunk/bin/pt-upgrade";
|
||||
|
||||
sub test_diff_query_times {
|
||||
my (%args) = @_;
|
||||
|
||||
my $diff = pt_upgrade::diff_query_times(
|
||||
query_time1 => $args{t1},
|
||||
query_time2 => $args{t2},
|
||||
);
|
||||
is_deeply(
|
||||
$diff,
|
||||
$args{expect},
|
||||
"$args{t1} vs. $args{t2}"
|
||||
) or diag(Dumper($diff));
|
||||
}
|
||||
|
||||
test_diff_query_times(
|
||||
t1 => 0,
|
||||
t2 => 0,
|
||||
expect => undef,
|
||||
);
|
||||
|
||||
test_diff_query_times(
|
||||
t1 => 1,
|
||||
t2 => 1,
|
||||
expect => undef,
|
||||
);
|
||||
|
||||
test_diff_query_times(
|
||||
t1 => 23,
|
||||
t2 => 82,
|
||||
expect => undef,
|
||||
);
|
||||
|
||||
test_diff_query_times(
|
||||
t1 => 23,
|
||||
t2 => 820,
|
||||
expect => [ 23, 820, 35.7 ],
|
||||
);
|
||||
|
||||
# Just .01 shy of 1 order of mag. diff.
|
||||
test_diff_query_times(
|
||||
t1 => 0.09,
|
||||
t2 => 0.89,
|
||||
expect => undef,
|
||||
);
|
||||
|
||||
# Exactly 1 order of mag. diff.
|
||||
test_diff_query_times(
|
||||
t1 => 0.09,
|
||||
t2 => 0.9,
|
||||
expect => [ 0.09, 0.9, '10.0' ],
|
||||
);
|
||||
|
||||
# An order of mag. decrease, which is ok.
|
||||
test_diff_query_times(
|
||||
t1 => 0.9,
|
||||
t2 => 0.09,
|
||||
expect => undef,
|
||||
);
|
||||
|
||||
# #############################################################################
|
||||
# Done.
|
||||
# #############################################################################
|
||||
done_testing;
|
@@ -10,13 +10,13 @@ use strict;
|
||||
use warnings FATAL => 'all';
|
||||
use English qw(-no_match_vars);
|
||||
use Test::More;
|
||||
|
||||
use PerconaTest;
|
||||
use Sandbox;
|
||||
use Data::Dumper;
|
||||
$Data::Dumper::Indent = 1;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
$Data::Dumper::Quotekeys = 0;
|
||||
|
||||
use PerconaTest;
|
||||
use Sandbox;
|
||||
require "$trunk/bin/pt-upgrade";
|
||||
|
||||
my $dp = new DSNParser(opts=>$dsn_opts);
|
||||
@@ -82,10 +82,33 @@ test_diff (
|
||||
);
|
||||
|
||||
test_diff (
|
||||
name => "Stops when there's not 2 rows",
|
||||
name => 'Host1 missing a row',
|
||||
query1 => "select user from mysql.user where user='msandbox' order by user",
|
||||
query2 => 'select user from mysql.user order by user',
|
||||
expect => [],
|
||||
expect => [
|
||||
[
|
||||
1,
|
||||
undef,
|
||||
[
|
||||
[qw(root)],
|
||||
],
|
||||
],
|
||||
],
|
||||
);
|
||||
|
||||
test_diff (
|
||||
name => 'Host2 missing a row',
|
||||
query1 => 'select user from mysql.user order by user',
|
||||
query2 => "select user from mysql.user where user='msandbox' order by user",
|
||||
expect => [
|
||||
[
|
||||
1,
|
||||
[
|
||||
[qw(root)],
|
||||
],
|
||||
undef,
|
||||
],
|
||||
],
|
||||
);
|
||||
|
||||
# #############################################################################
|
||||
|
12
t/pt-upgrade/samples/001/insert.txt
Normal file
12
t/pt-upgrade/samples/001/insert.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
|
||||
########################################################################
|
||||
# Stats
|
||||
########################################################################
|
||||
|
||||
failed_queries 0
|
||||
not_select 1
|
||||
queries_filtered 0
|
||||
queries_no_diffs 0
|
||||
queries_read 1
|
||||
queries_with_diffs 0
|
||||
queries_with_errors 0
|
@@ -1,112 +0,0 @@
|
||||
|
||||
# Query 1: ID 0xC11622E1B2607157 at byte 0 _______________________________
|
||||
# host1: 127.1:12345
|
||||
# host2: 127.1:12348
|
||||
# Found 0 differences in 1 samples:
|
||||
# checksums 0
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# host1 host2
|
||||
# Errors 0 0
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
# row_count
|
||||
# sum 7 7
|
||||
# min 7 7
|
||||
# max 7 7
|
||||
# avg 7 7
|
||||
# pct_95 7 7
|
||||
# stddev 0 0
|
||||
# median 7 7
|
||||
# Converted non-SELECT:
|
||||
# delete from t where id is not null
|
||||
# Fingerprint
|
||||
# select * from t where id is not ?
|
||||
select * from t where id is not null
|
||||
|
||||
# Query 2: ID 0xD7D2F2B7AB4602A4 at byte 0 _______________________________
|
||||
# host1: 127.1:12345
|
||||
# host2: 127.1:12348
|
||||
# Found 0 differences in 1 samples:
|
||||
# checksums 0
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# host1 host2
|
||||
# Errors 0 0
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
# row_count
|
||||
# sum 2 2
|
||||
# min 2 2
|
||||
# max 2 2
|
||||
# avg 2 2
|
||||
# pct_95 2 2
|
||||
# stddev 0 0
|
||||
# median 2 2
|
||||
# Fingerprint
|
||||
# select id from test.t where id > ?
|
||||
use `test`;
|
||||
select id from test.t where id > 3
|
||||
|
||||
# Query 3: ID 0x37BA5C52702C61C6 at byte 0 _______________________________
|
||||
# host1: 127.1:12345
|
||||
# host2: 127.1:12348
|
||||
# Found 0 differences in 1 samples:
|
||||
# checksums 0
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# host1 host2
|
||||
# Errors 0 0
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
# row_count
|
||||
# sum 1 1
|
||||
# min 1 1
|
||||
# max 1 1
|
||||
# avg 1 1
|
||||
# pct_95 1 1
|
||||
# stddev 0 0
|
||||
# median 1 1
|
||||
# Converted non-SELECT:
|
||||
# update t set name='changed' where id=0
|
||||
# Fingerprint
|
||||
# select name=? from t where id=?
|
||||
select name='changed' from t where id=0
|
||||
|
||||
# Statistics
|
||||
# convert_to_select_failed 2
|
||||
# convert_to_select_ok 2
|
||||
# events 5
|
@@ -1,16 +0,0 @@
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
use test;
|
||||
select id from test.t where id > 3;
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
insert into t values (9, 'nine', now());
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
update t set name='changed' where id=0;
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
delete from t where id is not null;
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
truncate table t;
|
@@ -1,37 +0,0 @@
|
||||
|
||||
# Query 1: ID 0xD7D2F2B7AB4602A4 at byte 0 _______________________________
|
||||
# host1: 127.1:12345
|
||||
# host2: 127.1:12348
|
||||
# Found 0 differences in 1 samples:
|
||||
# checksums 0
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# host1 host2
|
||||
# Errors 0 0
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
# row_count
|
||||
# sum 2 2
|
||||
# min 2 2
|
||||
# max 2 2
|
||||
# avg 2 2
|
||||
# pct_95 2 2
|
||||
# stddev 0 0
|
||||
# median 2 2
|
||||
use `test`;
|
||||
select id from test.t where id > 3
|
||||
|
||||
# Statistics
|
||||
# events 5
|
||||
# not_select 4
|
@@ -1,63 +0,0 @@
|
||||
|
||||
# Query 1: ID 0x3B323396273BC4C7 at byte 0 _______________________________
|
||||
# Found 0 differences in 1 samples:
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# column values 0
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# P=12345,h=127.1,p=...,u=msandbox P=12348,h=127.1,p=...,u=msandbox
|
||||
# Errors 1 1
|
||||
# Warnings 1 1
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
select borked
|
||||
/* 3B323396273BC4C7-1 */ select borked
|
||||
|
||||
# Query 2: ID 0x30B1FA07C660C2A8 at byte 0 _______________________________
|
||||
# Found 0 differences in 2 samples:
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# column values 0
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# P=12345,h=127.1,p=...,u=msandbox P=12348,h=127.1,p=...,u=msandbox
|
||||
# Errors 0 0
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
# row_count
|
||||
# sum 2 2
|
||||
# min 1 1
|
||||
# max 1 1
|
||||
# avg 1 1
|
||||
# pct_95 1 1
|
||||
# stddev 0 0
|
||||
# median 1 1
|
||||
select * from t where name='jane'
|
||||
|
||||
# Errors
|
||||
# Query ID Host Error
|
||||
# ================== ================================ ========================
|
||||
# 3B323396273BC4C7-1 P=12348,h=127.1,p=...,u=msandbox Failed to execute query: DBD::mysql::st execute failed: Unknown column 'borked' in 'field list' [for Statement "select borked"] at mk-upgrade line 0, <$fh> line 2.
|
||||
|
||||
# Statistics
|
||||
# CompareResults_after_execute_skipped 2
|
||||
# CompareResults_execute_error 2
|
||||
# events 3
|
@@ -1,10 +0,0 @@
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 0 Rows_examined: 0
|
||||
use test;
|
||||
select * from t where name='bob';
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 0 Rows_examined: 0
|
||||
select borked;
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
select * from t where name='jane';
|
@@ -1,66 +0,0 @@
|
||||
|
||||
# Query 1: ID 0x3B323396273BC4C7 at byte 0 _______________________________
|
||||
# Found 0 differences in 1 samples:
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# column values 0
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# P=12345,h=127.1,p=...,u=msandbox P=12348,h=127.1,p=...,u=msandbox
|
||||
# Errors 1 1
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
select borked
|
||||
/* 3B323396273BC4C7-1 */ select borked
|
||||
|
||||
# Query 2: ID 0x30B1FA07C660C2A8 at byte 0 _______________________________
|
||||
# Found 0 differences in 2 samples:
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# column values 0
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# P=12345,h=127.1,p=...,u=msandbox P=12348,h=127.1,p=...,u=msandbox
|
||||
# Errors 0 0
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
# row_count
|
||||
# sum 2 2
|
||||
# min 1 1
|
||||
# max 1 1
|
||||
# avg 1 1
|
||||
# pct_95 1 1
|
||||
# stddev 0 0
|
||||
# median 1 1
|
||||
select * from t where name='jane'
|
||||
|
||||
# Errors
|
||||
# Query ID Host Error
|
||||
# ================== ================================ ========================
|
||||
# 3B323396273BC4C7-1 P=12348,h=127.1,p=...,u=msandbox Failed to execute query: DBD::mysql::st execute failed: Unknown column 'borked' in 'field list' [for Statement "select borked"] at ../mk-upgrade line 7059, <$fh> line 2.
|
||||
|
||||
# Statistics
|
||||
# CompareResults_after_execute_skipped 2
|
||||
# CompareResults_execute_error 2
|
||||
# CompareWarnings_after_execute_skipped 2
|
||||
# CompareWarnings_before_execute_error 2
|
||||
# CompareWarnings_execute_skipped 2
|
||||
# events 3
|
@@ -1,3 +0,0 @@
|
||||
|
||||
# Statistics
|
||||
# events 7
|
@@ -1,32 +0,0 @@
|
||||
|
||||
# Query 1: ID 0x4AF1501167533D97 at byte 0 _______________________________
|
||||
# host1: 127.1:12345
|
||||
# host2: 127.1:12348
|
||||
# Found 0 differences in 7 samples:
|
||||
# checksums 0
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# host1 host2
|
||||
# Errors 0 0
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
# row_count
|
||||
# sum 7 7
|
||||
# min 1 1
|
||||
# max 1 1
|
||||
# avg 1 1
|
||||
# pct_95 1 1
|
||||
# stddev 0 0
|
||||
# median 1 1
|
||||
select id, name, last_login from test.t where id=5
|
@@ -1,35 +0,0 @@
|
||||
|
||||
# Query 1: ID 0x4AF1501167533D97 at byte 0 _______________________________
|
||||
# host1: 127.1:12345
|
||||
# host2: 127.1:12348
|
||||
# Found 0 differences in 7 samples:
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# column values 0
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# host1 host2
|
||||
# Errors 0 0
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
# row_count
|
||||
# sum 7 7
|
||||
# min 1 1
|
||||
# max 1 1
|
||||
# avg 1 1
|
||||
# pct_95 1 1
|
||||
# stddev 0 0
|
||||
# median 1 1
|
||||
select id, name, last_login from test.t where id=5
|
||||
|
||||
# Statistics
|
||||
# events 7
|
@@ -1,22 +0,0 @@
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
use test;
|
||||
select id, name, last_login from test.t where id=-1;
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
select id, name, last_login from test.t where id=0;
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
select id, name, last_login from test.t where id=1;
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
select id, name, last_login from test.t where id=2;
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
select id, name, last_login from test.t where id=3;
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
select id, name, last_login from test.t where id=4;
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
select id, name, last_login from test.t where id=5;
|
@@ -1,35 +0,0 @@
|
||||
|
||||
# Query 1: ID 0x4AF1501167533D97 at byte 0 _______________________________
|
||||
# host1: 127.1:12345
|
||||
# host2: 127.1:12348
|
||||
# Found 0 differences in 7 samples:
|
||||
# checksums 0
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# host1 host2
|
||||
# Errors 0 0
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
# row_count
|
||||
# sum 7 7
|
||||
# min 1 1
|
||||
# max 1 1
|
||||
# avg 1 1
|
||||
# pct_95 1 1
|
||||
# stddev 0 0
|
||||
# median 1 1
|
||||
select id, name, last_login from test.t where id=5
|
||||
|
||||
# Statistics
|
||||
# events 7
|
@@ -1,36 +0,0 @@
|
||||
|
||||
# Query 1: ID 0x4AF1501167533D97 at byte 0 _______________________________
|
||||
# host1: 127.1:12345
|
||||
# host2: 127.1:12348
|
||||
# Found 0 differences in 1 samples:
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# column values 0
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# host1 host2
|
||||
# Errors 0 0
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
# row_count
|
||||
# sum 1 1
|
||||
# min 1 1
|
||||
# max 1 1
|
||||
# avg 1 1
|
||||
# pct_95 1 1
|
||||
# stddev 0 0
|
||||
# median 1 1
|
||||
use `test`;
|
||||
select id, name, last_login from test.t where id=0
|
||||
|
||||
# Statistics
|
||||
# events 1
|
@@ -1,4 +0,0 @@
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
use test;
|
||||
select id, name, last_login from test.t where id=0;
|
@@ -1,36 +0,0 @@
|
||||
|
||||
# Query 1: ID 0x4AF1501167533D97 at byte 0 _______________________________
|
||||
# host1: 127.1:12345
|
||||
# host2: 127.1:12348
|
||||
# Found 0 differences in 1 samples:
|
||||
# checksums 0
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# host1 host2
|
||||
# Errors 0 0
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
# row_count
|
||||
# sum 1 1
|
||||
# min 1 1
|
||||
# max 1 1
|
||||
# avg 1 1
|
||||
# pct_95 1 1
|
||||
# stddev 0 0
|
||||
# median 1 1
|
||||
use `test`;
|
||||
select id, name, last_login from test.t where id=0
|
||||
|
||||
# Statistics
|
||||
# events 1
|
11
t/pt-upgrade/samples/001/select.txt
Normal file
11
t/pt-upgrade/samples/001/select.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
########################################################################
|
||||
# Stats
|
||||
########################################################################
|
||||
|
||||
failed_queries 0
|
||||
queries_filtered 0
|
||||
queries_no_diffs 1
|
||||
queries_read 1
|
||||
queries_with_diffs 0
|
||||
queries_with_errors 0
|
@@ -1,18 +1,16 @@
|
||||
DROP DATABASE IF EXISTS test;
|
||||
CREATE DATABASE test;
|
||||
USE test;
|
||||
DROP TABLE IF EXISTS t;
|
||||
CREATE TABLE `t` (
|
||||
`id` int(10) NOT NULL,
|
||||
`username` varchar(32) default NULL,
|
||||
`last_login` datetime default NULL,
|
||||
CREATE TABLE t (
|
||||
id int(10) NOT NULL AUTO_INCREMENT,
|
||||
username varchar(8) default NULL,
|
||||
last_login datetime default NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
INSERT INTO t VALUES
|
||||
(-1, 'banned', '2009-11-06 10:37:17'),
|
||||
(0, 'admin', '2001-11-07 12:01:40'),
|
||||
(1, 'bob', '2009-10-07 10:37:47'),
|
||||
(2, 'jane', '2009-11-07 11:37:97'),
|
||||
(3, 'susan', '2009-04-09 10:00:47'),
|
||||
(4, 'rick', '2009-10-03 10:37:22'),
|
||||
(5, 'tom', '2009-12-07 10:37:74');
|
||||
(null, 'a', '2013-01-01 00:00:01'),
|
||||
(null, 'b', '2013-01-01 00:00:02'),
|
||||
(null, 'c', '2013-01-01 00:00:03'),
|
||||
(null, 'd', '2013-01-01 00:00:04'),
|
||||
(null, 'e', '2013-01-01 00:00:05'),
|
||||
(null, 'f', '2013-01-01 00:00:06');
|
||||
|
9
t/pt-upgrade/samples/002/host2.sql
Normal file
9
t/pt-upgrade/samples/002/host2.sql
Normal file
@@ -0,0 +1,9 @@
|
||||
USE test;
|
||||
|
||||
-- Add 5 more rows so 01select.log causes a row diff.
|
||||
INSERT INTO t VALUES
|
||||
(null, 'g', '2013-01-01 00:00:07'),
|
||||
(null, 'h', '2013-01-01 00:00:08'),
|
||||
(null, 'i', '2013-01-01 00:00:09'),
|
||||
(null, 'j', '2013-01-01 00:00:10'),
|
||||
(null, 'k', '2013-01-01 00:00:11');
|
@@ -1,3 +0,0 @@
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
select i from t where i is not null
|
@@ -1,44 +0,0 @@
|
||||
|
||||
# Query 1: ID 0x3C830E3839B916D7 at byte 0 _______________________________
|
||||
# host1: 127.1:12345
|
||||
# host2: 127.1:12348
|
||||
# Found 1 differences in 1 samples:
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# column values 0
|
||||
# row counts 1
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# host1 host2
|
||||
# Errors 0 0
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
# row_count
|
||||
# sum 4 3
|
||||
# min 4 3
|
||||
# max 4 3
|
||||
# avg 4 3
|
||||
# pct_95 4 3
|
||||
# stddev 0 0
|
||||
# median 4 3
|
||||
use `test`;
|
||||
select i from t where i is not null
|
||||
|
||||
/* 3C830E3839B916D7-1 */ select i from t where i is not null
|
||||
|
||||
|
||||
# Row count differences
|
||||
# Query ID host1 host2
|
||||
# ================== ===== =====
|
||||
# 3C830E3839B916D7-1 4 3
|
||||
|
||||
# Statistics
|
||||
# events 1
|
4
t/pt-upgrade/samples/002/select_missing_rows.log
Normal file
4
t/pt-upgrade/samples/002/select_missing_rows.log
Normal file
@@ -0,0 +1,4 @@
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 7 Rows_examined: 7
|
||||
use test;
|
||||
select * from test.t order by id;
|
35
t/pt-upgrade/samples/002/select_missing_rows.txt
Normal file
35
t/pt-upgrade/samples/002/select_missing_rows.txt
Normal file
@@ -0,0 +1,35 @@
|
||||
########################################################################
|
||||
# Query class 483E7FA163F8DA7B
|
||||
########################################################################
|
||||
|
||||
Reporting class because it has diffs, but hasn't been reported yet.
|
||||
|
||||
Total queries 1
|
||||
Unique queries 1
|
||||
Discarded queries 0
|
||||
|
||||
select * from test.t order by id
|
||||
|
||||
##
|
||||
## Row diffs: 1
|
||||
##
|
||||
|
||||
-- 1.
|
||||
|
||||
@ first 3 of 5 missing rows
|
||||
> 7,g,2013-01-01 00:00:07
|
||||
> 8,h,2013-01-01 00:00:08
|
||||
> 9,i,2013-01-01 00:00:09
|
||||
|
||||
select * from test.t order by id
|
||||
|
||||
########################################################################
|
||||
# Stats
|
||||
########################################################################
|
||||
|
||||
failed_queries 0
|
||||
queries_filtered 0
|
||||
queries_no_diffs 0
|
||||
queries_read 1
|
||||
queries_with_diffs 1
|
||||
queries_with_errors 0
|
@@ -1,8 +1,16 @@
|
||||
DROP DATABASE IF EXISTS test;
|
||||
CREATE DATABASE test;
|
||||
USE test;
|
||||
create table t (i int);
|
||||
insert into t values (1), (2), (3);
|
||||
|
||||
DROP DATABASE IF EXISTS tmp_db;
|
||||
CREATE DATABASE tmp_db;
|
||||
CREATE TABLE t (
|
||||
id int(10) NOT NULL AUTO_INCREMENT,
|
||||
username varchar(8) default NULL,
|
||||
last_login datetime default NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
INSERT INTO t VALUES
|
||||
(null, 'a', '2013-01-01 00:00:01'),
|
||||
(null, 'b', '2013-01-01 00:00:02'),
|
||||
(null, 'c', '2013-01-01 00:00:03'),
|
||||
(null, 'd', '2013-01-01 00:00:04'),
|
||||
(null, 'e', '2013-01-01 00:00:05'),
|
||||
(null, 'f', '2013-01-01 00:00:06');
|
||||
|
1
t/pt-upgrade/samples/003/conf
Normal file
1
t/pt-upgrade/samples/003/conf
Normal file
@@ -0,0 +1 @@
|
||||
no-read-only
|
@@ -1,4 +0,0 @@
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 1 Rows_examined: 1
|
||||
use test;
|
||||
SELECT SUM(total) FROM test.t WHERE id > 0
|
5
t/pt-upgrade/samples/003/host2.sql
Normal file
5
t/pt-upgrade/samples/003/host2.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
USE test;
|
||||
|
||||
-- Increase column size from 8 to 16 so insert.log causes
|
||||
-- a warning diff (value is truncated on host1).
|
||||
ALTER TABLE t CHANGE COLUMN username username varchar(16) default NULL;
|
38
t/pt-upgrade/samples/003/insert_truncate.warning.txt
Normal file
38
t/pt-upgrade/samples/003/insert_truncate.warning.txt
Normal file
@@ -0,0 +1,38 @@
|
||||
########################################################################
|
||||
# Query class AAD020567F8398EE
|
||||
########################################################################
|
||||
|
||||
Reporting class because it has diffs, but hasn't been reported yet.
|
||||
|
||||
Total queries 1
|
||||
Unique queries 1
|
||||
Discarded queries 0
|
||||
|
||||
insert into t (id, username) values(?+)
|
||||
|
||||
##
|
||||
## Warning diffs: 1
|
||||
##
|
||||
|
||||
-- 1.
|
||||
|
||||
Code: 1265
|
||||
Level: Warning
|
||||
Message: Data truncated for column 'username' at row 1
|
||||
|
||||
vs.
|
||||
|
||||
No warning 1265
|
||||
|
||||
INSERT INTO t (id, username) VALUES (NULL, 'long_username')
|
||||
|
||||
########################################################################
|
||||
# Stats
|
||||
########################################################################
|
||||
|
||||
failed_queries 0
|
||||
queries_filtered 0
|
||||
queries_no_diffs 0
|
||||
queries_read 1
|
||||
queries_with_diffs 1
|
||||
queries_with_errors 0
|
4
t/pt-upgrade/samples/003/insert_truncate_warning.log
Normal file
4
t/pt-upgrade/samples/003/insert_truncate_warning.log
Normal file
@@ -0,0 +1,4 @@
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 0 Rows_examined: 1
|
||||
use test;
|
||||
INSERT INTO t (id, username) VALUES (NULL, 'long_username');
|
@@ -1,44 +0,0 @@
|
||||
|
||||
# Query 1: ID 0xC1B1E457814417E4 at byte 0 _______________________________
|
||||
# host1: 127.1:12345
|
||||
# host2: 127.1:12348
|
||||
# Found 1 differences in 1 samples:
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# column values 1
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# host1 host2
|
||||
# Errors 0 0
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
# row_count
|
||||
# sum 1 1
|
||||
# min 1 1
|
||||
# max 1 1
|
||||
# avg 1 1
|
||||
# pct_95 1 1
|
||||
# stddev 0 0
|
||||
# median 1 1
|
||||
use `test`;
|
||||
SELECT SUM(total) FROM test.t WHERE id > 0
|
||||
|
||||
/* C1B1E457814417E4-1 */ SELECT SUM(total) FROM test.t WHERE id > 0
|
||||
|
||||
|
||||
# Column value differences
|
||||
# Query ID Column host1 host2
|
||||
# ================== ========== ===== =====
|
||||
# C1B1E457814417E4-1 SUM(total) 14.68 13.68
|
||||
|
||||
# Statistics
|
||||
# events 1
|
@@ -2,10 +2,8 @@ DROP DATABASE IF EXISTS test;
|
||||
CREATE DATABASE test;
|
||||
USE test;
|
||||
CREATE TABLE t (
|
||||
id INT NOT NULL PRIMARY KEY,
|
||||
total DOUBLE NOT NULL
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO test.t VALUES
|
||||
(1, 1.23),
|
||||
(2, 4.56),
|
||||
(3, 7.89);
|
||||
id int(10) NOT NULL AUTO_INCREMENT,
|
||||
username varchar(8) default NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
INSERT INTO t VALUES (1, 'username');
|
||||
|
@@ -1,36 +0,0 @@
|
||||
|
||||
# Query 1: ID 0xF05C9711D543F5BF at byte 0 _______________________________
|
||||
# host1: 127.1:12345
|
||||
# host2: 127.1:12348
|
||||
# Found 0 differences in 1 samples:
|
||||
# column counts 0
|
||||
# column types 0
|
||||
# column values 0
|
||||
# row counts 0
|
||||
# warning counts 0
|
||||
# warning levels 0
|
||||
# warnings 0
|
||||
# host1 host2
|
||||
# Errors 0 0
|
||||
# Warnings 0 0
|
||||
# Query_time
|
||||
# sum 0 0
|
||||
# min 0 0
|
||||
# max 0 0
|
||||
# avg 0 0
|
||||
# pct_95 0 0
|
||||
# stddev 0 0
|
||||
# median 0 0
|
||||
# row_count
|
||||
# sum 1 1
|
||||
# min 1 1
|
||||
# max 1 1
|
||||
# avg 1 1
|
||||
# pct_95 1 1
|
||||
# stddev 0 0
|
||||
# median 1 1
|
||||
use `test`;
|
||||
SELECT (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP('2012-09-16 10:16:36')) / 60, SLEEP(1)
|
||||
|
||||
# Statistics
|
||||
# events 1
|
1
t/pt-upgrade/samples/004/select_function.sed
Normal file
1
t/pt-upgrade/samples/004/select_function.sed
Normal file
@@ -0,0 +1 @@
|
||||
-e 's/< [0-9.]*/< 0/' -e 's/> [0-9.]*/> 0/'
|
34
t/pt-upgrade/samples/004/select_function.txt
Normal file
34
t/pt-upgrade/samples/004/select_function.txt
Normal file
@@ -0,0 +1,34 @@
|
||||
########################################################################
|
||||
# Query class F05C9711D543F5BF
|
||||
########################################################################
|
||||
|
||||
Reporting class because it has diffs, but hasn't been reported yet.
|
||||
|
||||
Total queries 1
|
||||
Unique queries 1
|
||||
Discarded queries 0
|
||||
|
||||
select (unix_timestamp(now()) ? unix_timestamp(?)) / ?, sleep(?)
|
||||
|
||||
##
|
||||
## Row diffs: 1
|
||||
##
|
||||
|
||||
-- 1.
|
||||
|
||||
@ row 1
|
||||
< 0,0
|
||||
> 0,0
|
||||
|
||||
SELECT (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP('2012-09-16 10:16:36')) / 60, SLEEP(1)
|
||||
|
||||
########################################################################
|
||||
# Stats
|
||||
########################################################################
|
||||
|
||||
failed_queries 0
|
||||
queries_filtered 0
|
||||
queries_no_diffs 0
|
||||
queries_read 1
|
||||
queries_with_diffs 1
|
||||
queries_with_errors 0
|
@@ -1,2 +0,0 @@
|
||||
DROP DATABASE IF EXISTS test;
|
||||
CREATE DATABASE test;
|
Reference in New Issue
Block a user