From: Tom Lane Date: Fri, 20 Nov 2009 20:54:20 +0000 (+0000) Subject: Fix display and dumping of UPDATE OR TRUNCATE triggers (a bizarre combination X-Git-Tag: REL8_4_2~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=00d144ddabfe9ac04a7c5da83cbfe61b7c7786b0;p=thirdparty%2Fpostgresql.git Fix display and dumping of UPDATE OR TRUNCATE triggers (a bizarre combination maybe, but we should get it right). Bug noted while reviewing TRIGGER WHEN patch. Already fixed in HEAD. --- diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index f52bf8b5a12..2fc6a668dfc 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.300 2009/06/11 14:49:04 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.300.2.1 2009/11/20 20:54:20 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -525,6 +525,7 @@ pg_get_triggerdef(PG_FUNCTION_ARGS) appendStringInfo(&buf, " OR UPDATE"); else appendStringInfo(&buf, " UPDATE"); + findx++; } if (TRIGGER_FOR_TRUNCATE(trigrec->tgtype)) { @@ -532,6 +533,7 @@ pg_get_triggerdef(PG_FUNCTION_ARGS) appendStringInfo(&buf, " OR TRUNCATE"); else appendStringInfo(&buf, " TRUNCATE"); + findx++; } appendStringInfo(&buf, " ON %s ", generate_relation_name(trigrec->tgrelid, NIL)); diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index be1356c46a4..9485fb7cde4 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -12,7 +12,7 @@ * by PostgreSQL * * IDENTIFICATION - * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.539.2.2 2009/07/20 20:53:47 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.539.2.3 2009/11/20 20:54:20 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -10885,6 +10885,7 @@ dumpTrigger(Archive *fout, TriggerInfo *tginfo) appendPQExpBuffer(query, " OR UPDATE"); else appendPQExpBuffer(query, " UPDATE"); + findx++; } if (TRIGGER_FOR_TRUNCATE(tginfo->tgtype)) { @@ -10892,6 +10893,7 @@ dumpTrigger(Archive *fout, TriggerInfo *tginfo) appendPQExpBuffer(query, " OR TRUNCATE"); else appendPQExpBuffer(query, " TRUNCATE"); + findx++; } appendPQExpBuffer(query, " ON %s\n", fmtId(tbinfo->dobj.name));