diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index 2560d7a10ac12d0e74c32d126093a1859d80db56..37d554d158e671e604fdb0c736b7d70a03b0b793 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.121 2001/06/29 21:08:23 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.122 2001/07/06 09:41:36 inoue Exp $
  *
  *
  * INTERFACE ROUTINES
@@ -1024,7 +1024,8 @@ heap_get_latest_tid(Relation relation,
 	{
 		if (linkend)
 			return NULL;
-		return heap_get_latest_tid(relation, snapshot, &ctid);
+		heap_get_latest_tid(relation, snapshot, &ctid);
+		*tid = ctid;
 	}
 
 	return tid;
diff --git a/src/backend/utils/adt/tid.c b/src/backend/utils/adt/tid.c
index 7e3b4bfc257f8c64b5ab20f88083ab3763fe38fe..db0e864cecfcd2f5c42f98e7eccff071a60123b3 100644
--- a/src/backend/utils/adt/tid.c
+++ b/src/backend/utils/adt/tid.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/tid.c,v 1.24 2001/03/22 03:59:54 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/tid.c,v 1.25 2001/07/06 09:41:36 inoue Exp $
  *
  * NOTES
  *	  input routine largely stolen from boxin().
@@ -129,17 +129,14 @@ currtid_byreloid(PG_FUNCTION_ARGS)
 {
 	Oid			reloid = PG_GETARG_OID(0);
 	ItemPointer tid = PG_GETARG_ITEMPOINTER(1);
-	ItemPointer result,
-				ret;
+	ItemPointer result;
 	Relation	rel;
 
 	result = (ItemPointer) palloc(sizeof(ItemPointerData));
-	ItemPointerSetInvalid(result);
+	ItemPointerCopy(tid, result);
 	if ((rel = heap_open(reloid, AccessShareLock)) != NULL)
 	{
-		ret = heap_get_latest_tid(rel, SnapshotNow, tid);
-		if (ret)
-			ItemPointerCopy(ret, result);
+		heap_get_latest_tid(rel, SnapshotNow, result);
 		heap_close(rel, AccessShareLock);
 	}
 	else
@@ -153,8 +150,7 @@ currtid_byrelname(PG_FUNCTION_ARGS)
 {
 	text	   *relname = PG_GETARG_TEXT_P(0);
 	ItemPointer tid = PG_GETARG_ITEMPOINTER(1);
-	ItemPointer result,
-				ret;
+	ItemPointer result;
 	char	   *str;
 	Relation	rel;
 
@@ -162,12 +158,10 @@ currtid_byrelname(PG_FUNCTION_ARGS)
 											  PointerGetDatum(relname)));
 
 	result = (ItemPointer) palloc(sizeof(ItemPointerData));
-	ItemPointerSetInvalid(result);
+	ItemPointerCopy(tid, result);
 	if ((rel = heap_openr(str, AccessShareLock)) != NULL)
 	{
-		ret = heap_get_latest_tid(rel, SnapshotNow, tid);
-		if (ret)
-			ItemPointerCopy(ret, result);
+		heap_get_latest_tid(rel, SnapshotNow, result);
 		heap_close(rel, AccessShareLock);
 	}
 	else