Hi, In <CAD21AoAQkjU=o0nx4y0jtx0bnsrqa04g2abqruwjt88yeew...@mail.gmail.com> "Re: Make COPY format extendable: Extract COPY TO format implementations" on Thu, 17 Jul 2025 13:33:13 -0700, Masahiko Sawada <sawada.m...@gmail.com> wrote:
>> I've not followed the development of this patch - but I continue to be >> concerned about the performance impact it has as-is and the amount of COPY >> performance improvements it forecloses. >> >> This seems to add yet another layer of indirection to a lot of hot functions >> like CopyGetData() etc. >> > > The most refactoring works have been done by commit 7717f6300 and > 2e4127b6d with a slight performance gain. At this stage, we're trying > to introduce the registration API so that extensions can provide their > callbacks to the core. Some functions required for I/O such as > CopyGetData() and CopySendEndOfRow() would be exposed but I'm not > going to add additional indirection function call layers. I think Andres is talking about any indirection not only indirection function call. In this case, "cstate->XXX" -> "cstate->edata->XXX". It's also mentioned in my e-mail. I'm not sure whether it has performance impact but it's better that we benchmark to confirm whether there is any performance impact or not with the Copy{From,To}ExecutionData approach. Thanks, -- kou