From 713ceb2a2344a97d5cea8c46d619d7c55a5e72af Mon Sep 17 00:00:00 2001 From: Matvey Arye Date: Fri, 8 Nov 2019 14:10:52 -0500 Subject: [PATCH] Set active snapshots in multi-xact index create Set active snapshots when creating txns during index create with timescaledb.transaction_per_chunk. This is needed for some index types like `bloom`. Tests not added since we don't want dependencies on contrib modules like bloom. Fixes #1521. --- src/process_utility.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/process_utility.c b/src/process_utility.c index 2cb897942..98aaef767 100644 --- a/src/process_utility.c +++ b/src/process_utility.c @@ -1673,10 +1673,12 @@ process_index_chunk_multitransaction(int32 hypertable_id, Oid chunk_relid, void /* Start a new transaction for each relation. */ StartTransactionCommand(); + PushActiveSnapshot(GetTransactionSnapshot()); #ifdef DEBUG if (info->extended_options.max_chunks == 0) { + PopActiveSnapshot(); CommitTransactionCommand(); return; } @@ -1751,6 +1753,7 @@ process_index_chunk_multitransaction(int32 hypertable_id, Oid chunk_relid, void ts_catalog_restore_user(&sec_ctx); + PopActiveSnapshot(); CommitTransactionCommand(); }