Re: Postgres do not allow to create many tables with more than 63-symbols prefix
От | Masahiko Sawada |
---|---|
Тема | Re: Postgres do not allow to create many tables with more than 63-symbols prefix |
Дата | |
Msg-id | CAD21AoC5wt6iCFK5uMRTTYT3be09RWi9a3YduKXUqsFbTKby_Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Postgres do not allow to create many tables with more than 63-symbols prefix (Andrey Lepikhov <a.lepikhov@postgrespro.ru>) |
Список | pgsql-bugs |
Hi, On Sat, Jun 4, 2022 at 4:03 AM Andrey Lepikhov <a.lepikhov@postgrespro.ru> wrote: > > According to subj you can try to create many tables (induced by the case > of partitioned table) with long prefix - see 6727v.sql for reproduction. > But now it's impossible because of logic of the makeUniqueTypeName() > routine. > You get the error: > ERROR: could not form array type name for type ... > > It is very corner case, of course. But solution is easy and short. So, > why not to fix? - See the patch in attachment. While this seems to be a good improvement, I think it's not a bug. Probably we cannot backpatch it as it will end up having type names defined by different naming rules. I'd suggest discussing it on -hackers. Regarding the patch, I think we can merge makeUniqueTypeName() to makeArrayTypeName() as there is no caller of makeUniqueTypeName() who pass tryOriginal = true. Also looking at other ChooseXXXName() functions, we don't care about integer overflow. Is it better to make it consistent with them? Regards, -- Masahiko Sawada EDB: https://www.enterprisedb.com/
В списке pgsql-bugs по дате отправления: