Re: Current enums patch
От | Andrew Dunstan |
---|---|
Тема | Re: Current enums patch |
Дата | |
Msg-id | 461140D2.3070801@dunslane.net обсуждение исходный текст |
Ответ на | Re: Current enums patch (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Current enums patch
|
Список | pgsql-patches |
Tom Lane wrote: > Heikki Linnakangas <heikki@enterprisedb.com> writes: > >> There's a little bug: >> > > >> postgres=# CREATE TYPE aenum AS ENUM ('a','b','c'); CREATE TYPE >> postgres=# CREATE TABLE t (e aenum); CREATE TABLE postgres=# INSERT >> INTO t VALUES >> ('foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo'); >> server closed the connection unexpectedly >> > > Hm, I suppose we should apply truncate_identifier rather than letting > the strings be blindly truncated (perhaps in mid-character). Should we > have it throw the truncation NOTICE, or not? First thought is to do so > during CREATE TYPE but not during plain enum_in(). > I don't see much point in truncating. The patch I have so far gives the regression output shown below (yes, I should make the messages more consistent). In fact the truncation and associated NOTICE just strike me as confusing. cheers andrew + -- Name, Values too long + -- + CREATE TYPE + abcdefghijklmnopqrsatuvwxyz0123456789abcdefghijklmnopqrsatuvwxyz0123456789 + AS ENUM('a'); + NOTICE: identifier "abcdefghijklmnopqrsatuvwxyz0123456789abcdefghijklmnopqrsatuvwxyz0123456789" will be truncated to "abcdefghijklmnopqrsatuvwxyz0123456789abcdefghijklmnopqrsatuvwxy" + ERROR: type names must be 62 characters or less + CREATE TYPE toolong AS ENUM + ('abcdefghijklmnopqrsatuvwxyz0123456789abcdefghijklmnopqrsatuvwxyz0123456789'); + ERROR: invalid enum label "abcdefghijklmnopqrsatuvwxyz0123456789abcdefghijklmnopqrsatuvwxyz0123456789": must be 63 characters or less + INSERT INTO enumtest VALUES + ('abcdefghijklmnopqrsatuvwxyz0123456789abcdefghijklmnopqrsatuvwxyz0123456789'); + ERROR: input value too long (74) for enum: "abcdefghijklmnopqrsatuvwxyz0123456789abcdefghijklmnopqrsatuvwxyz0123456789" + --
В списке pgsql-patches по дате отправления: