diff options
Diffstat (limited to 'src/backend/commands/copy.c')
-rw-r--r-- | src/backend/commands/copy.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c index 479c4cb17d6..09f40667f68 100644 --- a/src/backend/commands/copy.c +++ b/src/backend/commands/copy.c @@ -1994,14 +1994,11 @@ CopyFrom(CopyState cstate) * which subtransaction created it is crucial for correctness * of this optimisation. */ - if (ThereAreNoPriorRegisteredSnapshots() && + if (cstate->freeze && + ThereAreNoPriorRegisteredSnapshots() && ThereAreNoReadyPortals() && cstate->rel->rd_newRelfilenodeSubid == GetCurrentSubTransactionId()) - { - hi_options |= HEAP_INSERT_COMMITTED; - if (cstate->freeze) - hi_options |= HEAP_INSERT_FROZEN; - } + hi_options |= HEAP_INSERT_FROZEN; } if (cstate->freeze && (hi_options & HEAP_INSERT_FROZEN) == 0) |