head     1.5;
branch   ;
access   ;
symbols  Version_2_1:1.5 C_Demo_1:1.3;
locks    ; strict;
comment  @ * @;


1.5
date     90.09.25.16.14.58;  author kemnitz;  state Exp;
branches ;
next     1.4;

1.4
date     90.01.17.20.33.14;  author mao;  state Exp;
branches ;
next     1.3;

1.3
date     89.09.05.16.57.22;  author mao;  state C_Demo_1;
branches ;
next     1.2;

1.2
date     89.03.22.03.19.50;  author muir;  state Stab;
branches ;
next     1.1;

1.1
date     89.01.17.05.52.15;  author cimarron;  state Exp;
branches ;
next     ;


desc
@@


1.5
log
@Updating from revision 1.4 to revision 1.5
@
text
@

/* ----------------------------------------------------------------
 * btitem.c --
 *	B-Tree item code.
 * ----------------------------------------------------------------
 */

#include "access/btree.h"

RcsId("$Header: RCS/btitem.c,v 1.5 90/08/13 17:23:43 cimarron Exp $");

/*|----------------------------------------------------------------
 *| btitem.c --
 *|	BTreeItem Get  IndexTuple
 *|	BTreeItem Get  Heap ItemPointer
 *|	BTreeItem Get  Lock ItemPointer
 *|	BTreeItem Get  HighKey ItemPointer
 *|	BTreeItem Get  AttributeBitMap
 *|	BTreeItem Get  Key Form
 *|	BTreeItem Set  IsHighKey
 *|	BTreeItem Test IsHighKey
 *|----------------------------------------------------------------
 */

/* ----------------------------------------------------------------
 *	BTreeItem Get IndexTuple
 * ----------------------------------------------------------------
 */

/**** xxref:
 *           ItemIdSatisfiesBTreeSearchKey
 *           ItemIdIsLessThanBTreeSearchKey
 ****/
IndexTuple
BTreeItemGetIndexTuple(item)
	BTreeItem	item;
{
   return (IndexTuple)
      &(item->header.ituple);
}

/* ----------------------------------------------------------------
 *	BTreeItem Get Heap ItemPointer
 * ----------------------------------------------------------------
 */
/**** xxref:
 *           DumpBTreePage
 *           SimpleDumpBTreePage
 *           BTreeGetHeapItemPointerByItemPointer
 *           BTreeScanPageGetItemPointer
 ****/
ItemPointer
BTreeItemGetHeapItemPointer(item)
	BTreeItem	item;
{
   return (ItemPointer)
      &(item->header.ituple.t_tid);
}

/* ----------------------------------------------------------------
 *	BTreeItem Get Lock ItemPointer
 * ----------------------------------------------------------------
 */
/**** xxref:
 *           DumpBTreePage
 *           SimpleDumpBTreePage
 ****/
ItemPointer
BTreeItemGetLockItemPointer(item)
	BTreeItem	item;
{
   return (ItemPointer)
      &(item->header.ituple.t_lock.l_ltid);
}

/* ----------------------------------------------------------------
 *	BTreeItem Get HighKey ItemPointer
 *
 *	the high key item pointer is stored in the "heap"
 *	item pointer for  items.
 * ----------------------------------------------------------------
 */

/**** xxref:
 *           BTreeRearrange
 ****/
ItemPointer
BTreeItemGetHighKeyItemPointer(item)
	BTreeItem	item;
{
   return (ItemPointer)
      &(item->header.ituple.t_tid);
}

/* ----------------------------------------------------------------
 *	BTreeItem Get AttributeBitMap
 * ----------------------------------------------------------------
 */
/**** xxref:
 *           DumpBTreePage
 *           SimpleDumpBTreePage
 ****/
IndexAttributeBitMap
BTreeItemGetAttributeBitMap(item)
	BTreeItem	item;
{
   return (IndexAttributeBitMap)
      &(item->header.ituple.bits);
}

/* ----------------------------------------------------------------
 *	BTreeItem Get Key Form
 * ----------------------------------------------------------------
 */
