pg_upgrade; change major version comparisons to use <=, not <
authorBruce Momjian <[email protected]>
Tue, 6 Oct 2020 16:12:09 +0000 (12:12 -0400)
committerBruce Momjian <[email protected]>
Tue, 6 Oct 2020 16:12:09 +0000 (12:12 -0400)
This makes checking for older major versions more consistent.

Backpatch-through: 9.5

src/bin/pg_upgrade/check.c
src/bin/pg_upgrade/function.c
src/bin/pg_upgrade/pg_upgrade.c
src/bin/pg_upgrade/server.c

index cd91399214d4b12ae4eed03e65ec4b8aa198e0ea..7216c2c68efaad9fabbac2e6a40a1cfd47930ef7 100644 (file)
@@ -222,7 +222,7 @@ check_cluster_versions(void)
     * upgrades
     */
 
-   if (GET_MAJOR_VERSION(old_cluster.major_version) < 804)
+   if (GET_MAJOR_VERSION(old_cluster.major_version) <= 803)
        pg_fatal("This utility can only upgrade from PostgreSQL version 8.4 and later.\n");
 
    /* Only current PG version is supported as a target */
@@ -269,7 +269,7 @@ check_cluster_compatibility(bool live_check)
                 "because of backend API changes made during development.\n");
 
    /* We read the real port number for PG >= 9.1 */
-   if (live_check && GET_MAJOR_VERSION(old_cluster.major_version) < 901 &&
+   if (live_check && GET_MAJOR_VERSION(old_cluster.major_version) <= 900 &&
        old_cluster.port == DEF_PGUPORT)
        pg_fatal("When checking a pre-PG 9.1 live old server, "
                 "you must specify the old server's port number.\n");
@@ -469,7 +469,7 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
    fprintf(script, "\"%s/vacuumdb\" %s--all --analyze-in-stages\n",
            new_cluster.bindir, user_specification.data);
    /* Did we copy the free space files? */
-   if (GET_MAJOR_VERSION(old_cluster.major_version) < 804)
+   if (GET_MAJOR_VERSION(old_cluster.major_version) <= 803)
        fprintf(script, "\"%s/vacuumdb\" %s--all\n", new_cluster.bindir,
                user_specification.data);
 
index 9be96aa3d25245060aefa77fc0f530baa38047bb..9b164efbaa156cbc5304fac196e35529e9025afc 100644 (file)
@@ -86,7 +86,7 @@ get_loadable_libraries(void)
         * http://archives.postgresql.org/pgsql-hackers/2012-03/msg01101.php
         * http://archives.postgresql.org/pgsql-bugs/2012-05/msg00206.php
         */
-       if (GET_MAJOR_VERSION(old_cluster.major_version) < 901)
+       if (GET_MAJOR_VERSION(old_cluster.major_version) <= 900)
        {
            PGresult   *res;
 
@@ -232,7 +232,7 @@ check_loadable_libraries(void)
         * for languages, and does not help with function shared objects, so
         * we just do a general fix.
         */
-       if (GET_MAJOR_VERSION(old_cluster.major_version) < 901 &&
+       if (GET_MAJOR_VERSION(old_cluster.major_version) <= 900 &&
            strcmp(lib, "$libdir/plpython") == 0)
        {
            lib = "$libdir/plpython2";
index c2a775a3e4f8036dd3c7cde919bd07dce0d5646e..1ebbf0d42137a91002ee4ab85c21c0494050c866 100644 (file)
@@ -351,7 +351,7 @@ create_new_objects(void)
     * We don't have minmxids for databases or relations in pre-9.3 clusters,
     * so set those after we have restored the schema.
     */
-   if (GET_MAJOR_VERSION(old_cluster.major_version) < 903)
+   if (GET_MAJOR_VERSION(old_cluster.major_version) <= 902)
        set_frozenxids(true);
 
    /* regenerate now that we have objects in the databases */
index 17a9b7436adf009b43ca078e8ba681ea98ab2d9b..87d83701334655e98a3489d49e1b6a3b7a3ba451 100644 (file)
@@ -212,7 +212,7 @@ start_postmaster(ClusterInfo *cluster, bool throw_error)
        snprintf(socket_string + strlen(socket_string),
                 sizeof(socket_string) - strlen(socket_string),
                 " -c %s='%s'",
-                (GET_MAJOR_VERSION(cluster->major_version) < 903) ?
+                (GET_MAJOR_VERSION(cluster->major_version) <= 902) ?
                 "unix_socket_directory" : "unix_socket_directories",
                 cluster->sockdir);
 #endif