Thomas Lockhart <[EMAIL PROTECTED]> writes: > OK, I'll add NAMEDATALEN, FUNC_MAX_ARGS, and LOCALE_NAME_BUFLEN. Any > more?
No, you're missing my point: there is zero value in adding LOCALE_NAME_BUFLEN as an explicit field in ControlFileData. The entire physical layout of ControlFileData has to be implicit in PG_CONTROL_VERSION, because that is the only field we can reasonably check before computing the CRC --- and if we don't have the correct sizeof(ControlFileData), the CRC check will surely fail. Therefore, any change in LOCALE_NAME_BUFLEN would have to be signaled by bumping PG_CONTROL_VERSION, *not* by any change in some other field inside ControlFileData. Look at the code that reads and validates pg_control in xlog.c. If there are other configurable parameters that can affect the format of system catalogs, then by all means let's add 'em. Nothing comes to mind however. >> 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? Actually, I deliberately did not use yyyymmdd for PG_CONTROL_VERSION, because I wanted it to be absolutely not confusable with CATALOG_VERSION_NO. I took the then major version number as being probably sufficient --- I do not foresee us revising pg_control's layout very often, certainly less than once per release. If you want to change it to yyyyN (eg, 20021 for this change) I won't object. But let's not use a convention that makes it look just like CATALOG_VERSION_NO. I think that'd be a recipe for confusion. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])