From 025b2f339260b727e113a01a20b616a336bff00a Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Wed, 27 Jan 2016 21:45:07 -0500 Subject: [PATCH] Fix cross-version pg_dump for aggregate combine functions. Fixes a defect in commit a7de3dc5c346e07e0439275982569996e645b3c2. David Rowley, per report from Jeff Janes, who also checked that the fix works. --- src/bin/pg_dump/pg_dump.c | 42 ++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index de1ece17c0..aa01d6a66c 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -12454,8 +12454,8 @@ dumpAgg(Archive *fout, AggInfo *agginfo) { appendPQExpBuffer(query, "SELECT aggtransfn, " "aggfinalfn, aggtranstype::pg_catalog.regtype, " - "aggmtransfn, aggminvtransfn, aggmfinalfn, " - "aggmtranstype::pg_catalog.regtype, " + "'-' AS aggcombinefn, aggmtransfn, aggminvtransfn, " + "aggmfinalfn, aggmtranstype::pg_catalog.regtype, " "aggfinalextra, aggmfinalextra, " "aggsortop::pg_catalog.regoperator, " "(aggkind = 'h') AS hypothetical, " @@ -12473,9 +12473,10 @@ dumpAgg(Archive *fout, AggInfo *agginfo) { appendPQExpBuffer(query, "SELECT aggtransfn, " "aggfinalfn, aggtranstype::pg_catalog.regtype, " - "'-' AS aggmtransfn, '-' AS aggminvtransfn, " - "'-' AS aggmfinalfn, 0 AS aggmtranstype, " - "false AS aggfinalextra, false AS aggmfinalextra, " + "'-' AS aggcombinefn, '-' AS aggmtransfn, " + "'-' AS aggminvtransfn, '-' AS aggmfinalfn, " + "0 AS aggmtranstype, false AS aggfinalextra, " + "false AS aggmfinalextra, " "aggsortop::pg_catalog.regoperator, " "false AS hypothetical, " "0 AS aggtransspace, agginitval, " @@ -12492,9 +12493,10 @@ dumpAgg(Archive *fout, AggInfo *agginfo) { appendPQExpBuffer(query, "SELECT aggtransfn, " "aggfinalfn, aggtranstype::pg_catalog.regtype, " - "'-' AS aggmtransfn, '-' AS aggminvtransfn, " - "'-' AS aggmfinalfn, 0 AS aggmtranstype, " - "false AS aggfinalextra, false AS aggmfinalextra, " + "'-' AS aggcombinefn, '-' AS aggmtransfn, " + "'-' AS aggminvtransfn, '-' AS aggmfinalfn, " + "0 AS aggmtranstype, false AS aggfinalextra, " + "false AS aggmfinalextra, " "aggsortop::pg_catalog.regoperator, " "false AS hypothetical, " "0 AS aggtransspace, agginitval, " @@ -12509,10 +12511,10 @@ dumpAgg(Archive *fout, AggInfo *agginfo) { appendPQExpBuffer(query, "SELECT aggtransfn, " "aggfinalfn, aggtranstype::pg_catalog.regtype, " - "'-' AS aggmtransfn, '-' AS aggminvtransfn, " - "'-' AS aggmfinalfn, 0 AS aggmtranstype, " - "false AS aggfinalextra, false AS aggmfinalextra, " - "0 AS aggsortop, " + "'-' AS aggcombinefn, '-' AS aggmtransfn, " + "'-' AS aggminvtransfn, '-' AS aggmfinalfn, " + "0 AS aggmtranstype, false AS aggfinalextra, " + "false AS aggmfinalextra, 0 AS aggsortop, " "false AS hypothetical, " "0 AS aggtransspace, agginitval, " "0 AS aggmtransspace, NULL AS aggminitval, " @@ -12526,10 +12528,10 @@ dumpAgg(Archive *fout, AggInfo *agginfo) { appendPQExpBuffer(query, "SELECT aggtransfn, aggfinalfn, " "format_type(aggtranstype, NULL) AS aggtranstype, " - "'-' AS aggmtransfn, '-' AS aggminvtransfn, " - "'-' AS aggmfinalfn, 0 AS aggmtranstype, " - "false AS aggfinalextra, false AS aggmfinalextra, " - "0 AS aggsortop, " + "'-' AS aggcombinefn, '-' AS aggmtransfn, " + "'-' AS aggminvtransfn, '-' AS aggmfinalfn, " + "0 AS aggmtranstype, false AS aggfinalextra, " + "false AS aggmfinalextra, 0 AS aggsortop, " "false AS hypothetical, " "0 AS aggtransspace, agginitval, " "0 AS aggmtransspace, NULL AS aggminitval, " @@ -12543,10 +12545,10 @@ dumpAgg(Archive *fout, AggInfo *agginfo) appendPQExpBuffer(query, "SELECT aggtransfn1 AS aggtransfn, " "aggfinalfn, " "(SELECT typname FROM pg_type WHERE oid = aggtranstype1) AS aggtranstype, " - "'-' AS aggmtransfn, '-' AS aggminvtransfn, " - "'-' AS aggmfinalfn, 0 AS aggmtranstype, " - "false AS aggfinalextra, false AS aggmfinalextra, " - "0 AS aggsortop, " + "'-' AS aggcombinefn, '-' AS aggmtransfn, " + "'-' AS aggminvtransfn, '-' AS aggmfinalfn, " + "0 AS aggmtranstype, false AS aggfinalextra, " + "false AS aggmfinalextra, 0 AS aggsortop, " "false AS hypothetical, " "0 AS aggtransspace, agginitval1 AS agginitval, " "0 AS aggmtransspace, NULL AS aggminitval, "