mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Add NOT NULL checking of pg_stat_statements_reset() in tests
This is preliminary patch. It adds NOT NULL checking for the result of pg_stat_statements_reset() function. It is needed for upcoming patch "Track statement entry timestamp" that will change the result type of this function to the timestamp of a reset performed. Discussion: https://postgr.es/m/flat/72e80e7b160a6eb189df9ef6f068cce3765d37f8.camel%40moonset.ru Author: Andrei Zubkov Reviewed-by: Julien Rouhaud, Hayato Kuroda, Yuki Seino, Chengxi Sun Reviewed-by: Anton Melnikov, Darren Rush, Michael Paquier, Sergei Kornilov Reviewed-by: Alena Rybakina, Andrei Lepikhov
This commit is contained in:
@ -4,7 +4,7 @@
|
||||
|
||||
-- These tests require track_utility to be enabled.
|
||||
SET pg_stat_statements.track_utility = TRUE;
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
|
||||
-- Tables, indexes, triggers
|
||||
CREATE TEMP TABLE tab_stats (a int, b char(20));
|
||||
@ -18,7 +18,7 @@ DROP TABLE IF EXISTS tab_stats \;
|
||||
DROP TABLE IF EXISTS tab_stats \;
|
||||
Drop Table If Exists tab_stats \;
|
||||
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
|
||||
-- Partitions
|
||||
CREATE TABLE pt_stats (a int, b int) PARTITION BY range (a);
|
||||
@ -83,7 +83,7 @@ CREATE STATISTICS tab_expr_stats_1 (mcv) ON a, (2*a), (3*b) FROM tab_expr_stats;
|
||||
DROP TABLE tab_expr_stats;
|
||||
|
||||
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
|
||||
-- Transaction statements
|
||||
BEGIN;
|
||||
@ -113,7 +113,7 @@ COMMIT;
|
||||
BEGIN TRANSACTION NOT DEFERRABLE, READ ONLY, READ WRITE, DEFERRABLE;
|
||||
COMMIT;
|
||||
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
|
||||
-- Two-phase transactions
|
||||
BEGIN;
|
||||
@ -123,7 +123,7 @@ BEGIN;
|
||||
PREPARE TRANSACTION 'stat_trans2';
|
||||
ROLLBACK PREPARED 'stat_trans2';
|
||||
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
|
||||
-- Savepoints
|
||||
BEGIN;
|
||||
@ -140,7 +140,7 @@ ROLLBACK TO sp1;
|
||||
RELEASE SAVEPOINT sp1;
|
||||
COMMIT;
|
||||
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
|
||||
-- EXPLAIN statements
|
||||
-- A Query is used, normalized by the query jumbling.
|
||||
@ -185,7 +185,7 @@ BEGIN
|
||||
i2 := i;
|
||||
i3 := i3 + i;
|
||||
END; $$ LANGUAGE plpgsql;
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
CALL sum_one(3);
|
||||
CALL sum_one(199);
|
||||
CALL sum_two(1,1);
|
||||
@ -198,7 +198,7 @@ SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
|
||||
|
||||
-- COPY
|
||||
CREATE TABLE copy_stats (a int, b int);
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
-- Some queries with A_Const nodes.
|
||||
COPY (SELECT 1) TO STDOUT;
|
||||
COPY (SELECT 2) TO STDOUT;
|
||||
@ -210,7 +210,7 @@ COPY (DELETE FROM copy_stats WHERE a = 1 RETURNING *) TO STDOUT;
|
||||
|
||||
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
|
||||
DROP TABLE copy_stats;
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
|
||||
-- CREATE TABLE AS
|
||||
-- SELECT queries are normalized, creating matching query IDs.
|
||||
@ -227,7 +227,7 @@ CREATE TABLE ctas_stats_2 AS
|
||||
FROM generate_series(1, 5) AS tab(a) WHERE a < 4 AND a > 1;
|
||||
DROP TABLE ctas_stats_2;
|
||||
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
|
||||
-- CREATE MATERIALIZED VIEW
|
||||
-- SELECT queries are normalized, creating matching query IDs.
|
||||
@ -240,7 +240,7 @@ CREATE MATERIALIZED VIEW matview_stats_1 AS
|
||||
FROM generate_series(1, 5) AS tab(a) WHERE a < 4 AND a > 3;
|
||||
DROP MATERIALIZED VIEW matview_stats_1;
|
||||
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
|
||||
-- CREATE VIEW
|
||||
CREATE VIEW view_stats_1 AS
|
||||
@ -252,7 +252,7 @@ CREATE VIEW view_stats_1 AS
|
||||
FROM generate_series(1, 5) AS tab(a) WHERE a < 4 AND a > 3;
|
||||
DROP VIEW view_stats_1;
|
||||
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
|
||||
-- Domains
|
||||
CREATE DOMAIN domain_stats AS int CHECK (VALUE > 0);
|
||||
@ -260,7 +260,7 @@ ALTER DOMAIN domain_stats SET DEFAULT '3';
|
||||
ALTER DOMAIN domain_stats ADD CONSTRAINT higher_than_one CHECK (VALUE > 1);
|
||||
DROP DOMAIN domain_stats;
|
||||
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
|
||||
-- Execution statements
|
||||
SELECT 1 as a;
|
||||
@ -273,7 +273,7 @@ DEALLOCATE PREPARE stat_select;
|
||||
DEALLOCATE ALL;
|
||||
DEALLOCATE PREPARE ALL;
|
||||
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
|
||||
-- SET statements.
|
||||
-- These use two different strings, still they count as one entry.
|
||||
@ -299,7 +299,7 @@ RESET SESSION AUTHORIZATION;
|
||||
COMMIT;
|
||||
|
||||
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
|
||||
--
|
||||
-- Track the total number of rows retrieved or affected by the utility
|
||||
@ -328,4 +328,4 @@ DROP MATERIALIZED VIEW pgss_matv;
|
||||
DROP TABLE pgss_ctas;
|
||||
DROP TABLE pgss_select_into;
|
||||
|
||||
SELECT pg_stat_statements_reset();
|
||||
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
||||
|
Reference in New Issue
Block a user