Skip to content

Commit eb8bcec

Browse files
committed
improve regression test 'pathman_update_trigger'
1 parent 992a7ad commit eb8bcec

File tree

2 files changed

+81
-1
lines changed

2 files changed

+81
-1
lines changed

expected/pathman_update_trigger.out

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,57 @@ SELECT count(*) FROM test_update_trigger.test_range;
175175
90
176176
(1 row)
177177

178+
/* Test tuple conversion (attached partition) */
179+
CREATE TABLE test_update_trigger.test_range_inv(comment TEXT, val NUMERIC NOT NULL);
180+
SELECT attach_range_partition('test_update_trigger.test_range',
181+
'test_update_trigger.test_range_inv',
182+
101::NUMERIC, 111::NUMERIC);
183+
attach_range_partition
184+
------------------------------------
185+
test_update_trigger.test_range_inv
186+
(1 row)
187+
188+
UPDATE test_update_trigger.test_range SET val = 105 WHERE val = 60;
189+
/* Check values #8 */
190+
SELECT tableoid::REGCLASS, *
191+
FROM test_update_trigger.test_range
192+
WHERE val = 105
193+
ORDER BY comment;
194+
tableoid | val | comment
195+
------------------------------------+-----+---------
196+
test_update_trigger.test_range_inv | 105 | 60
197+
(1 row)
198+
199+
SELECT count(*) FROM test_update_trigger.test_range;
200+
count
201+
-------
202+
90
203+
(1 row)
204+
205+
/* Test tuple conversion (dropped column) */
206+
ALTER TABLE test_update_trigger.test_range DROP COLUMN comment CASCADE;
207+
SELECT append_range_partition('test_update_trigger.test_range');
208+
append_range_partition
209+
-----------------------------------
210+
test_update_trigger.test_range_12
211+
(1 row)
212+
213+
UPDATE test_update_trigger.test_range SET val = 115 WHERE val = 55;
214+
/* Check values #9 */
215+
SELECT tableoid::REGCLASS, *
216+
FROM test_update_trigger.test_range
217+
WHERE val = 115;
218+
tableoid | val
219+
-----------------------------------+-----
220+
test_update_trigger.test_range_12 | 115
221+
(1 row)
222+
223+
SELECT count(*) FROM test_update_trigger.test_range;
224+
count
225+
-------
226+
90
227+
(1 row)
228+
178229
/* Partition table by HASH (INT4) */
179230
CREATE TABLE test_update_trigger.test_hash(val INT4 NOT NULL, comment TEXT);
180231
INSERT INTO test_update_trigger.test_hash SELECT i, i FROM generate_series(1, 10) i;
@@ -235,5 +286,5 @@ SELECT count(*) FROM test_update_trigger.test_hash;
235286
(1 row)
236287

237288
DROP SCHEMA test_update_trigger CASCADE;
238-
NOTICE: drop cascades to 16 other objects
289+
NOTICE: drop cascades to 18 other objects
239290
DROP EXTENSION pg_pathman;

sql/pathman_update_trigger.sql

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,35 @@ ORDER BY comment;
9898
SELECT count(*) FROM test_update_trigger.test_range;
9999

100100

101+
/* Test tuple conversion (attached partition) */
102+
CREATE TABLE test_update_trigger.test_range_inv(comment TEXT, val NUMERIC NOT NULL);
103+
SELECT attach_range_partition('test_update_trigger.test_range',
104+
'test_update_trigger.test_range_inv',
105+
101::NUMERIC, 111::NUMERIC);
106+
UPDATE test_update_trigger.test_range SET val = 105 WHERE val = 60;
107+
108+
/* Check values #8 */
109+
SELECT tableoid::REGCLASS, *
110+
FROM test_update_trigger.test_range
111+
WHERE val = 105
112+
ORDER BY comment;
113+
114+
SELECT count(*) FROM test_update_trigger.test_range;
115+
116+
117+
/* Test tuple conversion (dropped column) */
118+
ALTER TABLE test_update_trigger.test_range DROP COLUMN comment CASCADE;
119+
SELECT append_range_partition('test_update_trigger.test_range');
120+
UPDATE test_update_trigger.test_range SET val = 115 WHERE val = 55;
121+
122+
/* Check values #9 */
123+
SELECT tableoid::REGCLASS, *
124+
FROM test_update_trigger.test_range
125+
WHERE val = 115;
126+
127+
SELECT count(*) FROM test_update_trigger.test_range;
128+
129+
101130

102131
/* Partition table by HASH (INT4) */
103132
CREATE TABLE test_update_trigger.test_hash(val INT4 NOT NULL, comment TEXT);

0 commit comments

Comments
 (0)