Refactor Copy{From|To}GetRoutine() to use pass-by-reference argument.

Masahiko Sawada <msawada@postgresql.org>

Commit: bacbc4863b3bfb79b9577f11f2c77e4df9f66d66
Author: Masahiko Sawada <msawada@postgresql.org>
Date: 2025-03-04T18:38:41Z
Releases: 18.0
Refactor Copy{From|To}GetRoutine() to use pass-by-reference argument.

The change improves efficiency by eliminating unnecessary copying of
CopyFormatOptions.

The coverity also complained about inefficiencies caused by
pass-by-value.

Oversight in 7717f6300 and 2e4127b6d.

Reported-by: Junwang Zhao <zhjwpku@gmail.com>
Reported-by: Tom Lane <tgl@sss.pgh.pa.us> (per reports from coverity)
Author: Sutou Kouhei <kou@clear-code.com>
Reviewed-by: Junwang Zhao <zhjwpku@gmail.com>
Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com>
Discussion: https://postgr.es/m/CAEG8a3L6YCpPksTQMzjD_CvwDEhW3D_t=5md9BvvdOs5k+TA=Q@mail.gmail.com

Files

PathChange+/−
src/backend/commands/copyfrom.c modified +4 −4
src/backend/commands/copyto.c modified +4 −4

Discussion