mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-11 21:51:21 +00:00
Added --preserve-embedded-numbers. Still nedd to add tests
This commit is contained in:
@@ -13045,7 +13045,7 @@ sub main {
|
|||||||
# #######################################################################
|
# #######################################################################
|
||||||
my $q = new Quoter();
|
my $q = new Quoter();
|
||||||
my $qp = new QueryParser();
|
my $qp = new QueryParser();
|
||||||
my $qr = new QueryRewriter(QueryParser=>$qp);
|
my $qr = new QueryRewriter(QueryParser=>$qp, match_embedded_numbers => $o->get('preserve-embedded-numbers') ? 1 : 0);
|
||||||
my %common_modules = (
|
my %common_modules = (
|
||||||
OptionParser => $o,
|
OptionParser => $o,
|
||||||
DSNParser => $dp,
|
DSNParser => $dp,
|
||||||
@@ -15863,6 +15863,14 @@ short form: -P; type: int
|
|||||||
|
|
||||||
Port number to use for connection.
|
Port number to use for connection.
|
||||||
|
|
||||||
|
=item --preserve-embedded-numbers
|
||||||
|
|
||||||
|
Preserve numbers in database/table names when fingerprinting queries.
|
||||||
|
The standar fingeprint method replaces numbers in db/tables names, making
|
||||||
|
a query like 'SELECT * FROM db1.table2' to be figerprinted as 'SELECT * FROM db?.table?'.
|
||||||
|
This option changes that behaviour and the fingerprint will become
|
||||||
|
'SELECT * FROM db1.table2'.
|
||||||
|
|
||||||
=item --processlist
|
=item --processlist
|
||||||
|
|
||||||
type: DSN
|
type: DSN
|
||||||
|
@@ -1465,6 +1465,18 @@ is(
|
|||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
$qr = new QueryRewriter(
|
||||||
|
QueryParser => $qp,
|
||||||
|
match_embedded_numbers => 1,
|
||||||
|
);
|
||||||
|
|
||||||
|
is(
|
||||||
|
$qr->fingerprint(
|
||||||
|
"SELECT * FROM prices2.t1 where id=1"
|
||||||
|
),
|
||||||
|
"select * from prices2.t1 where id=?",
|
||||||
|
"Fingerprint db.tbl<number>name (preserve number)"
|
||||||
|
);
|
||||||
|
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
# Done.
|
# Done.
|
||||||
|
@@ -107,6 +107,23 @@ ok(
|
|||||||
"--explain sparkline uses event db and doesn't crash ea (issue 1196)"
|
"--explain sparkline uses event db and doesn't crash ea (issue 1196)"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$sb->load_file('master', "t/pt-query-digest/samples/issue_1604834.sql");
|
||||||
|
#
|
||||||
|
warn "$trunk/t/pt-query-digest/samples/issue_1196.log";
|
||||||
|
ok(
|
||||||
|
no_diff(
|
||||||
|
sub { pt_query_digest::main(@args,
|
||||||
|
'--report-format', 'profile,query_report', "--preserve-embedded-numbers",
|
||||||
|
"$trunk/t/pt-query-digest/samples/issue_1196.log",)
|
||||||
|
},
|
||||||
|
( $sandbox_version ge '5.7' ? "$sample/issue_1196-output-5.7.txt"
|
||||||
|
: $sandbox_version ge '5.6' ? "$sample/issue_1196-output-5.6.txt"
|
||||||
|
: $sandbox_version ge '5.1' ? "$sample/issue_1196-output.txt"
|
||||||
|
: "$sample/issue_1196-output-5.0.txt"),
|
||||||
|
),
|
||||||
|
"--preserve-embedded-numbers"
|
||||||
|
);
|
||||||
|
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
# Done.
|
# Done.
|
||||||
# #############################################################################
|
# #############################################################################
|
||||||
|
5
t/pt-query-digest/samples/issue_1604834.sql
Normal file
5
t/pt-query-digest/samples/issue_1604834.sql
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
drop database if exists issue_1196;
|
||||||
|
create database issue_1196;
|
||||||
|
use issue_1196;
|
||||||
|
create table t (a int);
|
||||||
|
insert into t values (1),(2),(4),(5),(20),(20900),(228),(33),(89),(22828),(9292),(3939),(1111),(0);
|
Reference in New Issue
Block a user