aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorSimon Riggs <simon@2ndQuadrant.com>2012-12-07 13:26:52 +0000
committerSimon Riggs <simon@2ndQuadrant.com>2012-12-07 13:26:52 +0000
commit1f023f929702efc9fd4230267b0f0e8d72ba5067 (patch)
tree04b1cfc1ad223ed4d6e334cde0a0c9ad14f40e84 /src/backend
parent1eb6cee499d19fc9204e059ba37fc2dac32e2f25 (diff)
downloadpostgresql-1f023f929702efc9fd4230267b0f0e8d72ba5067.tar.gz
postgresql-1f023f929702efc9fd4230267b0f0e8d72ba5067.zip
Optimize COPY FREEZE with CREATE TABLE also.
Jeff Davis, additional test by me
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/commands/copy.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c
index c4104e4d9d5..8200d981399 100644
--- a/src/backend/commands/copy.c
+++ b/src/backend/commands/copy.c
@@ -2002,7 +2002,8 @@ CopyFrom(CopyState cstate)
if (cstate->freeze &&
ThereAreNoPriorRegisteredSnapshots() &&
ThereAreNoReadyPortals() &&
- cstate->rel->rd_newRelfilenodeSubid == GetCurrentSubTransactionId())
+ (cstate->rel->rd_newRelfilenodeSubid == GetCurrentSubTransactionId() ||
+ cstate->rel->rd_createSubid == GetCurrentSubTransactionId()))
hi_options |= HEAP_INSERT_FROZEN;
}