Fix display and dumping of UPDATE OR TRUNCATE triggers (a bizarre combination
authorTom Lane <[email protected]>
Fri, 20 Nov 2009 20:54:20 +0000 (20:54 +0000)
committerTom Lane <[email protected]>
Fri, 20 Nov 2009 20:54:20 +0000 (20:54 +0000)
maybe, but we should get it right).  Bug noted while reviewing TRIGGER WHEN
patch.  Already fixed in HEAD.

src/backend/utils/adt/ruleutils.c
src/bin/pg_dump/pg_dump.c

index f52bf8b5a12fa0801e418af03375deffe5d24339..2fc6a668dfc8704869d74abee483b927d5d53db9 100644 (file)
@@ -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));
index be1356c46a4e63eff073d3ec9a99616e88d974ed..9485fb7cde400b08d1d5dc6448d02a99461efedd 100644 (file)
@@ -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));