Re: [patch] ENUM errdetail should mention bytes, not chars

Julien Rouhaud <rjuju123@gmail.com>

From: Julien Rouhaud <rjuju123@gmail.com>
To: Ian Lawrence Barwick <barwick@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-10-19T04:34:24Z
Lists: pgsql-hackers
On Mon, Oct 19, 2020 at 12:18 PM Ian Lawrence Barwick <barwick@gmail.com> wrote:
>
> Hi
>
> The errdetail emitted when creating/modifying an ENUM value is misleading:
>
>     postgres=# CREATE TYPE enum_valtest AS ENUM (
>                 'foo',
>                 'ああああああああああああああああああああああ'
>                );
>     ERROR:  invalid enum label "ああああああああああああああああああああああ"
>     DETAIL:  Labels must be 63 characters or less.
>
> Attached trivial patch changes the message to:
>
>     DETAIL:  Labels must be 63 bytes or less.
>
> This matches the documentation, which states:
>
>     The length of an enum value's textual label is limited by the NAMEDATALEN
>     setting compiled into PostgreSQL; in standard builds this means at most
>     63 bytes.
>
>     https://www.postgresql.org/docs/current/datatype-enum.html
>
> I don't see any particular need to backpatch this.

Indeed the message is wrong, and patch LGTM.



Commits

  1. Fix enum errdetail to mention bytes, not chars