On 22/09/2026 10:47, Peter Eisentraut wrote:
> Variable-length catalog columns have been declared like
>
> text attoptions[1];
>
> but that "1" has always been a fiction. Before the use of #ifdef
> CATALOG_VARLEN, these declarations were visible to the C compiler, and
> this was also before flexible array members were universally available,
> so this was just a convenient workaround to make this compile. But
> these reasons are long gone, and the "1" is now just a confusing relic.
> Change this to
>
> text attoptions[];
>
> which more intuitively reflects the actual nature of these fields (while
> still being syntactically valid but semantically invalid C code).
>
> Catalog.pm could already parse both spellings, but no existing code used
> bare []. To enforce future consistency, it is changed to no longer
> permit digits between the brackets.
+1, looks good to me.
- Heikki