mirror of
https://github.com/postgres/postgres.git
synced 2025-08-22 21:53:06 +03:00
Revert 56-bit relfilenode change and follow-up commits.
There are still some alignment-related failures in the buildfarm, which might or might not be able to be fixed quickly, but I've also just realized that it increased the size of many WAL records by 4 bytes because a block reference contains a RelFileLocator. The effect of that hasn't been studied or discussed, so revert for now.
This commit is contained in:
@@ -13,7 +13,6 @@
|
||||
#include "postgres_fe.h"
|
||||
|
||||
#include "common/logging.h"
|
||||
#include "common/relpath.h"
|
||||
#include "common/string.h"
|
||||
#include "fe_utils/option_utils.h"
|
||||
|
||||
@@ -83,42 +82,3 @@ option_parse_int(const char *optarg, const char *optname,
|
||||
*result = val;
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* option_parse_relfilenumber
|
||||
*
|
||||
* Parse relfilenumber value for an option. If the parsing is successful,
|
||||
* returns true; if parsing fails, returns false.
|
||||
*/
|
||||
bool
|
||||
option_parse_relfilenumber(const char *optarg, const char *optname)
|
||||
{
|
||||
char *endptr;
|
||||
uint64 val;
|
||||
|
||||
errno = 0;
|
||||
val = strtou64(optarg, &endptr, 10);
|
||||
|
||||
/*
|
||||
* Skip any trailing whitespace; if anything but whitespace remains before
|
||||
* the terminating character, fail.
|
||||
*/
|
||||
while (*endptr != '\0' && isspace((unsigned char) *endptr))
|
||||
endptr++;
|
||||
|
||||
if (*endptr != '\0')
|
||||
{
|
||||
pg_log_error("invalid value \"%s\" for option %s",
|
||||
optarg, optname);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (val > MAX_RELFILENUMBER)
|
||||
{
|
||||
pg_log_error("%s must be in range " UINT64_FORMAT ".." UINT64_FORMAT,
|
||||
optname, UINT64CONST(0), MAX_RELFILENUMBER);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user