pgsql: Refactor CopyAttributeOut{CSV,Text}() to use a callback in COPY - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: Refactor CopyAttributeOut{CSV,Text}() to use a callback in COPY
Date
Msg-id E1rWoTb-004iAg-Vi@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Refactor CopyAttributeOut{CSV,Text}() to use a callback in COPY TO

These routines are used by the text and CSV formats to send an output
representation of a string, applying quotes if required.  This is
similar to 95fb5b49024a, reducing the number of "if" branches that need
to be checked on a per-row basis when sending representation of fields
in text or CSV mode.

While on it, this simplifies the signature of CopyAttributeOutCSV() as
it is possible to know that an attribute is alone on a line thanks to
CopyToState.  Headers should not use quotes, even if forced at query
level.

Extracted from a larger patch by the same author.

Author: Sutou Kouhei
Discussion: https://postgr.es/m/20231204.153548.2126325458835528809.kou@clear-code.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/2889fd23be565155c8cd96a8c5a07ac971261515

Modified Files
--------------
src/backend/commands/copyto.c | 47 +++++++++++++++++++++++++++++--------------
1 file changed, 32 insertions(+), 15 deletions(-)


pgsql-committers by date:

Previous
From: Michael Paquier
Date:
Subject: pgsql: Refactor CopyReadAttributes{CSV,Text}() to use a callback in COP
Next
From: Amit Kapila
Date:
Subject: pgsql: Improve the comments in 004_subscription.pl.