Обсуждение: pgsql: Refactor CopyAttributeOut{CSV,Text}() to use a callback in COPY

Поиск
Список
Период
Сортировка

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

От
Michael Paquier
Дата:
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(-)