提交 fc5ec424 编写于 作者: H Hiroshi Inoue

Apply 7.1.3 changes to the current tree also.

上级 c0d4d547
...@@ -27,7 +27,7 @@ ...@@ -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, ...@@ -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 @@ ...@@ -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) ...@@ -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) ...@@ -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 @@ ...@@ -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); ...@@ -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,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册