mirror of
https://github.com/postgres/postgres.git
synced 2025-06-23 14:01:44 +03:00
Apply 7.1.3 changes to the current tree also.
This commit is contained in:
@ -27,7 +27,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.145 2001/08/10 18:57:35 tgl Exp $
|
* $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.146 2001/09/08 16:15:28 inoue Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -1268,6 +1268,7 @@ ExecAppend(TupleTableSlot *slot,
|
|||||||
* insert the tuple
|
* insert the tuple
|
||||||
*/
|
*/
|
||||||
newId = heap_insert(resultRelationDesc, tuple);
|
newId = heap_insert(resultRelationDesc, tuple);
|
||||||
|
setLastTid(&(tuple->t_self));
|
||||||
|
|
||||||
IncrAppended();
|
IncrAppended();
|
||||||
(estate->es_processed)++;
|
(estate->es_processed)++;
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/tid.c,v 1.25 2001/07/06 09:41:36 inoue Exp $
|
* $Header: /cvsroot/pgsql/src/backend/utils/adt/tid.c,v 1.26 2001/09/08 16:15:28 inoue Exp $
|
||||||
*
|
*
|
||||||
* NOTES
|
* NOTES
|
||||||
* input routine largely stolen from boxin().
|
* input routine largely stolen from boxin().
|
||||||
@ -124,6 +124,11 @@ tidne(PG_FUNCTION_ARGS)
|
|||||||
*
|
*
|
||||||
* Maybe these implementations should be moved to another place
|
* Maybe these implementations should be moved to another place
|
||||||
*/
|
*/
|
||||||
|
static ItemPointerData Current_last_tid = { {0, 0}, 0};
|
||||||
|
void setLastTid(const ItemPointer tid)
|
||||||
|
{
|
||||||
|
Current_last_tid = *tid;
|
||||||
|
}
|
||||||
Datum
|
Datum
|
||||||
currtid_byreloid(PG_FUNCTION_ARGS)
|
currtid_byreloid(PG_FUNCTION_ARGS)
|
||||||
{
|
{
|
||||||
@ -133,6 +138,11 @@ currtid_byreloid(PG_FUNCTION_ARGS)
|
|||||||
Relation rel;
|
Relation rel;
|
||||||
|
|
||||||
result = (ItemPointer) palloc(sizeof(ItemPointerData));
|
result = (ItemPointer) palloc(sizeof(ItemPointerData));
|
||||||
|
if (!reloid)
|
||||||
|
{
|
||||||
|
*result = Current_last_tid;
|
||||||
|
PG_RETURN_ITEMPOINTER(result);
|
||||||
|
}
|
||||||
ItemPointerCopy(tid, result);
|
ItemPointerCopy(tid, result);
|
||||||
if ((rel = heap_open(reloid, AccessShareLock)) != NULL)
|
if ((rel = heap_open(reloid, AccessShareLock)) != NULL)
|
||||||
{
|
{
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||||
* 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.66 2001/07/12 04:11:13 tgl Exp $
|
* $Id: heapam.h,v 1.67 2001/09/08 16:15:28 inoue Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -205,6 +205,7 @@ extern void heap_endscan(HeapScanDesc scan);
|
|||||||
extern HeapTuple heap_getnext(HeapScanDesc scandesc, int backw);
|
extern HeapTuple heap_getnext(HeapScanDesc scandesc, int backw);
|
||||||
extern void heap_fetch(Relation relation, Snapshot snapshot, HeapTuple tup, Buffer *userbuf, IndexScanDesc iscan);
|
extern void heap_fetch(Relation relation, Snapshot snapshot, HeapTuple tup, Buffer *userbuf, IndexScanDesc iscan);
|
||||||
extern ItemPointer heap_get_latest_tid(Relation relation, Snapshot snapshot, ItemPointer tid);
|
extern ItemPointer heap_get_latest_tid(Relation relation, Snapshot snapshot, ItemPointer tid);
|
||||||
|
extern void setLastid(const ItemPointer tid);
|
||||||
extern Oid heap_insert(Relation relation, HeapTuple tup);
|
extern Oid heap_insert(Relation relation, HeapTuple tup);
|
||||||
extern int heap_delete(Relation relation, ItemPointer tid, ItemPointer ctid);
|
extern int heap_delete(Relation relation, ItemPointer tid, ItemPointer ctid);
|
||||||
extern int heap_update(Relation relation, ItemPointer otid, HeapTuple tup,
|
extern int heap_update(Relation relation, ItemPointer otid, HeapTuple tup,
|
||||||
|
Reference in New Issue
Block a user