Re: [PATCH] Add error hints for invalid COPY options

From: Sugamoto Shinya <shinya34892(at)gmail(dot)com>
To: Kirill Reshke <reshkekirill(at)gmail(dot)com>
Cc: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Nathan Bossart <nathandbossart(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PATCH] Add error hints for invalid COPY options
Date: 2025-12-07 14:32:28
Message-ID: CAAe3y+_Dru2H4-Q6wUiSuEY6=s1YS5fJ5QWLdYfrGxA0K-Ak1w@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Dec 4, 2025 at 4:35 PM Kirill Reshke <reshkekirill(at)gmail(dot)com> wrote:

> On Thu, 4 Dec 2025 at 03:56, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
> wrote:
>
> > The proposed patch requires us to create one function per option. I'm
> > concerned that it could cause bloating functions and be overkill just
> > to save changing a separate list. I would suggest starting with
> > putting a validation check for options at the top of foreach() loop.
> > When adding a new COPY option in the future, it wouldn't work if we
> > miss either changing the valid-options list or handling the option,
> > which seems a good prevention.
> >
>
> Yep, Im +1 on that. "bloating functions" - that's precise wording, I
> did not know how to explain the same concern.
>
>
> --
> Best regards,
> Kirill Reshke
>

Thanks everyone for reviewing my proposal.

> The proposed patch requires us to create one function per option. I'm
> concerned that it could cause bloating functions and be overkill just
> to save changing a separate list. I would suggest starting with
> putting a validation check for options at the top of foreach() loop.
> When adding a new COPY option in the future, it wouldn't work if we
> miss either changing the valid-options list or handling the option,
> which seems a good prevention.

I completely agree with your feedback. I will proceed with a smaller and
simpler revision of the changes. The v3 patch was beneficial in that it
removed duplicated option names for COPY options in the code, but it
introduced too much refactoring for such a small improvement.

Attached is the new patch. One possible discussion point is that I choose
FATAL
over ERROR at src/backend/commands/copy.c#L816, since reaching that point
would
indicate an implementation problem. Please let me know if there is a better
option.

Regards,

Attachment Content-Type Size
v4-0001-Add-option-name-validation-and-hints-for-COPY-comman.patch application/octet-stream 10.9 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Jelte Fennema-Nio 2025-12-07 14:32:56 Re: Always show correct error message for statement timeouts, fixes random buildfarm failures
Previous Message Marcos Pegoraro 2025-12-07 14:22:27 Re: Initial COPY of Logical Replication is too slow