Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f4410af

Browse files
committed
Fix mutliple problems with regression tests.
- the ^@ operator does not exist in all supported version, so use instead the "text ~ text" non-commutable operator - first tests could fail is used against an instance with preexisting data in pg_qualstats' shmem - a test would give different results whether pg_stat_statements is installed or not
1 parent 1fc605f commit f4410af

File tree

2 files changed

+22
-9
lines changed

2 files changed

+22
-9
lines changed

expected/pg_qualstats.out

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
CREATE EXTENSION pg_qualstats;
2+
-- Make sure that installcheck won't find previous data
3+
SELECT pg_qualstats_reset();
4+
pg_qualstats_reset
5+
--------------------
6+
7+
(1 row)
8+
29
-- Make sure sure we'll see at least one qual
310
SET pg_qualstats.sample_rate = 1;
411
CREATE TABLE pgqs AS SELECT id, 'a'::text val FROM generate_series(1, 100) id;
@@ -60,7 +67,7 @@ SELECT COUNT(*) FROM pg_qualstats();
6067
(1 row)
6168

6269
-- const non_commutable_operator var, should be tracked, var found on RHS
63-
SELECT * FROM pgqs WHERE 'somevalue' ^@ val;
70+
SELECT * FROM pgqs WHERE 'meh' ~ val;
6471
id | val
6572
----+-----
6673
(0 rows)
@@ -105,12 +112,13 @@ SELECT * FROM pgqs WHERE 0 = id;
105112
----+-----
106113
(0 rows)
107114

108-
SELECT lrelid::regclass, lattnum, rrelid::regclass, rattnum FROM pg_qualstats();
109-
lrelid | lattnum | rrelid | rattnum
110-
--------+---------+--------+---------
111-
pgqs | 1 | |
112-
pgqs | 1 | |
113-
(2 rows)
115+
SELECT lrelid::regclass, lattnum, rrelid::regclass, rattnum, sum(occurences)
116+
FROM pg_qualstats()
117+
GROUP by 1, 2, 3, 4;
118+
lrelid | lattnum | rrelid | rattnum | sum
119+
--------+---------+--------+---------+-----
120+
pgqs | 1 | | | 2
121+
(1 row)
114122

115123
SELECT COUNT(DISTINCT qualnodeid) FROM pg_qualstats();
116124
count

test/sql/pg_qualstats.sql

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
CREATE EXTENSION pg_qualstats;
22

3+
-- Make sure that installcheck won't find previous data
4+
SELECT pg_qualstats_reset();
5+
36
-- Make sure sure we'll see at least one qual
47
SET pg_qualstats.sample_rate = 1;
58

@@ -18,7 +21,7 @@ SELECT COUNT(*) FROM pg_qualstats();
1821
SELECT * FROM (SELECT * FROM pgqs LIMIT 0) pgqs WHERE pgqs.id = 0;
1922
SELECT COUNT(*) FROM pg_qualstats();
2023
-- const non_commutable_operator var, should be tracked, var found on RHS
21-
SELECT * FROM pgqs WHERE 'somevalue' ^@ val;
24+
SELECT * FROM pgqs WHERE 'meh' ~ val;
2225
SELECT lrelid::regclass, lattnum, rrelid::regclass, rattnum FROM pg_qualstats();
2326
SELECT pg_qualstats_reset();
2427
-- opexpr operator var and commuted, shouldn't be tracked
@@ -28,7 +31,9 @@ SELECT COUNT(*) FROM pg_qualstats();
2831
-- same query with handled commuted qual, which should be found as identical
2932
SELECT * FROM pgqs WHERE id = 0;
3033
SELECT * FROM pgqs WHERE 0 = id;
31-
SELECT lrelid::regclass, lattnum, rrelid::regclass, rattnum FROM pg_qualstats();
34+
SELECT lrelid::regclass, lattnum, rrelid::regclass, rattnum, sum(occurences)
35+
FROM pg_qualstats()
36+
GROUP by 1, 2, 3, 4;
3237
SELECT COUNT(DISTINCT qualnodeid) FROM pg_qualstats();
3338
-- (unique)qualid behavior
3439
SELECT pg_qualstats_reset();

0 commit comments

Comments
 (0)