]> granicus.if.org Git - postgresql/commitdiff
Make heap_update() set newtup->t_tableOid correctly, for consistency with
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 16 Dec 2008 16:26:21 +0000 (16:26 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 16 Dec 2008 16:26:21 +0000 (16:26 +0000)
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.

src/backend/access/heap/heapam.c

index aade7a29c1349b100f2801eec0a856647d75f30a..d6a04122cfcba722806b646e1349f1047f7490b1 100644 (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