> > I notice that the compile-time locale settings are registered in that
> > same structure. And that they depend on NAMEDATALEN,
> They do? That would be fairly broken if so; sizeof(ControlFileData)
> has to be independent of configurable settings, else you'll not get as
> far as inspecting any of its contents (because the CRC check will fail
> if computed over the wrong number of bytes). But it looks to me like
> LOCALE_NAME_BUFLEN is hardwired at 128.
Ah. I should have looked before sending the mail; I was working on this
several days ago...
> Putting NAMEDATALEN into the struct does seem like a good idea, and
> perhaps FUNC_MAX_ARGS as well, since the system catalogs will be
> unreadable if these numbers are wrong. I think it's just an oversight
> that we didn't put these values in pg_control to start with.
OK, I'll add NAMEDATALEN, FUNC_MAX_ARGS, and LOCALE_NAME_BUFLEN. Any
more?
> Don't forget to bump PG_CONTROL_VERSION.
I'd like to change this to the yyyymmddN format used in the catalog
version number (it is currently an integer set to ~71). It should make
it much easier to guess at code vintages from problem reports (if
nothing else), right?
- Thomas