Commit 21e1e664 authored by Tom Lane's avatar Tom Lane

Minor cleanup of tableOid-related coding.

parent b0d243e4
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.65 2000/07/04 02:40:56 tgl Exp $ * $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.66 2000/11/14 21:04:32 tgl Exp $
* *
* NOTES * NOTES
* The old interface functions have been converted to macros * The old interface functions have been converted to macros
...@@ -275,38 +275,6 @@ heap_sysattrbyval(AttrNumber attno) ...@@ -275,38 +275,6 @@ heap_sysattrbyval(AttrNumber attno)
return byval; return byval;
} }
#ifdef NOT_USED
/* ----------------
* heap_getsysattr
* ----------------
*/
Datum
heap_getsysattr(HeapTuple tup, Buffer b, int attnum)
{
switch (attnum)
{
case TableOidAttributeNumber:
return (Datum) &tup->t_tableoid;
case SelfItemPointerAttributeNumber:
return (Datum) &tup->t_ctid;
case ObjectIdAttributeNumber:
return (Datum) (long) tup->t_oid;
case MinTransactionIdAttributeNumber:
return (Datum) (long) tup->t_xmin;
case MinCommandIdAttributeNumber:
return (Datum) (long) tup->t_cmin;
case MaxTransactionIdAttributeNumber:
return (Datum) (long) tup->t_xmax;
case MaxCommandIdAttributeNumber:
return (Datum) (long) tup->t_cmax;
default:
elog(ERROR, "heap_getsysattr: undefined attnum %d", attnum);
}
return (Datum) NULL;
}
#endif
/* ---------------- /* ----------------
* nocachegetattr * nocachegetattr
* *
...@@ -563,6 +531,9 @@ nocachegetattr(HeapTuple tuple, ...@@ -563,6 +531,9 @@ nocachegetattr(HeapTuple tuple,
* heap_copytuple * heap_copytuple
* *
* returns a copy of an entire tuple * returns a copy of an entire tuple
*
* The HeapTuple struct, tuple header, and tuple data are all allocated
* as a single palloc() block.
* ---------------- * ----------------
*/ */
HeapTuple HeapTuple
...@@ -576,17 +547,17 @@ heap_copytuple(HeapTuple tuple) ...@@ -576,17 +547,17 @@ heap_copytuple(HeapTuple tuple)
newTuple = (HeapTuple) palloc(HEAPTUPLESIZE + tuple->t_len); newTuple = (HeapTuple) palloc(HEAPTUPLESIZE + tuple->t_len);
newTuple->t_len = tuple->t_len; newTuple->t_len = tuple->t_len;
newTuple->t_self = tuple->t_self; newTuple->t_self = tuple->t_self;
newTuple->t_tableOid = tuple->t_tableOid;
newTuple->t_datamcxt = CurrentMemoryContext; newTuple->t_datamcxt = CurrentMemoryContext;
newTuple->t_data = (HeapTupleHeader) ((char *) newTuple + HEAPTUPLESIZE); newTuple->t_data = (HeapTupleHeader) ((char *) newTuple + HEAPTUPLESIZE);
memmove((char *) newTuple->t_data, memcpy((char *) newTuple->t_data, (char *) tuple->t_data, tuple->t_len);
(char *) tuple->t_data, tuple->t_len);
return newTuple; return newTuple;
} }
/* ---------------- /* ----------------
* heap_copytuple_with_tuple * heap_copytuple_with_tuple
* *
* returns a copy of an tuple->t_data * copy a tuple into a caller-supplied HeapTuple management struct
* ---------------- * ----------------
*/ */
void void
...@@ -600,11 +571,10 @@ heap_copytuple_with_tuple(HeapTuple src, HeapTuple dest) ...@@ -600,11 +571,10 @@ heap_copytuple_with_tuple(HeapTuple src, HeapTuple dest)
dest->t_len = src->t_len; dest->t_len = src->t_len;
dest->t_self = src->t_self; dest->t_self = src->t_self;
dest->t_tableOid = src->t_tableOid;
dest->t_datamcxt = CurrentMemoryContext; dest->t_datamcxt = CurrentMemoryContext;
dest->t_data = (HeapTupleHeader) palloc(src->t_len); dest->t_data = (HeapTupleHeader) palloc(src->t_len);
memmove((char *) dest->t_data, memcpy((char *) dest->t_data, (char *) src->t_data, src->t_len);
(char *) src->t_data, src->t_len);
return;
} }
#ifdef NOT_USED #ifdef NOT_USED
...@@ -705,6 +675,7 @@ heap_formtuple(TupleDesc tupleDescriptor, ...@@ -705,6 +675,7 @@ heap_formtuple(TupleDesc tupleDescriptor,
tuple->t_len = len; tuple->t_len = len;
ItemPointerSetInvalid(&(tuple->t_self)); ItemPointerSetInvalid(&(tuple->t_self));
tuple->t_tableOid = InvalidOid;
td->t_natts = numberOfAttributes; td->t_natts = numberOfAttributes;
td->t_hoff = hoff; td->t_hoff = hoff;
...@@ -805,6 +776,7 @@ heap_modifytuple(HeapTuple tuple, ...@@ -805,6 +776,7 @@ heap_modifytuple(HeapTuple tuple,
newTuple->t_data->t_infomask = infomask; newTuple->t_data->t_infomask = infomask;
newTuple->t_data->t_natts = numberOfAttributes; newTuple->t_data->t_natts = numberOfAttributes;
newTuple->t_self = tuple->t_self; newTuple->t_self = tuple->t_self;
newTuple->t_tableOid = tuple->t_tableOid;
return newTuple; return newTuple;
} }
...@@ -851,17 +823,19 @@ heap_addheader(uint32 natts, /* max domain index */ ...@@ -851,17 +823,19 @@ heap_addheader(uint32 natts, /* max domain index */
tuple->t_datamcxt = CurrentMemoryContext; tuple->t_datamcxt = CurrentMemoryContext;
td = tuple->t_data = (HeapTupleHeader) ((char *) tuple + HEAPTUPLESIZE); td = tuple->t_data = (HeapTupleHeader) ((char *) tuple + HEAPTUPLESIZE);
MemSet((char *) td, 0, len);
tuple->t_len = len; tuple->t_len = len;
ItemPointerSetInvalid(&(tuple->t_self)); ItemPointerSetInvalid(&(tuple->t_self));
tuple->t_tableOid = InvalidOid;
MemSet((char *) td, 0, len);
td->t_hoff = hoff; td->t_hoff = hoff;
td->t_natts = natts; td->t_natts = natts;
td->t_infomask = 0; td->t_infomask = 0;
td->t_infomask |= HEAP_XMAX_INVALID; td->t_infomask |= HEAP_XMAX_INVALID;
if (structlen > 0) if (structlen > 0)
memmove((char *) td + hoff, structure, (size_t) structlen); memcpy((char *) td + hoff, structure, (size_t) structlen);
return tuple; return tuple;
} }
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.93 2000/11/08 22:09:54 tgl Exp $ * $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.94 2000/11/14 21:04:31 tgl Exp $
* *
* *
* INTERFACE ROUTINES * INTERFACE ROUTINES
...@@ -255,9 +255,7 @@ heapgettup(Relation relation, ...@@ -255,9 +255,7 @@ heapgettup(Relation relation,
OffsetNumber lineoff; OffsetNumber lineoff;
int linesleft; int linesleft;
ItemPointer tid = (tuple->t_data == NULL) ? ItemPointer tid = (tuple->t_data == NULL) ?
(ItemPointer) NULL : &(tuple->t_self); (ItemPointer) NULL : &(tuple->t_self);
tuple->tableOid = relation->rd_id;
/* ---------------- /* ----------------
* increment access statistics * increment access statistics
...@@ -294,6 +292,8 @@ heapgettup(Relation relation, ...@@ -294,6 +292,8 @@ heapgettup(Relation relation,
if (!ItemPointerIsValid(tid)) if (!ItemPointerIsValid(tid))
Assert(!PointerIsValid(tid)); Assert(!PointerIsValid(tid));
tuple->t_tableOid = relation->rd_id;
/* ---------------- /* ----------------
* return null immediately if relation is empty * return null immediately if relation is empty
...@@ -1145,7 +1145,6 @@ heap_fetch(Relation relation, ...@@ -1145,7 +1145,6 @@ heap_fetch(Relation relation,
ItemPointer tid = &(tuple->t_self); ItemPointer tid = &(tuple->t_self);
OffsetNumber offnum; OffsetNumber offnum;
tuple->tableOid = relation->rd_id;
/* ---------------- /* ----------------
* increment access statistics * increment access statistics
* ---------------- * ----------------
...@@ -1193,6 +1192,7 @@ heap_fetch(Relation relation, ...@@ -1193,6 +1192,7 @@ heap_fetch(Relation relation,
tuple->t_datamcxt = NULL; tuple->t_datamcxt = NULL;
tuple->t_data = (HeapTupleHeader) PageGetItem((Page) dp, lp); tuple->t_data = (HeapTupleHeader) PageGetItem((Page) dp, lp);
tuple->t_len = ItemIdGetLength(lp); tuple->t_len = ItemIdGetLength(lp);
tuple->t_tableOid = relation->rd_id;
/* ---------------- /* ----------------
* check time qualification of tid * check time qualification of tid
...@@ -1241,7 +1241,6 @@ heap_get_latest_tid(Relation relation, ...@@ -1241,7 +1241,6 @@ heap_get_latest_tid(Relation relation,
bool invalidBlock, bool invalidBlock,
linkend; linkend;
tp.tableOid = relation->rd_id;
/* ---------------- /* ----------------
* get the buffer from the relation descriptor * get the buffer from the relation descriptor
* Note that this does a buffer pin. * Note that this does a buffer pin.
...@@ -1333,7 +1332,6 @@ heap_insert(Relation relation, HeapTuple tup) ...@@ -1333,7 +1332,6 @@ heap_insert(Relation relation, HeapTuple tup)
Buffer buffer; Buffer buffer;
/* increment access statistics */ /* increment access statistics */
tup->tableOid = relation->rd_id;
IncrHeapAccessStat(local_insert); IncrHeapAccessStat(local_insert);
IncrHeapAccessStat(global_insert); IncrHeapAccessStat(global_insert);
...@@ -1357,6 +1355,7 @@ heap_insert(Relation relation, HeapTuple tup) ...@@ -1357,6 +1355,7 @@ heap_insert(Relation relation, HeapTuple tup)
StoreInvalidTransactionId(&(tup->t_data->t_xmax)); StoreInvalidTransactionId(&(tup->t_data->t_xmax));
tup->t_data->t_infomask &= ~(HEAP_XACT_MASK); tup->t_data->t_infomask &= ~(HEAP_XACT_MASK);
tup->t_data->t_infomask |= HEAP_XMAX_INVALID; tup->t_data->t_infomask |= HEAP_XMAX_INVALID;
tup->t_tableOid = relation->rd_id;
#ifdef TUPLE_TOASTER_ACTIVE #ifdef TUPLE_TOASTER_ACTIVE
/* ---------- /* ----------
...@@ -1420,7 +1419,6 @@ heap_delete(Relation relation, ItemPointer tid, ItemPointer ctid) ...@@ -1420,7 +1419,6 @@ heap_delete(Relation relation, ItemPointer tid, ItemPointer ctid)
Buffer buffer; Buffer buffer;
int result; int result;
tp.tableOid = relation->rd_id;
/* increment access statistics */ /* increment access statistics */
IncrHeapAccessStat(local_delete); IncrHeapAccessStat(local_delete);
IncrHeapAccessStat(global_delete); IncrHeapAccessStat(global_delete);
...@@ -1440,6 +1438,7 @@ heap_delete(Relation relation, ItemPointer tid, ItemPointer ctid) ...@@ -1440,6 +1438,7 @@ heap_delete(Relation relation, ItemPointer tid, ItemPointer ctid)
tp.t_data = (HeapTupleHeader) PageGetItem((Page) dp, lp); tp.t_data = (HeapTupleHeader) PageGetItem((Page) dp, lp);
tp.t_len = ItemIdGetLength(lp); tp.t_len = ItemIdGetLength(lp);
tp.t_self = *tid; tp.t_self = *tid;
tp.t_tableOid = relation->rd_id;
l1: l1:
result = HeapTupleSatisfiesUpdate(&tp); result = HeapTupleSatisfiesUpdate(&tp);
...@@ -1546,7 +1545,6 @@ heap_update(Relation relation, ItemPointer otid, HeapTuple newtup, ...@@ -1546,7 +1545,6 @@ heap_update(Relation relation, ItemPointer otid, HeapTuple newtup,
Buffer buffer, newbuf; Buffer buffer, newbuf;
int result; int result;
newtup->tableOid = relation->rd_id;
/* increment access statistics */ /* increment access statistics */
IncrHeapAccessStat(local_replace); IncrHeapAccessStat(local_replace);
IncrHeapAccessStat(global_replace); IncrHeapAccessStat(global_replace);
...@@ -1733,7 +1731,6 @@ heap_mark4update(Relation relation, HeapTuple tuple, Buffer *buffer) ...@@ -1733,7 +1731,6 @@ heap_mark4update(Relation relation, HeapTuple tuple, Buffer *buffer)
PageHeader dp; PageHeader dp;
int result; int result;
tuple->tableOid = relation->rd_id;
/* increment access statistics */ /* increment access statistics */
IncrHeapAccessStat(local_mark4update); IncrHeapAccessStat(local_mark4update);
IncrHeapAccessStat(global_mark4update); IncrHeapAccessStat(global_mark4update);
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* $Id: heapam.h,v 1.56 2000/08/03 19:19:38 tgl Exp $ * $Id: heapam.h,v 1.57 2000/11/14 21:04:32 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -191,7 +191,7 @@ fastgetattr(HeapTuple tup, int attnum, TupleDesc tupleDesc, ...@@ -191,7 +191,7 @@ fastgetattr(HeapTuple tup, int attnum, TupleDesc tupleDesc,
: \ : \
(((attnum) == TableOidAttributeNumber) ? \ (((attnum) == TableOidAttributeNumber) ? \
( \ ( \
(Datum)((tup)->tableOid) \ (Datum)((tup)->t_tableOid) \
) \ ) \
: \ : \
( \ ( \
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* $Id: htup.h,v 1.38 2000/11/14 20:47:34 tgl Exp $ * $Id: htup.h,v 1.39 2000/11/14 21:04:32 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -188,7 +188,7 @@ typedef struct HeapTupleData ...@@ -188,7 +188,7 @@ typedef struct HeapTupleData
{ {
uint32 t_len; /* length of *t_data */ uint32 t_len; /* length of *t_data */
ItemPointerData t_self; /* SelfItemPointer */ ItemPointerData t_self; /* SelfItemPointer */
Oid tableOid; /* table the tuple came from */ Oid t_tableOid; /* table the tuple came from */
MemoryContext t_datamcxt; /* mcxt in which allocated */ MemoryContext t_datamcxt; /* mcxt in which allocated */
HeapTupleHeader t_data; /* -> tuple header and data */ HeapTupleHeader t_data; /* -> tuple header and data */
} HeapTupleData; } HeapTupleData;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment