mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-10 13:11:32 +00:00
PT-1554 Updated pt-table-checksum var type
In different OSes, using BIGINT to store the checksum for a query, will produce collisions and/or unstable values. Because of this, I changed the type for the checksum field in the history table from BIGINT to CHAR(32) and the checksum function is no longer truncating the MD5_HEX result to 16 chars.
This commit is contained in:
@@ -2679,8 +2679,7 @@ sub any_unix_timestamp {
|
|||||||
|
|
||||||
sub make_checksum {
|
sub make_checksum {
|
||||||
my ( $val ) = @_;
|
my ( $val ) = @_;
|
||||||
my $checksum = uc substr(md5_hex($val), -16);
|
my $checksum = uc md5_hex($val);
|
||||||
warn ($checksum, ' checksum for ', $val);
|
|
||||||
PTDEBUG && _d($checksum, 'checksum for', $val);
|
PTDEBUG && _d($checksum, 'checksum for', $val);
|
||||||
return $checksum;
|
return $checksum;
|
||||||
}
|
}
|
||||||
@@ -16189,7 +16188,7 @@ by pt-query-digest.
|
|||||||
MAGIC_create_review_table:
|
MAGIC_create_review_table:
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS query_review (
|
CREATE TABLE IF NOT EXISTS query_review (
|
||||||
checksum BIGINT UNSIGNED NOT NULL PRIMARY KEY,
|
checksum CHAR(32) NOT NULL PRIMARY KEY,
|
||||||
fingerprint TEXT NOT NULL,
|
fingerprint TEXT NOT NULL,
|
||||||
sample TEXT NOT NULL,
|
sample TEXT NOT NULL,
|
||||||
first_seen DATETIME,
|
first_seen DATETIME,
|
||||||
|
@@ -1,7 +1,3 @@
|
|||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
|
|
||||||
# Query 1: 0.05 QPS, 0.00x concurrency, ID 0x538CA093E701E0CBA20C29AF174CE545 at byte 1833
|
# Query 1: 0.05 QPS, 0.00x concurrency, ID 0x538CA093E701E0CBA20C29AF174CE545 at byte 1833
|
||||||
# This item is included in the report because it matches --limit.
|
# This item is included in the report because it matches --limit.
|
||||||
@@ -78,7 +74,3 @@ SELECT col FROM foo_tbl\G
|
|||||||
# SHOW CREATE TABLE `bar`.`bar_tbl`\G
|
# SHOW CREATE TABLE `bar`.`bar_tbl`\G
|
||||||
# EXPLAIN /*!50100 PARTITIONS*/
|
# EXPLAIN /*!50100 PARTITIONS*/
|
||||||
SELECT col FROM bar_tbl\G
|
SELECT col FROM bar_tbl\G
|
||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
|
@@ -1,7 +1,3 @@
|
|||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
|
|
||||||
# Query 1: 0.05 QPS, 0.00x concurrency, ID 0x538CA093E701E0CBA20C29AF174CE545 at byte 1833
|
# Query 1: 0.05 QPS, 0.00x concurrency, ID 0x538CA093E701E0CBA20C29AF174CE545 at byte 1833
|
||||||
# This item is included in the report because it matches --limit.
|
# This item is included in the report because it matches --limit.
|
||||||
@@ -78,7 +74,3 @@ SELECT col FROM foo_tbl\G
|
|||||||
# SHOW CREATE TABLE `bar`.`bar_tbl`\G
|
# SHOW CREATE TABLE `bar`.`bar_tbl`\G
|
||||||
# EXPLAIN /*!50100 PARTITIONS*/
|
# EXPLAIN /*!50100 PARTITIONS*/
|
||||||
SELECT col FROM bar_tbl\G
|
SELECT col FROM bar_tbl\G
|
||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
|
@@ -1,7 +1,3 @@
|
|||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
|
|
||||||
# Query 1: 0.05 QPS, 0.00x concurrency, ID 0x538CA093E701E0CBA20C29AF174CE545 at byte 1833
|
# Query 1: 0.05 QPS, 0.00x concurrency, ID 0x538CA093E701E0CBA20C29AF174CE545 at byte 1833
|
||||||
# This item is included in the report because it matches --limit.
|
# This item is included in the report because it matches --limit.
|
||||||
@@ -78,7 +74,3 @@ SELECT col FROM foo_tbl\G
|
|||||||
# SHOW CREATE TABLE `bar`.`bar_tbl`\G
|
# SHOW CREATE TABLE `bar`.`bar_tbl`\G
|
||||||
# EXPLAIN /*!50100 PARTITIONS*/
|
# EXPLAIN /*!50100 PARTITIONS*/
|
||||||
SELECT col FROM bar_tbl\G
|
SELECT col FROM bar_tbl\G
|
||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
|
@@ -1,7 +1,3 @@
|
|||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
|
|
||||||
# Query 1: 0.05 QPS, 0.00x concurrency, ID 0x538CA093E701E0CBA20C29AF174CE545 at byte 1833
|
# Query 1: 0.05 QPS, 0.00x concurrency, ID 0x538CA093E701E0CBA20C29AF174CE545 at byte 1833
|
||||||
# This item is included in the report because it matches --limit.
|
# This item is included in the report because it matches --limit.
|
||||||
@@ -80,7 +76,3 @@ SELECT col FROM foo_tbl\G
|
|||||||
# SHOW CREATE TABLE `bar`.`bar_tbl`\G
|
# SHOW CREATE TABLE `bar`.`bar_tbl`\G
|
||||||
# EXPLAIN /*!50100 PARTITIONS*/
|
# EXPLAIN /*!50100 PARTITIONS*/
|
||||||
SELECT col FROM bar_tbl\G
|
SELECT col FROM bar_tbl\G
|
||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
538CA093E701E0CBA20C29AF174CE545 checksum for select col from foo_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
3E4FB43148C4B07CD4CD74934382A184 checksum for select col from bar_tbl at /home/karl/golang/src/github.com/percona/percona-toolkit/bin/pt-query-digest line 2683.
|
|
||||||
|
Reference in New Issue
Block a user