Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 72f59d4

Browse files
committed
Improve tests
1 parent 870d953 commit 72f59d4

File tree

2 files changed

+166
-33
lines changed

2 files changed

+166
-33
lines changed

expected/pathman_callbacks.out

Lines changed: 158 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -218,10 +218,12 @@ BEGIN
218218
parent_rel := concat(params->>'partition_schema', '.', params->>'parent')::regclass;
219219

220220
-- drop "old" partitions
221-
FOR relation IN (SELECT partition FROM pathman_partition_list
222-
WHERE parent = parent_rel
223-
ORDER BY range_min::INT4 DESC
224-
OFFSET 4) -- remain 4 last partitions
221+
FOR relation IN (SELECT partition FROM
222+
(SELECT partition, range_min::INT4 FROM pathman_partition_list
223+
WHERE parent = parent_rel
224+
ORDER BY range_min::INT4 DESC
225+
OFFSET 4) t -- remain 4 last partitions
226+
ORDER BY range_min)
225227
LOOP
226228
RAISE NOTICE 'dropping partition %', relation;
227229
PERFORM drop_range_partition(relation);
@@ -252,35 +254,167 @@ SELECT set_init_callback('callbacks.abc',
252254

253255
(1 row)
254256

255-
INSERT INTO callbacks.abc VALUES (110);
256-
NOTICE: dropping partition callbacks.abc_7
257-
NOTICE: dropping partition callbacks.abc_6
258-
NOTICE: dropping partition callbacks.abc_5
259-
NOTICE: dropping partition callbacks.abc_4
260-
NOTICE: dropping partition callbacks.abc_3
261-
NOTICE: dropping partition callbacks.abc_2
257+
INSERT INTO callbacks.abc VALUES (1000);
262258
NOTICE: dropping partition callbacks.abc_1
263-
INSERT INTO callbacks.abc VALUES (120);
264-
INSERT INTO callbacks.abc VALUES (130);
259+
NOTICE: dropping partition callbacks.abc_2
260+
NOTICE: dropping partition callbacks.abc_3
261+
NOTICE: dropping partition callbacks.abc_4
262+
NOTICE: dropping partition callbacks.abc_5
263+
NOTICE: dropping partition callbacks.abc_6
264+
NOTICE: dropping partition callbacks.abc_7
265265
NOTICE: dropping partition callbacks.abc_8
266-
INSERT INTO callbacks.abc VALUES (140);
267266
NOTICE: dropping partition callbacks.abc_9
268-
INSERT INTO callbacks.abc VALUES (150);
269267
NOTICE: dropping partition callbacks.abc_10
268+
NOTICE: dropping partition callbacks.abc_11
269+
NOTICE: dropping partition callbacks.abc_12
270+
NOTICE: dropping partition callbacks.abc_13
271+
NOTICE: dropping partition callbacks.abc_14
272+
NOTICE: dropping partition callbacks.abc_15
273+
NOTICE: dropping partition callbacks.abc_16
274+
NOTICE: dropping partition callbacks.abc_17
275+
NOTICE: dropping partition callbacks.abc_18
276+
NOTICE: dropping partition callbacks.abc_19
277+
NOTICE: dropping partition callbacks.abc_20
278+
NOTICE: dropping partition callbacks.abc_21
279+
NOTICE: dropping partition callbacks.abc_22
280+
NOTICE: dropping partition callbacks.abc_23
281+
NOTICE: dropping partition callbacks.abc_24
282+
NOTICE: dropping partition callbacks.abc_25
283+
NOTICE: dropping partition callbacks.abc_26
284+
NOTICE: dropping partition callbacks.abc_27
285+
NOTICE: dropping partition callbacks.abc_28
286+
NOTICE: dropping partition callbacks.abc_29
287+
NOTICE: dropping partition callbacks.abc_30
288+
NOTICE: dropping partition callbacks.abc_31
289+
NOTICE: dropping partition callbacks.abc_32
290+
NOTICE: dropping partition callbacks.abc_33
291+
NOTICE: dropping partition callbacks.abc_34
292+
NOTICE: dropping partition callbacks.abc_35
293+
NOTICE: dropping partition callbacks.abc_36
294+
NOTICE: dropping partition callbacks.abc_37
295+
NOTICE: dropping partition callbacks.abc_38
296+
NOTICE: dropping partition callbacks.abc_39
297+
NOTICE: dropping partition callbacks.abc_40
298+
NOTICE: dropping partition callbacks.abc_41
299+
NOTICE: dropping partition callbacks.abc_42
300+
NOTICE: dropping partition callbacks.abc_43
301+
NOTICE: dropping partition callbacks.abc_44
302+
NOTICE: dropping partition callbacks.abc_45
303+
NOTICE: dropping partition callbacks.abc_46
304+
NOTICE: dropping partition callbacks.abc_47
305+
NOTICE: dropping partition callbacks.abc_48
306+
NOTICE: dropping partition callbacks.abc_49
307+
NOTICE: dropping partition callbacks.abc_50
308+
NOTICE: dropping partition callbacks.abc_51
309+
NOTICE: dropping partition callbacks.abc_52
310+
NOTICE: dropping partition callbacks.abc_53
311+
NOTICE: dropping partition callbacks.abc_54
312+
NOTICE: dropping partition callbacks.abc_55
313+
NOTICE: dropping partition callbacks.abc_56
314+
NOTICE: dropping partition callbacks.abc_57
315+
NOTICE: dropping partition callbacks.abc_58
316+
NOTICE: dropping partition callbacks.abc_59
317+
NOTICE: dropping partition callbacks.abc_60
318+
NOTICE: dropping partition callbacks.abc_61
319+
NOTICE: dropping partition callbacks.abc_62
320+
NOTICE: dropping partition callbacks.abc_63
321+
NOTICE: dropping partition callbacks.abc_64
322+
NOTICE: dropping partition callbacks.abc_65
323+
NOTICE: dropping partition callbacks.abc_66
324+
NOTICE: dropping partition callbacks.abc_67
325+
NOTICE: dropping partition callbacks.abc_68
326+
NOTICE: dropping partition callbacks.abc_69
327+
NOTICE: dropping partition callbacks.abc_70
328+
NOTICE: dropping partition callbacks.abc_71
329+
NOTICE: dropping partition callbacks.abc_72
330+
NOTICE: dropping partition callbacks.abc_73
331+
NOTICE: dropping partition callbacks.abc_74
332+
NOTICE: dropping partition callbacks.abc_75
333+
NOTICE: dropping partition callbacks.abc_76
334+
NOTICE: dropping partition callbacks.abc_77
335+
NOTICE: dropping partition callbacks.abc_78
336+
NOTICE: dropping partition callbacks.abc_79
337+
NOTICE: dropping partition callbacks.abc_80
338+
NOTICE: dropping partition callbacks.abc_81
339+
NOTICE: dropping partition callbacks.abc_82
340+
NOTICE: dropping partition callbacks.abc_83
341+
NOTICE: dropping partition callbacks.abc_84
342+
NOTICE: dropping partition callbacks.abc_85
343+
NOTICE: dropping partition callbacks.abc_86
344+
NOTICE: dropping partition callbacks.abc_87
345+
NOTICE: dropping partition callbacks.abc_88
346+
NOTICE: dropping partition callbacks.abc_89
347+
NOTICE: dropping partition callbacks.abc_90
348+
NOTICE: dropping partition callbacks.abc_91
349+
NOTICE: dropping partition callbacks.abc_92
350+
NOTICE: dropping partition callbacks.abc_93
351+
NOTICE: dropping partition callbacks.abc_94
352+
NOTICE: dropping partition callbacks.abc_95
353+
NOTICE: dropping partition callbacks.abc_96
354+
INSERT INTO callbacks.abc VALUES (1500);
355+
NOTICE: dropping partition callbacks.abc_97
356+
NOTICE: dropping partition callbacks.abc_98
357+
NOTICE: dropping partition callbacks.abc_99
358+
NOTICE: dropping partition callbacks.abc_100
359+
NOTICE: dropping partition callbacks.abc_101
360+
NOTICE: dropping partition callbacks.abc_102
361+
NOTICE: dropping partition callbacks.abc_103
362+
NOTICE: dropping partition callbacks.abc_104
363+
NOTICE: dropping partition callbacks.abc_105
364+
NOTICE: dropping partition callbacks.abc_106
365+
NOTICE: dropping partition callbacks.abc_107
366+
NOTICE: dropping partition callbacks.abc_108
367+
NOTICE: dropping partition callbacks.abc_109
368+
NOTICE: dropping partition callbacks.abc_110
369+
NOTICE: dropping partition callbacks.abc_111
370+
NOTICE: dropping partition callbacks.abc_112
371+
NOTICE: dropping partition callbacks.abc_113
372+
NOTICE: dropping partition callbacks.abc_114
373+
NOTICE: dropping partition callbacks.abc_115
374+
NOTICE: dropping partition callbacks.abc_116
375+
NOTICE: dropping partition callbacks.abc_117
376+
NOTICE: dropping partition callbacks.abc_118
377+
NOTICE: dropping partition callbacks.abc_119
378+
NOTICE: dropping partition callbacks.abc_120
379+
NOTICE: dropping partition callbacks.abc_121
380+
NOTICE: dropping partition callbacks.abc_122
381+
NOTICE: dropping partition callbacks.abc_123
382+
NOTICE: dropping partition callbacks.abc_124
383+
NOTICE: dropping partition callbacks.abc_125
384+
NOTICE: dropping partition callbacks.abc_126
385+
NOTICE: dropping partition callbacks.abc_127
386+
NOTICE: dropping partition callbacks.abc_128
387+
NOTICE: dropping partition callbacks.abc_129
388+
NOTICE: dropping partition callbacks.abc_130
389+
NOTICE: dropping partition callbacks.abc_131
390+
NOTICE: dropping partition callbacks.abc_132
391+
NOTICE: dropping partition callbacks.abc_133
392+
NOTICE: dropping partition callbacks.abc_134
393+
NOTICE: dropping partition callbacks.abc_135
394+
NOTICE: dropping partition callbacks.abc_136
395+
NOTICE: dropping partition callbacks.abc_137
396+
NOTICE: dropping partition callbacks.abc_138
397+
NOTICE: dropping partition callbacks.abc_139
398+
NOTICE: dropping partition callbacks.abc_140
399+
NOTICE: dropping partition callbacks.abc_141
400+
NOTICE: dropping partition callbacks.abc_142
401+
NOTICE: dropping partition callbacks.abc_143
402+
NOTICE: dropping partition callbacks.abc_144
403+
NOTICE: dropping partition callbacks.abc_145
404+
NOTICE: dropping partition callbacks.abc_146
270405
SELECT * FROM pathman_partition_list
271406
WHERE parent = 'callbacks.abc'::REGCLASS
272407
ORDER BY range_min::INT4;
273-
parent | partition | parttype | partattr | range_min | range_max
274-
---------------+------------------+----------+----------+-----------+-----------
275-
callbacks.abc | callbacks.abc_11 | 2 | a | 101 | 111
276-
callbacks.abc | callbacks.abc_12 | 2 | a | 111 | 121
277-
callbacks.abc | callbacks.abc_13 | 2 | a | 121 | 131
278-
callbacks.abc | callbacks.abc_14 | 2 | a | 131 | 141
279-
callbacks.abc | callbacks.abc_15 | 2 | a | 141 | 151
280-
(5 rows)
408+
parent | partition | parttype | partattr | range_min | range_max
409+
---------------+-------------------+----------+----------+-----------+-----------
410+
callbacks.abc | callbacks.abc_147 | 2 | a | 1461 | 1471
411+
callbacks.abc | callbacks.abc_148 | 2 | a | 1471 | 1481
412+
callbacks.abc | callbacks.abc_149 | 2 | a | 1481 | 1491
413+
callbacks.abc | callbacks.abc_150 | 2 | a | 1491 | 1501
414+
(4 rows)
281415

282416
DROP TABLE callbacks.abc CASCADE;
283-
NOTICE: drop cascades to 5 other objects
417+
NOTICE: drop cascades to 4 other objects
284418
DROP SCHEMA callbacks CASCADE;
285419
NOTICE: drop cascades to 3 other objects
286420
DROP EXTENSION pg_pathman CASCADE;

sql/pathman_callbacks.sql

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,12 @@ BEGIN
113113
parent_rel := concat(params->>'partition_schema', '.', params->>'parent')::regclass;
114114

115115
-- drop "old" partitions
116-
FOR relation IN (SELECT partition FROM pathman_partition_list
117-
WHERE parent = parent_rel
118-
ORDER BY range_min::INT4 DESC
119-
OFFSET 4) -- remain 4 last partitions
116+
FOR relation IN (SELECT partition FROM
117+
(SELECT partition, range_min::INT4 FROM pathman_partition_list
118+
WHERE parent = parent_rel
119+
ORDER BY range_min::INT4 DESC
120+
OFFSET 4) t -- remain 4 last partitions
121+
ORDER BY range_min)
120122
LOOP
121123
RAISE NOTICE 'dropping partition %', relation;
122124
PERFORM drop_range_partition(relation);
@@ -131,11 +133,8 @@ ORDER BY range_min::INT4;
131133
SELECT set_init_callback('callbacks.abc',
132134
'callbacks.rotation_callback(jsonb)');
133135

134-
INSERT INTO callbacks.abc VALUES (110);
135-
INSERT INTO callbacks.abc VALUES (120);
136-
INSERT INTO callbacks.abc VALUES (130);
137-
INSERT INTO callbacks.abc VALUES (140);
138-
INSERT INTO callbacks.abc VALUES (150);
136+
INSERT INTO callbacks.abc VALUES (1000);
137+
INSERT INTO callbacks.abc VALUES (1500);
139138

140139
SELECT * FROM pathman_partition_list
141140
WHERE parent = 'callbacks.abc'::REGCLASS

0 commit comments

Comments
 (0)