Commit 05255728 authored by Peter Eisentraut's avatar Peter Eisentraut

Fix enum errdetail to mention bytes, not chars

The enum label length is in terms of bytes, not charactes.

Author: Ian Lawrence Barwick <barwick@gmail.com>
Reviewed-by: default avatarJulien Rouhaud <rjuju123@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/CAB8KJ=itZEJ7C9BacTHSYgeUysH4xx8wDiOnyppnSLyn6-g+Bw@mail.gmail.com
parent 9213462c
...@@ -125,7 +125,7 @@ EnumValuesCreate(Oid enumTypeOid, List *vals) ...@@ -125,7 +125,7 @@ EnumValuesCreate(Oid enumTypeOid, List *vals)
ereport(ERROR, ereport(ERROR,
(errcode(ERRCODE_INVALID_NAME), (errcode(ERRCODE_INVALID_NAME),
errmsg("invalid enum label \"%s\"", lab), errmsg("invalid enum label \"%s\"", lab),
errdetail("Labels must be %d characters or less.", errdetail("Labels must be %d bytes or less.",
NAMEDATALEN - 1))); NAMEDATALEN - 1)));
values[Anum_pg_enum_oid - 1] = ObjectIdGetDatum(oids[elemno]); values[Anum_pg_enum_oid - 1] = ObjectIdGetDatum(oids[elemno]);
...@@ -228,7 +228,7 @@ AddEnumLabel(Oid enumTypeOid, ...@@ -228,7 +228,7 @@ AddEnumLabel(Oid enumTypeOid,
ereport(ERROR, ereport(ERROR,
(errcode(ERRCODE_INVALID_NAME), (errcode(ERRCODE_INVALID_NAME),
errmsg("invalid enum label \"%s\"", newVal), errmsg("invalid enum label \"%s\"", newVal),
errdetail("Labels must be %d characters or less.", errdetail("Labels must be %d bytes or less.",
NAMEDATALEN - 1))); NAMEDATALEN - 1)));
/* /*
...@@ -523,7 +523,7 @@ RenameEnumLabel(Oid enumTypeOid, ...@@ -523,7 +523,7 @@ RenameEnumLabel(Oid enumTypeOid,
ereport(ERROR, ereport(ERROR,
(errcode(ERRCODE_INVALID_NAME), (errcode(ERRCODE_INVALID_NAME),
errmsg("invalid enum label \"%s\"", newVal), errmsg("invalid enum label \"%s\"", newVal),
errdetail("Labels must be %d characters or less.", errdetail("Labels must be %d bytes or less.",
NAMEDATALEN - 1))); NAMEDATALEN - 1)));
/* /*
......
...@@ -92,7 +92,7 @@ ORDER BY enumlabel::planets; ...@@ -92,7 +92,7 @@ ORDER BY enumlabel::planets;
ALTER TYPE planets ADD VALUE ALTER TYPE planets ADD VALUE
'plutoplutoplutoplutoplutoplutoplutoplutoplutoplutoplutoplutoplutopluto'; 'plutoplutoplutoplutoplutoplutoplutoplutoplutoplutoplutoplutoplutopluto';
ERROR: invalid enum label "plutoplutoplutoplutoplutoplutoplutoplutoplutoplutoplutoplutoplutopluto" ERROR: invalid enum label "plutoplutoplutoplutoplutoplutoplutoplutoplutoplutoplutoplutoplutopluto"
DETAIL: Labels must be 63 characters or less. DETAIL: Labels must be 63 bytes or less.
ALTER TYPE planets ADD VALUE 'pluto' AFTER 'zeus'; ALTER TYPE planets ADD VALUE 'pluto' AFTER 'zeus';
ERROR: "zeus" is not an existing enum label ERROR: "zeus" is not an existing enum label
-- if not exists tests -- if not exists tests
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment