pgsql: Fix incorrect memory context switch in COPY TO execution

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix incorrect memory context switch in COPY TO execution
Date: 2022-01-29 01:23:37
Message-ID: E1nDcSn-0006QD-N6@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix incorrect memory context switch in COPY TO execution

c532d15 has split the logic of COPY commands into multiple files, one
change being to move the internals of BeginCopy() to BeginCopyTo().
Originally the code was written so as we'd switch back-and-forth between
the current execution memory context and the dedicated memory context
for the COPY command, and this refactoring has introduced an extra
switch to the current memory context from the COPY context once
BeginCopyTo() is done with the past logic coming from BeginCopy().

The code was correctly doing the analyze, rewrite and planning phases in
the COPY context, but it was not assigning "copy_file" (FILE* used when
copying to a source file) and "filename" in the COPY context, making the
COPY status data inconsistent.

Author: Bharath Rupireddy
Reviewed-by: Japin Li
Discussion: https://postgr.es/m/CALj2ACWvVa69foi9jhHFY=2BuHxAoYboyE+vXQTARwxZcJnVrQ@mail.gmail.com
Backpatch-through: 14

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/b30282fccfa34238492c0f64808e7b4aa4ef72b3

Modified Files
--------------
src/backend/commands/copyto.c | 2 --
1 file changed, 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Geoghegan 2022-01-29 01:43:40 pgsql: vacuumlazy.c: Rename state field for consistency.
Previous Message Robert Haas 2022-01-28 21:16:40 pgsql: Add bbstreamer_gzip.c to Mkvcbuild.pm.