Re: pgsql: pg_upgrade: preserve database and relation minmxid values - Mailing list pgsql-committers

From Andres Freund
Subject Re: pgsql: pg_upgrade: preserve database and relation minmxid values
Date
Msg-id 20160327154451.s35h3gggdnnadt2x@alap3.anarazel.de
Whole thread Raw
In response to pgsql: pg_upgrade: preserve database and relation minmxid values  (Bruce Momjian <bruce@momjian.us>)
Responses Re: pgsql: pg_upgrade: preserve database and relation minmxid values
List pgsql-committers
Hi,

On 2014-07-02 19:29:43 +0000, Bruce Momjian wrote:
> pg_upgrade:  preserve database and relation minmxid values
>
> Also set these values for pre-9.3 old clusters that don't have values to
> preserve.
>
> Analysis by Alvaro
>
> Backpatch through 9.3

My compiler quite correctly complains about misleading indentation
introduced by this commit:

/home/andres/src/postgresql-9.3/src/bin/pg_dump/pg_dump.c:2475:4: warning: statement is indented as if it were guarded
by...[-Wmisleading-indentation] 
    lo_res = ExecuteSqlQueryForSingleRow(fout, loFrozenQry->data);
    ^~~~~~
/home/andres/src/postgresql-9.3/src/bin/pg_dump/pg_dump.c:2469:3: note: ...this 'else' clause, but it is not
   else
   ^~~~

The code in question is:
                /*
                 * pg_largeobject_metadata
                 */
                if (fout->remoteVersion >= 90000)
                {
                        resetPQExpBuffer(loFrozenQry);
                        resetPQExpBuffer(loOutQry);

                if (fout->remoteVersion >= 90300)
                        appendPQExpBuffer(loFrozenQry, "SELECT relfrozenxid, relminmxid\n"
                                                          "FROM pg_catalog.pg_class\n"
                                                          "WHERE oid = %u;\n",
                                                          LargeObjectMetadataRelationId);
                else
                        appendPQExpBuffer(loFrozenQry, "SELECT relfrozenxid, 0 AS relminmxid\n"
                                                          "FROM pg_catalog.pg_class\n"
                                                          "WHERE oid = %u;\n",
                                                          LargeObjectMetadataRelationId);

                        lo_res = ExecuteSqlQueryForSingleRow(fout, loFrozenQry->data);

This appears to have been the result of a somewhat incorrectly resolved
conflict in 9.3/9.4 (master/9.5 don't show the problem).

Regards,

Andres


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: First-draft release notes for 9.5.2.
Next
From: Andres Freund
Date:
Subject: pgsql: Change various Gin*Is* macros to return 0/1.