aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/trigfuncs.c
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2008-11-05 18:49:28 +0000
committerAndrew Dunstan <andrew@dunslane.net>2008-11-05 18:49:28 +0000
commitb65ebc7e8b7268c062338575f4b98ba4474742d2 (patch)
tree3b085046a796e314993902df3f72834a98db84f3 /src/backend/utils/adt/trigfuncs.c
parente2a277bd08530fa34bb493d0093c465099aa4783 (diff)
downloadpostgresql-b65ebc7e8b7268c062338575f4b98ba4474742d2.tar.gz
postgresql-b65ebc7e8b7268c062338575f4b98ba4474742d2.zip
fix suppress_redundant_updates_trigger() where relation has Oids, per gripe from KaiGai Kohei
Diffstat (limited to 'src/backend/utils/adt/trigfuncs.c')
-rw-r--r--src/backend/utils/adt/trigfuncs.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/backend/utils/adt/trigfuncs.c b/src/backend/utils/adt/trigfuncs.c
index 633f3d20dc5..b13bdc36e14 100644
--- a/src/backend/utils/adt/trigfuncs.c
+++ b/src/backend/utils/adt/trigfuncs.c
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/backend/utils/adt/trigfuncs.c,v 1.2 2008/11/04 00:29:39 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/trigfuncs.c,v 1.3 2008/11/05 18:49:27 adunstan Exp $
*
*-------------------------------------------------------------------------
*/
@@ -62,6 +62,12 @@ suppress_redundant_updates_trigger(PG_FUNCTION_ARGS)
newheader = newtuple->t_data;
oldheader = oldtuple->t_data;
+ if (oldheader->t_infomask & HEAP_HASOID)
+ {
+ Oid oldoid = HeapTupleHeaderGetOid(oldheader);
+ HeapTupleHeaderSetOid(newheader, oldoid);
+ }
+
/* if the tuple payload is the same ... */
if (newtuple->t_len == oldtuple->t_len &&
newheader->t_hoff == oldheader->t_hoff &&
@@ -77,5 +83,6 @@ suppress_redundant_updates_trigger(PG_FUNCTION_ARGS)
rettuple = NULL;
}
+
return PointerGetDatum(rettuple);
}