Make heap_update() set newtup->t_tableOid correctly, for consistency with

the other major heapam.c functions.  The only known consequence of this
omission is that UPDATE RETURNING failed to return the correct value for
"tableoid", as per report from KaiGai Kohei.

Back-patch to 8.2.  Arguably it's wrong all the way back; but without
evidence of visible breakage before RETURNING was added, I'll desist from
patching the older branches.
This commit is contained in:
Tom Lane 2008-12-16 16:26:21 +00:00
parent 7ae3c0f67b
commit e581c04879

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/access/heap/heapam.c,v 1.222.2.2 2008/03/04 19:54:23 tgl Exp $
* $PostgreSQL: pgsql/src/backend/access/heap/heapam.c,v 1.222.2.3 2008/12/16 16:26:21 tgl Exp $
*
*
* INTERFACE ROUTINES
@ -2058,6 +2058,7 @@ l2:
HeapTupleHeaderSetCmin(newtup->t_data, cid);
HeapTupleHeaderSetXmax(newtup->t_data, 0); /* zero out Datum fields */
HeapTupleHeaderSetCmax(newtup->t_data, 0); /* for cleanliness */
newtup->t_tableOid = RelationGetRelid(relation);
/*
* If the toaster needs to be activated, OR if the new tuple will not fit