/**** xxref:
 *           DumpBTreePage
 *           SimpleDumpBTreePage
 *           ItemKeysAreEqual
 ****/
Form
BTreeItemGetKeyForm(item)
	BTreeItem	item;
{
   return (Form)
      &(item->form);
}

/* ----------------------------------------------------------------
 *	BTreeItemSetIsHighKey
 * ----------------------------------------------------------------
 */

/**** xxref:
 *           BTreeRearrange
 ****/
void
BTreeItemSetIsHighKey(item)
	BTreeItem	item;
{
   item->header.flags |= BTREE_ITEM_IS_HIGHKEY;
}


/* ----------------------------------------------------------------
 *	BTreeItemTestIsHighKey
 * ----------------------------------------------------------------
 */

/**** xxref:
 *           BTreeSearchKeyScan
 *           BTreeSearchKeyFindAdjacent
 ****/
bool
BTreeItemTestIsHighKey(item)
	BTreeItem	item;
{
   return (bool)
      (item->header.flags & BTREE_ITEM_IS_HIGHKEY);
}

@


1.4
log
@fix up leading white space, function decls, so vi -t works.
@
text
@d9 1
a9 1
#include "btree.h"
d11 1
a11 1
RcsId("$Header: RCS/btitem.c,v 1.3 89/09/05 16:57:22 mao C_Demo_1 Locker: mao $");
@


1.3
log
@Working version of C-only demo
@
text
@d11 1
a11 1
RcsId("$Header: /usr6/postgres/mao/postgres/src/access/index-btree/RCS/btitem.c,v 1.2 89/03/22 03:19:50 muir Stab $");
d35 3
a37 3
IndexTuple FUNCTION
   BTreeItemGetIndexTuple(item)
BTreeItem	item;
d53 3
a55 3
ItemPointer FUNCTION
   BTreeItemGetHeapItemPointer(item)
BTreeItem	item;
d69 3
a71 3
ItemPointer FUNCTION
   BTreeItemGetLockItemPointer(item)
BTreeItem	item;
d88 3
a90 3
ItemPointer FUNCTION
   BTreeItemGetHighKeyItemPointer(item)
BTreeItem	item;
d104 3
a106 3
IndexAttributeBitMap FUNCTION
   BTreeItemGetAttributeBitMap(item)
BTreeItem	item;
d121 3
a123 3
Form FUNCTION
   BTreeItemGetKeyForm(item)
BTreeItem	item;
d137 3
a139 3
void FUNCTION
   BTreeItemSetIsHighKey(item)
BTreeItem	item;
d154 3
a156 3
bool FUNCTION
   BTreeItemTestIsHighKey(item)
BTreeItem	item;
@


1.2
log
@copyright delete
@
text
@d11 1
a11 1
RcsId("$Header: btitem.c,v 1.1 89/01/17 05:52:15 muir Locked $");
@


1.1
log
@Initial revision
@
text
@a1 23
/*
 * 
 * POSTGRES Data Base Management System
 * 
 * Copyright (c) 1988 Regents of the University of California
 * 
 * Permission to use, copy, modify, and distribute this software and its
 * documentation for educational, research, and non-profit purposes and
 * without fee is hereby granted, provided that the above copyright
 * notice appear in all copies and that both that copyright notice and
 * this permission notice appear in supporting documentation, and that
 * the name of the University of California not be used in advertising
 * or publicity pertaining to distribution of the software without
 * specific, written prior permission.  Permission to incorporate this
 * software into commercial products can be obtained from the Campus
 * Software Office, 295 Evans Hall, University of California, Berkeley,
 * Ca., 94720 provided only that the the requestor give the University
 * of California a free licence to any derived software for educational
 * and research purposes.  The University of California makes no
 * representations about the suitability of this software for any
 * purpose.  It is provided "as is" without express or implied warranty.
 * 
 */
a2 2


d11 1
a11 1
RcsId("$Header: btitem.c,v 1.1 88/11/11 16:35:51 postgres Exp $");
@
