Skip to content

Commit 36f9346

Browse files
committed
fix success check in SpawnPartitionsWorker
1 parent e678c3e commit 36f9346

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

src/pathman_workers.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ bgw_main_spawn_partitions(Datum main_arg)
365365
args->value_type);
366366

367367
/* Finish transaction in an appropriate way */
368-
if (args->result == InvalidOid)
368+
if (args->result == InvalidOid || IsAbortedTransactionBlockState())
369369
AbortCurrentTransaction();
370370
else
371371
CommitTransactionCommand();

src/pg_pathman.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -876,9 +876,10 @@ create_partitions_internal(Oid relid, Datum value, Oid value_type)
876876
interval_type, true, &partid);
877877

878878
/* while (value < MIN) ... */
879-
spawn_partitions(PrelParentRelid(prel), value, min_rvalue,
880-
prel->atttype, &interval_type_cmp, interval_binary,
881-
interval_type, false, &partid);
879+
if (partid == InvalidOid)
880+
spawn_partitions(PrelParentRelid(prel), value, min_rvalue,
881+
prel->atttype, &interval_type_cmp, interval_binary,
882+
interval_type, false, &partid);
882883

883884
SPI_finish(); /* close SPI connection */
884885
}

0 commit comments

Comments
 (0)