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