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.
REL8_4_STABLE
Tom Lane 16 years ago
parent cd5c42de59
commit 00d144ddab
  1. 4
      src/backend/utils/adt/ruleutils.c
  2. 4
      src/bin/pg_dump/pg_dump.c

@ -9,7 +9,7 @@
* *
* *
* IDENTIFICATION * 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"); appendStringInfo(&buf, " OR UPDATE");
else else
appendStringInfo(&buf, " UPDATE"); appendStringInfo(&buf, " UPDATE");
findx++;
} }
if (TRIGGER_FOR_TRUNCATE(trigrec->tgtype)) if (TRIGGER_FOR_TRUNCATE(trigrec->tgtype))
{ {
@ -532,6 +533,7 @@ pg_get_triggerdef(PG_FUNCTION_ARGS)
appendStringInfo(&buf, " OR TRUNCATE"); appendStringInfo(&buf, " OR TRUNCATE");
else else
appendStringInfo(&buf, " TRUNCATE"); appendStringInfo(&buf, " TRUNCATE");
findx++;
} }
appendStringInfo(&buf, " ON %s ", appendStringInfo(&buf, " ON %s ",
generate_relation_name(trigrec->tgrelid, NIL)); generate_relation_name(trigrec->tgrelid, NIL));

@ -12,7 +12,7 @@
* by PostgreSQL * by PostgreSQL
* *
* IDENTIFICATION * 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"); appendPQExpBuffer(query, " OR UPDATE");
else else
appendPQExpBuffer(query, " UPDATE"); appendPQExpBuffer(query, " UPDATE");
findx++;
} }
if (TRIGGER_FOR_TRUNCATE(tginfo->tgtype)) if (TRIGGER_FOR_TRUNCATE(tginfo->tgtype))
{ {
@ -10892,6 +10893,7 @@ dumpTrigger(Archive *fout, TriggerInfo *tginfo)
appendPQExpBuffer(query, " OR TRUNCATE"); appendPQExpBuffer(query, " OR TRUNCATE");
else else
appendPQExpBuffer(query, " TRUNCATE"); appendPQExpBuffer(query, " TRUNCATE");
findx++;
} }
appendPQExpBuffer(query, " ON %s\n", appendPQExpBuffer(query, " ON %s\n",
fmtId(tbinfo->dobj.name)); fmtId(tbinfo->dobj.name));

Loading…
Cancel
Save