diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h
index 4abd8ec05d85b2a719fe77bdef9d44b8882ca6dc..24b7f8cca9dde4982c535105c06ece5c0002968e 100644
--- a/src/include/access/nbtree.h
+++ b/src/include/access/nbtree.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: nbtree.h,v 1.11 1997/03/24 08:04:51 vadim Exp $
+ * $Id: nbtree.h,v 1.12 1997/04/16 01:21:59 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -84,18 +84,37 @@ typedef BTScanOpaqueData	*BTScanOpaque;
  *  tuples.  Note that we do not use the OID as part of a composite
  *  key; the OID only serves as a unique identifier for a given index
  *  tuple (logical position within a page).
+ *
+ *  New comments: 
+ *  actually, we must guarantee that all tuples in A LEVEL
+ *  are unique, not in ALL INDEX. So, we can use bti_itup->t_tid
+ *  as unique identifier for a given index tuple (logical position 
+ *  within a level).	- vadim 04/09/97
  */
 
 typedef struct BTItemData {
+#ifndef BTREE_VERSION_1
     Oid				bti_oid;
     int32			bti_dummy;	/* padding to make bti_itup
 						 * align at 8-byte boundary
 						 */
+#endif
     IndexTupleData		bti_itup;
 } BTItemData;
 
 typedef BTItemData	*BTItem;
 
+#ifdef BTREE_VERSION_1
+#define BTItemSame(i1, i2)    ( i1->bti_itup.t_tid.ip_blkid.bi_hi == \
+				i2->bti_itup.t_tid.ip_blkid.bi_hi && \
+				i1->bti_itup.t_tid.ip_blkid.bi_lo == \
+				i2->bti_itup.t_tid.ip_blkid.bi_lo && \
+				i1->bti_itup.t_tid.ip_posid == \
+				i2->bti_itup.t_tid.ip_posid )
+#else
+#define BTItemSame(i1, i2)    ( i1->bti_oid == i2->bti_oid )
+#endif
+
 /*
  *  BTStackData -- As we descend a tree, we push the (key, pointer)
  *  pairs from internal nodes onto a private stack.  If we split a
@@ -206,7 +225,7 @@ extern void _bt_relbuf(Relation rel, Buffer buf, int access);
 extern void _bt_wrtbuf(Relation rel, Buffer buf);
 extern void _bt_wrtnorelbuf(Relation rel, Buffer buf);
 extern void _bt_pageinit(Page page, Size size);
-extern void _bt_metaproot(Relation rel, BlockNumber rootbknum);
+extern void _bt_metaproot(Relation rel, BlockNumber rootbknum, int level);
 extern Buffer _bt_getstackbuf(Relation rel, BTStack stack, int access);
 extern void _bt_setpagelock(Relation rel, BlockNumber blkno, int access);
 extern void _bt_unsetpagelock(Relation rel, BlockNumber blkno, int access);