Skip to content

Commit 38fe61e

Browse files
committed
add new regression test (pathman_param_upd_del)
1 parent 98bfe69 commit 38fe61e

File tree

3 files changed

+171
-0
lines changed

3 files changed

+171
-0
lines changed

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ REGRESS = pathman_array_qual \
4040
pathman_lateral \
4141
pathman_mergejoin \
4242
pathman_only \
43+
pathman_param_upd_del \
4344
pathman_permissions \
4445
pathman_rebuild_updates \
4546
pathman_rowmarks \

expected/pathman_param_upd_del.out

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
\set VERBOSITY terse
2+
SET search_path = 'public';
3+
CREATE EXTENSION pg_pathman;
4+
CREATE SCHEMA param_upd_del;
5+
CREATE TABLE param_upd_del.test(key INT4 NOT NULL, val INT4);
6+
SELECT create_hash_partitions('param_upd_del.test', 'key', 10);
7+
create_hash_partitions
8+
------------------------
9+
10
10+
(1 row)
11+
12+
INSERT INTO param_upd_del.test SELECT i, i FROM generate_series(1, 1000) i;
13+
ANALYZE;
14+
PREPARE upd(INT4) AS UPDATE param_upd_del.test SET val = val + 1 WHERE key = $1;
15+
EXPLAIN (COSTS OFF) EXECUTE upd(10);
16+
QUERY PLAN
17+
----------------------------
18+
Update on test_3
19+
-> Seq Scan on test_3
20+
Filter: (key = 10)
21+
(3 rows)
22+
23+
EXPLAIN (COSTS OFF) EXECUTE upd(10);
24+
QUERY PLAN
25+
----------------------------
26+
Update on test_3
27+
-> Seq Scan on test_3
28+
Filter: (key = 10)
29+
(3 rows)
30+
31+
EXPLAIN (COSTS OFF) EXECUTE upd(10);
32+
QUERY PLAN
33+
----------------------------
34+
Update on test_3
35+
-> Seq Scan on test_3
36+
Filter: (key = 10)
37+
(3 rows)
38+
39+
EXPLAIN (COSTS OFF) EXECUTE upd(10);
40+
QUERY PLAN
41+
----------------------------
42+
Update on test_3
43+
-> Seq Scan on test_3
44+
Filter: (key = 10)
45+
(3 rows)
46+
47+
EXPLAIN (COSTS OFF) EXECUTE upd(10);
48+
QUERY PLAN
49+
----------------------------
50+
Update on test_3
51+
-> Seq Scan on test_3
52+
Filter: (key = 10)
53+
(3 rows)
54+
55+
EXPLAIN (COSTS OFF) EXECUTE upd(10);
56+
QUERY PLAN
57+
----------------------------
58+
Update on test_3
59+
-> Seq Scan on test_3
60+
Filter: (key = 10)
61+
(3 rows)
62+
63+
EXPLAIN (COSTS OFF) EXECUTE upd(11);
64+
QUERY PLAN
65+
----------------------------
66+
Update on test_9
67+
-> Seq Scan on test_9
68+
Filter: (key = 11)
69+
(3 rows)
70+
71+
DEALLOCATE upd;
72+
PREPARE del(INT4) AS DELETE FROM param_upd_del.test WHERE key = $1;
73+
EXPLAIN (COSTS OFF) EXECUTE del(10);
74+
QUERY PLAN
75+
----------------------------
76+
Delete on test_3
77+
-> Seq Scan on test_3
78+
Filter: (key = 10)
79+
(3 rows)
80+
81+
EXPLAIN (COSTS OFF) EXECUTE del(10);
82+
QUERY PLAN
83+
----------------------------
84+
Delete on test_3
85+
-> Seq Scan on test_3
86+
Filter: (key = 10)
87+
(3 rows)
88+
89+
EXPLAIN (COSTS OFF) EXECUTE del(10);
90+
QUERY PLAN
91+
----------------------------
92+
Delete on test_3
93+
-> Seq Scan on test_3
94+
Filter: (key = 10)
95+
(3 rows)
96+
97+
EXPLAIN (COSTS OFF) EXECUTE del(10);
98+
QUERY PLAN
99+
----------------------------
100+
Delete on test_3
101+
-> Seq Scan on test_3
102+
Filter: (key = 10)
103+
(3 rows)
104+
105+
EXPLAIN (COSTS OFF) EXECUTE del(10);
106+
QUERY PLAN
107+
----------------------------
108+
Delete on test_3
109+
-> Seq Scan on test_3
110+
Filter: (key = 10)
111+
(3 rows)
112+
113+
EXPLAIN (COSTS OFF) EXECUTE del(10);
114+
QUERY PLAN
115+
----------------------------
116+
Delete on test_3
117+
-> Seq Scan on test_3
118+
Filter: (key = 10)
119+
(3 rows)
120+
121+
EXPLAIN (COSTS OFF) EXECUTE del(11);
122+
QUERY PLAN
123+
----------------------------
124+
Delete on test_9
125+
-> Seq Scan on test_9
126+
Filter: (key = 11)
127+
(3 rows)
128+
129+
DEALLOCATE del;
130+
DROP SCHEMA param_upd_del CASCADE;
131+
NOTICE: drop cascades to 11 other objects
132+
DROP EXTENSION pg_pathman;

sql/pathman_param_upd_del.sql

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
\set VERBOSITY terse
2+
3+
SET search_path = 'public';
4+
CREATE EXTENSION pg_pathman;
5+
CREATE SCHEMA param_upd_del;
6+
7+
8+
CREATE TABLE param_upd_del.test(key INT4 NOT NULL, val INT4);
9+
SELECT create_hash_partitions('param_upd_del.test', 'key', 10);
10+
INSERT INTO param_upd_del.test SELECT i, i FROM generate_series(1, 1000) i;
11+
12+
ANALYZE;
13+
14+
15+
PREPARE upd(INT4) AS UPDATE param_upd_del.test SET val = val + 1 WHERE key = $1;
16+
EXPLAIN (COSTS OFF) EXECUTE upd(10);
17+
EXPLAIN (COSTS OFF) EXECUTE upd(10);
18+
EXPLAIN (COSTS OFF) EXECUTE upd(10);
19+
EXPLAIN (COSTS OFF) EXECUTE upd(10);
20+
EXPLAIN (COSTS OFF) EXECUTE upd(10);
21+
EXPLAIN (COSTS OFF) EXECUTE upd(10);
22+
EXPLAIN (COSTS OFF) EXECUTE upd(11);
23+
DEALLOCATE upd;
24+
25+
26+
PREPARE del(INT4) AS DELETE FROM param_upd_del.test WHERE key = $1;
27+
EXPLAIN (COSTS OFF) EXECUTE del(10);
28+
EXPLAIN (COSTS OFF) EXECUTE del(10);
29+
EXPLAIN (COSTS OFF) EXECUTE del(10);
30+
EXPLAIN (COSTS OFF) EXECUTE del(10);
31+
EXPLAIN (COSTS OFF) EXECUTE del(10);
32+
EXPLAIN (COSTS OFF) EXECUTE del(10);
33+
EXPLAIN (COSTS OFF) EXECUTE del(11);
34+
DEALLOCATE del;
35+
36+
37+
DROP SCHEMA param_upd_del CASCADE;
38+
DROP EXTENSION pg_pathman;

0 commit comments

Comments
 (0)