summaryrefslogtreecommitdiff
path: root/src/backend/commands/copy.c
diff options
context:
space:
mode:
authorSimon Riggs <simon@2ndQuadrant.com>2012-12-02 20:52:52 +0000
committerSimon Riggs <simon@2ndQuadrant.com>2012-12-02 20:52:52 +0000
commit5457a130d3a66db807d1e0ee2b8e829321809b83 (patch)
treead4eff3fe8a04395e6ea87accc39b1ea66adbb2f /src/backend/commands/copy.c
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/copy.c')
-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)