Re: pgsql: Refactor COPY FROM to use format callback functions.
От | Masahiko Sawada |
---|---|
Тема | Re: pgsql: Refactor COPY FROM to use format callback functions. |
Дата | |
Msg-id | CAD21AoBA414Q76LthY65NJfWbjOxXn1bdFFsD_NBhT2wPUS1SQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: pgsql: Refactor COPY FROM to use format callback functions. (Andrew Dunstan <andrew@dunslane.net>) |
Ответы |
Re: pgsql: Refactor COPY FROM to use format callback functions.
|
Список | pgsql-committers |
On Fri, Feb 28, 2025 at 12:14 PM Andrew Dunstan <andrew@dunslane.net> wrote: > > > On 2025-02-28 Fr 2:55 PM, Masahiko Sawada wrote: > > On Fri, Feb 28, 2025 at 11:47 AM Andrew Dunstan <andrew@dunslane.net> wrote: > >> > >> On 2025-02-28 Fr 1:31 PM, Masahiko Sawada wrote: > >> > >> Refactor COPY FROM to use format callback functions. > >> > >> This commit introduces a new CopyFromRoutine struct, which is a set of > >> callback routines to read tuples in a specific format. It also makes > >> COPY FROM with the existing formats (text, CSV, and binary) utilize > >> these format callbacks. > >> > >> This change is a preliminary step towards making the COPY FROM command > >> extensible in terms of input formats. > >> > >> Similar to 2e4127b6d2d, this refactoring contributes to a performance > >> improvement by reducing the number of "if" branches that need to be > >> checked on a per-row basis when sending field representations in text > >> or CSV mode. The performance benchmark results showed ~5% performance > >> gain in text or CSV mode. > >> > >> Author: Sutou Kouhei <kou@clear-code.com> > >> Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com> > >> Reviewed-by: Michael Paquier <michael@paquier.xyz> > >> Reviewed-by: Andres Freund <andres@anarazel.de> > >> Reviewed-by: Tomas Vondra <tomas.vondra@enterprisedb.com> > >> Reviewed-by: Junwang Zhao <zhjwpku@gmail.com> > >> Discussion: https://postgr.es/m/20231204.153548.2126325458835528809.kou@clear-code.com > >> > >> > >> > >> This patch has completely broken the file_textarray fdw, which uses NextCopyFromRawFields(). Removing that from APIis not a good thing. > >> > > Thank you for pointing it out. > > > > I've just posted my analysis[1] and am planning to revive that API > > (Sutou-san already proposed an idea). Could you please check if the > > idea would work for file_text_array_fdw? > > > > Looks OK, I think. You could even use the Internal function further down > in the file and avoid a function call. Right. I've attached the updated patch. Regards, -- Masahiko Sawada Amazon Web Services: https://aws.amazon.com
Вложения
В списке pgsql-committers по дате отправления: