summaryrefslogtreecommitdiff
path: root/src/backend/commands
diff options
context:
space:
mode:
authorSimon Riggs2012-12-02 20:52:52 +0000
committerSimon Riggs2012-12-02 20:52:52 +0000
commit5457a130d3a66db807d1e0ee2b8e829321809b83 (patch)
treead4eff3fe8a04395e6ea87accc39b1ea66adbb2f /src/backend/commands
parent3114cb60a1a3f482724adaed4ca17572c5e6bde7 (diff)
Reduce scope of changes for COPY FREEZE.
Allow support only for freezing tuples by explicit command. Previous coding mistakenly extended slightly beyond what was agreed as correct on -hackers. So essentially a partial revoke of earlier work, leaving just the COPY FREEZE command.
Diffstat (limited to 'src/backend/commands')
-rw-r--r--src/backend/commands/copy.c9
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)