|
98 | 98 | PERFORM @extschema@.lock_partitioned_relation(parent_relid); |
99 | 99 |
|
100 | 100 | IF partition_data = true THEN |
101 | | - /* Acquire data modification lock */ |
| 101 | + /* Perform some checks regarding the blocking partitioning */ |
| 102 | + PERFORM @extschema@.common_blocking_partitioning_checks(parent_relid); |
| 103 | + |
| 104 | + /* Acquire data modification lock (prevent further modifications) */ |
102 | 105 | PERFORM @extschema@.lock_relation_modification(parent_relid); |
103 | 106 | END IF; |
104 | 107 |
|
@@ -200,7 +203,10 @@ BEGIN |
200 | 203 | PERFORM @extschema@.lock_partitioned_relation(parent_relid); |
201 | 204 |
|
202 | 205 | IF partition_data = true THEN |
203 | | - /* Acquire data modification lock */ |
| 206 | + /* Perform some checks regarding the blocking partitioning */ |
| 207 | + PERFORM @extschema@.common_blocking_partitioning_checks(parent_relid); |
| 208 | + |
| 209 | + /* Acquire data modification lock (prevent further modifications) */ |
204 | 210 | PERFORM @extschema@.lock_relation_modification(parent_relid); |
205 | 211 | END IF; |
206 | 212 |
|
@@ -300,7 +306,10 @@ BEGIN |
300 | 306 | PERFORM @extschema@.lock_partitioned_relation(parent_relid); |
301 | 307 |
|
302 | 308 | IF partition_data = true THEN |
303 | | - /* Acquire data modification lock */ |
| 309 | + /* Perform some checks regarding the blocking partitioning */ |
| 310 | + PERFORM @extschema@.common_blocking_partitioning_checks(parent_relid); |
| 311 | + |
| 312 | + /* Acquire data modification lock (prevent further modifications) */ |
304 | 313 | PERFORM @extschema@.lock_relation_modification(parent_relid); |
305 | 314 | END IF; |
306 | 315 |
|
@@ -373,7 +382,10 @@ BEGIN |
373 | 382 | PERFORM @extschema@.lock_partitioned_relation(parent_relid); |
374 | 383 |
|
375 | 384 | IF partition_data = true THEN |
376 | | - /* Acquire data modification lock */ |
| 385 | + /* Perform some checks regarding the blocking partitioning */ |
| 386 | + PERFORM @extschema@.common_blocking_partitioning_checks(parent_relid); |
| 387 | + |
| 388 | + /* Acquire data modification lock (prevent further modifications) */ |
377 | 389 | PERFORM @extschema@.lock_relation_modification(parent_relid); |
378 | 390 | END IF; |
379 | 391 |
|
@@ -521,7 +533,8 @@ BEGIN |
521 | 533 | /* Acquire exclusive lock on parent */ |
522 | 534 | PERFORM @extschema@.lock_partitioned_relation(v_parent_relid); |
523 | 535 |
|
524 | | - /* Acquire data modification lock */ |
| 536 | + /* Acquire data modification lock (prevent further modifications) */ |
| 537 | + PERFORM @extschema@.common_blocking_partitioning_checks(p_partition); |
525 | 538 | PERFORM @extschema@.lock_relation_modification(p_partition); |
526 | 539 |
|
527 | 540 | SELECT attname, parttype |
@@ -608,8 +621,10 @@ BEGIN |
608 | 621 | v_parent_relid1 := @extschema@.get_parent_of_partition(partition1); |
609 | 622 | v_parent_relid2 := @extschema@.get_parent_of_partition(partition2); |
610 | 623 |
|
611 | | - /* Acquire data modification lock */ |
| 624 | + /* Acquire data modification locks (prevent further modifications) */ |
| 625 | + PERFORM @extschema@.common_blocking_partitioning_checks(partition1); |
612 | 626 | PERFORM @extschema@.lock_relation_modification(partition1); |
| 627 | + PERFORM @extschema@.common_blocking_partitioning_checks(partition2); |
613 | 628 | PERFORM @extschema@.lock_relation_modification(partition2); |
614 | 629 |
|
615 | 630 | IF v_parent_relid1 != v_parent_relid2 THEN |
|
0 commit comments