Refactor CopyReadAttributes{CSV,Text}() to use a callback in COPY FROM
authorMichael Paquier <michael@paquier.xyz>
Mon, 5 Feb 2024 00:46:02 +0000 (09:46 +0900)
committerMichael Paquier <michael@paquier.xyz>
Mon, 5 Feb 2024 00:46:02 +0000 (09:46 +0900)
commit95fb5b49024aa51310f91aba669aaf0bb3227932
tree7ccf2f1642c692fdbd45b864052fa257d9a40ee8
parent774bcffe4a9853a24e61d758637c0aad2871f1fb
Refactor CopyReadAttributes{CSV,Text}() to use a callback in COPY FROM

CopyReadAttributes{CSV,Text}() are used to parse lines for text and CSV
format.  This reduces the number of "if" branches that need to be
checked when parsing fields in CSV and text mode when dealing with a
COPY FROM, something that can become more noticeable with more
attributes and more lines to process.

Extracted from a larger patch by the same author.

Author: Sutou Kouhei
Discussion: https://postgr.es/m/20231204.153548.2126325458835528809.kou@clear-code.com
src/backend/commands/copyfrom.c
src/backend/commands/copyfromparse.c
src/include/commands/copyfrom_internal.h