aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/init/miscinit.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-08-15 13:49:49 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2016-08-15 13:49:49 -0400
commitca9112a424ff68ec4f2ef67b47122f7d61412964 (patch)
treeda13d4eead313a32e53849ea0b7dd1de9a00fb29 /src/backend/utils/init/miscinit.c
parentb5bce6c1ec6061c8a4f730d927e162db7e2ce365 (diff)
downloadpostgresql-ca9112a424ff68ec4f2ef67b47122f7d61412964.tar.gz
postgresql-ca9112a424ff68ec4f2ef67b47122f7d61412964.zip
Stamp HEAD as 10devel.
This is a good bit more complicated than the average new-version stamping commit, because it includes various adjustments in pursuit of changing from three-part to two-part version numbers. It's likely some further work will be needed around that change; but this is enough to get through the regression tests, at least in Unix builds. Peter Eisentraut and Tom Lane
Diffstat (limited to 'src/backend/utils/init/miscinit.c')
-rw-r--r--src/backend/utils/init/miscinit.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c
index d4625a6238f..22b046e006e 100644
--- a/src/backend/utils/init/miscinit.c
+++ b/src/backend/utils/init/miscinit.c
@@ -1334,16 +1334,13 @@ ValidatePgVersion(const char *path)
char full_path[MAXPGPATH];
FILE *file;
int ret;
- long file_major,
- file_minor;
- long my_major = 0,
- my_minor = 0;
+ long file_major;
+ long my_major;
char *endptr;
- const char *version_string = PG_VERSION;
+ char file_version_string[64];
+ const char *my_version_string = PG_VERSION;
- my_major = strtol(version_string, &endptr, 10);
- if (*endptr == '.')
- my_minor = strtol(endptr + 1, NULL, 10);
+ my_major = strtol(my_version_string, &endptr, 10);
snprintf(full_path, sizeof(full_path), "%s/PG_VERSION", path);
@@ -1362,8 +1359,11 @@ ValidatePgVersion(const char *path)
errmsg("could not open file \"%s\": %m", full_path)));
}
- ret = fscanf(file, "%ld.%ld", &file_major, &file_minor);
- if (ret != 2)
+ file_version_string[0] = '\0';
+ ret = fscanf(file, "%63s", file_version_string);
+ file_major = strtol(file_version_string, &endptr, 10);
+
+ if (ret != 1 || endptr == file_version_string)
ereport(FATAL,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("\"%s\" is not a valid data directory",
@@ -1374,13 +1374,13 @@ ValidatePgVersion(const char *path)
FreeFile(file);
- if (my_major != file_major || my_minor != file_minor)
+ if (my_major != file_major)
ereport(FATAL,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("database files are incompatible with server"),
- errdetail("The data directory was initialized by PostgreSQL version %ld.%ld, "
+ errdetail("The data directory was initialized by PostgreSQL version %s, "
"which is not compatible with this version %s.",
- file_major, file_minor, version_string)));
+ file_version_string, my_version_string)));
}
/*-------------------------------------------------------------------------