]> 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:08 +0000 (16:26 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 16 Dec 2008 16:26:08 +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 c561e8f960b67b2416f6fdf1dbef06abc7a7a255..f58de0f752af5c83bfd4a646e38f8f8f3fc6388a 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/access/heap/heapam.c,v 1.271 2008/12/03 13:05:22 heikki Exp $
+ *       $PostgreSQL: pgsql/src/backend/access/heap/heapam.c,v 1.272 2008/12/16 16:26:08 tgl Exp $
  *
  *
  * INTERFACE ROUTINES
@@ -2604,6 +2604,7 @@ l2:
        HeapTupleHeaderSetXmin(newtup->t_data, xid);
        HeapTupleHeaderSetCmin(newtup->t_data, cid);
        HeapTupleHeaderSetXmax(newtup->t_data, 0);      /* for cleanliness */
+       newtup->t_tableOid = RelationGetRelid(relation);
 
        /*
         * Replace cid with a combo cid if necessary.  Note that we already put