[patch] ENUM errdetail should mention bytes, not chars

From: Ian Lawrence Barwick <barwick(at)gmail(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: [patch] ENUM errdetail should mention bytes, not chars
Date: 2020-10-19 04:18:07
Message-ID: CAB8KJ=itZEJ7C9BacTHSYgeUysH4xx8wDiOnyppnSLyn6-g+Bw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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.

Regards

Ian Barwick

--
EnterpriseDB: https://www.enterprisedb.com

Attachment Content-Type Size
enum-errdetail-fix.v1.patch text/x-patch 7.2 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Julien Rouhaud 2020-10-19 04:34:24 Re: [patch] ENUM errdetail should mention bytes, not chars
Previous Message tsunakawa.takay@fujitsu.com 2020-10-19 04:12:25 RE: [POC] Fast COPY FROM command for the table with foreign partitions