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/