diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-05-21 22:59:01 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-05-21 22:59:01 +0000 |
commit | 6c6f395a8aca8a9525d62cbf46fbafd130bdb9e5 (patch) | |
tree | 3441e3fff093efdb62b2ef19cac4371fe248c241 /src/backend/commands/copy.c | |
parent | 26fcd25c57cd56cd42f1cec73ede1198d1ca941b (diff) | |
download | postgresql-6c6f395a8aca8a9525d62cbf46fbafd130bdb9e5.tar.gz postgresql-6c6f395a8aca8a9525d62cbf46fbafd130bdb9e5.zip |
Since COPY fires triggers, it seems like a good idea for it to use
a frozen (copied) snapshot too. Move execMain's snapshot copying code
out into a subroutine in case we find other places that need it.
Diffstat (limited to 'src/backend/commands/copy.c')
-rw-r--r-- | src/backend/commands/copy.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c index 83ca5b32c54..16c23d320ee 100644 --- a/src/backend/commands/copy.c +++ b/src/backend/commands/copy.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.155 2002/05/21 22:05:54 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.156 2002/05/21 22:59:00 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -447,6 +447,7 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, bool *isvarlena; int16 fld_size; char *string; + Snapshot mySnapshot; if (oids && !rel->rd_rel->relhasoids) elog(ERROR, "COPY: table %s does not have OIDs", @@ -494,7 +495,9 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, CopySendData(&tmp, sizeof(int32), fp); } - scandesc = heap_beginscan(rel, QuerySnapshot, 0, NULL); + mySnapshot = CopyQuerySnapshot(); + + scandesc = heap_beginscan(rel, mySnapshot, 0, NULL); while ((tuple = heap_getnext(scandesc, ForwardScanDirection)) != NULL) { |