mirror of
https://github.com/percona/pg_stat_monitor.git
synced 2026-02-04 05:56:21 +00:00
Revert "PG-156: replace query placeholders with actual arguments for… (#517)
Revert "PG -156: replace query placeholders with actual arguments for prepared statements (#481)"
This reverts commit c921d483a8.
This commit is contained in:
@@ -1,63 +0,0 @@
|
||||
CREATE EXTENSION pg_stat_monitor;
|
||||
Set pg_stat_monitor.pgsm_normalized_query='off';
|
||||
CREATE TABLE t1 (a TEXT, b TEXT, c TEXT);
|
||||
SELECT pg_stat_monitor_reset();
|
||||
pg_stat_monitor_reset
|
||||
-----------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
-- First test, execute cheap query then heavy query.
|
||||
-- Ensure denormalized heavy query replaces the cheaper one.
|
||||
PREPARE prepstmt(TEXT, TEXT, TEXT) AS INSERT INTO t1(a, b, c) VALUES($1, $2, $3);
|
||||
EXECUTE prepstmt('A', 'B', 'C');
|
||||
SELECT SUBSTRING(query, 0, 128), calls FROM pg_stat_monitor ORDER BY query COLLATE "C";
|
||||
substring | calls
|
||||
--------------------------------------------------------------------------------+-------
|
||||
PREPARE prepstmt(TEXT, TEXT, TEXT) AS INSERT INTO t1(a, b, c) VALUES(A, B, C); | 1
|
||||
SELECT pg_stat_monitor_reset() | 1
|
||||
(2 rows)
|
||||
|
||||
EXECUTE prepstmt(REPEAT('XYZ', 8192), md5(random()::text), REPEAT('RANDOM', 4096));
|
||||
SELECT SUBSTRING(query, 0, 128), calls FROM pg_stat_monitor ORDER BY query COLLATE "C";
|
||||
substring | calls
|
||||
---------------------------------------------------------------------------------------------------------------------------------+-------
|
||||
PREPARE prepstmt(TEXT, TEXT, TEXT) AS INSERT INTO t1(a, b, c) VALUES(XYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZX | 2
|
||||
SELECT SUBSTRING(query, 0, 128), calls FROM pg_stat_monitor ORDER BY query COLLATE "C" | 1
|
||||
SELECT pg_stat_monitor_reset() | 1
|
||||
(3 rows)
|
||||
|
||||
TRUNCATE TABLE t1;
|
||||
SELECT pg_stat_monitor_reset();
|
||||
pg_stat_monitor_reset
|
||||
-----------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
-- Second test, execute heavy query then cheap query.
|
||||
-- Ensure denormalized heavy query is not replaced by the cheaper one.
|
||||
EXECUTE prepstmt(REPEAT('XYZ', 8192), md5(random()::text), REPEAT('RANDOM', 4096));
|
||||
SELECT SUBSTRING(query, 0, 128), calls FROM pg_stat_monitor ORDER BY query COLLATE "C";
|
||||
substring | calls
|
||||
---------------------------------------------------------------------------------------------------------------------------------+-------
|
||||
PREPARE prepstmt(TEXT, TEXT, TEXT) AS INSERT INTO t1(a, b, c) VALUES(XYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZX | 1
|
||||
SELECT pg_stat_monitor_reset() | 1
|
||||
(2 rows)
|
||||
|
||||
EXECUTE prepstmt('A', 'B', 'C');
|
||||
SELECT SUBSTRING(query, 0, 128), calls FROM pg_stat_monitor ORDER BY query COLLATE "C";
|
||||
substring | calls
|
||||
---------------------------------------------------------------------------------------------------------------------------------+-------
|
||||
PREPARE prepstmt(TEXT, TEXT, TEXT) AS INSERT INTO t1(a, b, c) VALUES(XYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZX | 2
|
||||
SELECT SUBSTRING(query, 0, 128), calls FROM pg_stat_monitor ORDER BY query COLLATE "C" | 1
|
||||
SELECT pg_stat_monitor_reset() | 1
|
||||
(3 rows)
|
||||
|
||||
DROP TABLE t1;
|
||||
SELECT pg_stat_monitor_reset();
|
||||
pg_stat_monitor_reset
|
||||
-----------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
DROP EXTENSION pg_stat_monitor;
|
||||
@@ -30,7 +30,7 @@ SELECT * FROM t1;
|
||||
---
|
||||
(0 rows)
|
||||
|
||||
SELECT *, ADD(1234, 1000) FROM t1;
|
||||
SELECT *, ADD(1, 2) FROM t1;
|
||||
a | add
|
||||
---+-----
|
||||
(0 rows)
|
||||
@@ -62,7 +62,7 @@ SELECT * FROM t1;
|
||||
---
|
||||
(0 rows)
|
||||
|
||||
SELECT *, ADD(1234, 1000) FROM t1;
|
||||
SELECT *, ADD(1, 2) FROM t1;
|
||||
a | add
|
||||
---+-----
|
||||
(0 rows)
|
||||
@@ -87,12 +87,12 @@ SELECT datname, pgsm_query_id, query, calls FROM pg_stat_monitor ORDER BY pgsm_q
|
||||
db1 | 1897482803466821995 | SELECT * FROM t2 | 3
|
||||
db1 | 1988437669671417938 | SELECT * FROM t1 | 1
|
||||
db2 | 1988437669671417938 | SELECT * FROM t1 | 1
|
||||
db1 | 2864453209316739369 | select 1234 + 1000 | 1
|
||||
db2 | 2864453209316739369 | select 1234 + 1000 | 1
|
||||
db1 | 2864453209316739369 | select $1 + $2 | 1
|
||||
db2 | 2864453209316739369 | select $1 + $2 | 1
|
||||
db2 | 6220142855706866455 | set pg_stat_monitor.pgsm_enable_pgsm_query_id = on | 1
|
||||
db2 | 6633979598391393345 | SELECT * FROM t3 where c = 20 | 1
|
||||
db1 | 8140395000078788481 | SELECT *, ADD(1234, 1000) FROM t1 | 1
|
||||
db2 | 8140395000078788481 | SELECT *, ADD(1234, 1000) FROM t1 | 1
|
||||
db1 | 8140395000078788481 | SELECT *, ADD(1, 2) FROM t1 | 1
|
||||
db2 | 8140395000078788481 | SELECT *, ADD(1, 2) FROM t1 | 1
|
||||
db2 | | SELECT * FROM t3 | 1
|
||||
db2 | | set pg_stat_monitor.pgsm_enable_pgsm_query_id = off | 1
|
||||
(12 rows)
|
||||
|
||||
@@ -30,7 +30,7 @@ SELECT * FROM t1;
|
||||
---
|
||||
(0 rows)
|
||||
|
||||
SELECT *, ADD(1234, 1000) FROM t1;
|
||||
SELECT *, ADD(1, 2) FROM t1;
|
||||
a | add
|
||||
---+-----
|
||||
(0 rows)
|
||||
@@ -62,7 +62,7 @@ SELECT * FROM t1;
|
||||
---
|
||||
(0 rows)
|
||||
|
||||
SELECT *, ADD(1234, 1000) FROM t1;
|
||||
SELECT *, ADD(1, 2) FROM t1;
|
||||
a | add
|
||||
---+-----
|
||||
(0 rows)
|
||||
@@ -89,8 +89,8 @@ SELECT datname, pgsm_query_id, query, calls FROM pg_stat_monitor ORDER BY pgsm_q
|
||||
db2 | 1988437669671417938 | SELECT * FROM t1 | 1
|
||||
db2 | 6220142855706866455 | set pg_stat_monitor.pgsm_enable_pgsm_query_id = on | 1
|
||||
db2 | 6633979598391393345 | SELECT * FROM t3 where c = 20 | 1
|
||||
db1 | 8140395000078788481 | SELECT *, ADD(1234, 1000) FROM t1 | 1
|
||||
db2 | 8140395000078788481 | SELECT *, ADD(1234, 1000) FROM t1 | 1
|
||||
db1 | 8140395000078788481 | SELECT *, ADD(1, 2) FROM t1 | 1
|
||||
db2 | 8140395000078788481 | SELECT *, ADD(1, 2) FROM t1 | 1
|
||||
db2 | | SELECT * FROM t3 | 1
|
||||
db2 | | set pg_stat_monitor.pgsm_enable_pgsm_query_id = off | 1
|
||||
(10 rows)
|
||||
|
||||
@@ -26,7 +26,7 @@ SELECT add2(1,2);
|
||||
SELECT query, top_query FROM pg_stat_monitor ORDER BY query COLLATE "C";
|
||||
query | top_query
|
||||
--------------------------------------------------------------+-------------------
|
||||
(select NULL + NULL) | SELECT add2(1,2);
|
||||
(select $1 + $2) | SELECT add2(1,2);
|
||||
CREATE OR REPLACE FUNCTION add(int, int) RETURNS INTEGER AS +|
|
||||
$$ +|
|
||||
BEGIN +|
|
||||
|
||||
@@ -37,7 +37,7 @@ SELECT query, top_query FROM pg_stat_monitor ORDER BY query COLLATE "C";
|
||||
return add($1,$2); +|
|
||||
END; +|
|
||||
$$ language plpgsql |
|
||||
SELECT (select NULL + NULL) | SELECT add2(1,2);
|
||||
SELECT (select $1 + $2) | SELECT add2(1,2);
|
||||
SELECT add2(1,2) |
|
||||
SELECT pg_stat_monitor_reset() |
|
||||
(5 rows)
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
CREATE EXTENSION pg_stat_monitor;
|
||||
Set pg_stat_monitor.pgsm_normalized_query='off';
|
||||
|
||||
CREATE TABLE t1 (a TEXT, b TEXT, c TEXT);
|
||||
|
||||
SELECT pg_stat_monitor_reset();
|
||||
|
||||
-- First test, execute cheap query then heavy query.
|
||||
-- Ensure denormalized heavy query replaces the cheaper one.
|
||||
PREPARE prepstmt(TEXT, TEXT, TEXT) AS INSERT INTO t1(a, b, c) VALUES($1, $2, $3);
|
||||
|
||||
EXECUTE prepstmt('A', 'B', 'C');
|
||||
SELECT SUBSTRING(query, 0, 128), calls FROM pg_stat_monitor ORDER BY query COLLATE "C";
|
||||
|
||||
EXECUTE prepstmt(REPEAT('XYZ', 8192), md5(random()::text), REPEAT('RANDOM', 4096));
|
||||
SELECT SUBSTRING(query, 0, 128), calls FROM pg_stat_monitor ORDER BY query COLLATE "C";
|
||||
|
||||
TRUNCATE TABLE t1;
|
||||
SELECT pg_stat_monitor_reset();
|
||||
|
||||
-- Second test, execute heavy query then cheap query.
|
||||
-- Ensure denormalized heavy query is not replaced by the cheaper one.
|
||||
|
||||
EXECUTE prepstmt(REPEAT('XYZ', 8192), md5(random()::text), REPEAT('RANDOM', 4096));
|
||||
SELECT SUBSTRING(query, 0, 128), calls FROM pg_stat_monitor ORDER BY query COLLATE "C";
|
||||
|
||||
EXECUTE prepstmt('A', 'B', 'C');
|
||||
SELECT SUBSTRING(query, 0, 128), calls FROM pg_stat_monitor ORDER BY query COLLATE "C";
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
SELECT pg_stat_monitor_reset();
|
||||
DROP EXTENSION pg_stat_monitor;
|
||||
@@ -27,7 +27,7 @@ CREATE FUNCTION add(integer, integer) RETURNS integer
|
||||
SELECT pg_stat_monitor_reset();
|
||||
\c db1
|
||||
SELECT * FROM t1;
|
||||
SELECT *, ADD(1234, 1000) FROM t1;
|
||||
SELECT *, ADD(1, 2) FROM t1;
|
||||
SELECT * FROM t2;
|
||||
-- Check that spaces and comments do not generate a different pgsm_query_id
|
||||
SELECT * FROM t2 --WHATEVER;
|
||||
@@ -40,7 +40,7 @@ More comments to check for spaces.
|
||||
|
||||
\c db2
|
||||
SELECT * FROM t1;
|
||||
SELECT *, ADD(1234, 1000) FROM t1;
|
||||
SELECT *, ADD(1, 2) FROM t1;
|
||||
|
||||
set pg_stat_monitor.pgsm_enable_pgsm_query_id = off;
|
||||
SELECT * FROM t3;
|
||||
|
||||
Reference in New Issue
Block a user