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