head	1.3;
access;
symbols
	release_4_2:1.3
	aix_ok:1.3
	Version_2_1:1.2
	Version_2:1.1;
locks; strict;
comment	@ * @;


1.3
date	91.05.01.02.50.09;	author cimarron;	state Exp;
branches;
next	1.2;

1.2
date	90.08.17.08.51.29;	author cimarron;	state Exp;
branches;
next	1.1;

1.1
date	90.06.12.21.26.49;	author cimarron;	state Version_2;
branches;
next	;


desc
@file moved from H to H/extern for reorginization
@


1.3
log
@round II of converting simple functions to macros + code cleaning in general
@
text
@/* ----------------------------------------------------------------
 *   FILE
 *	iqual.h
 *
 *   DESCRIPTION
 *	Index scan key qualification definitions.
 *
 *   IDENTIFICATION
 *	$Header$
 * ----------------------------------------------------------------
 */

#ifndef	IQualDefined	/* Include this file only once. */
#define IQualDefined	1

#include "tmp/c.h"

#include "storage/itemid.h"
#include "utils/rel.h"
#include "access/skey.h"

/* ----------------
 *	index tuple qualification support
 * ----------------
 */

/* 
 *	index_keytest
 *	index_satisifies
 */
extern
bool
index_keytest ARGS((
    IndexTuple	    tuple,
    TupleDescriptor tupdesc,
    ScanKeySize	    scanKeySize,
    ScanKey	    key
));		    

extern
bool
index_satisifies ARGS((
    ItemId	itemId,
    Page	page,
    Relation	relation,
    ScanKeySize	scanKeySize,
    ScanKey	key
));

/* ----------------
 *	old interface macros
 * ----------------
 */
/*
 * ikeytest_tupdesc
 * ikeytest
 */
#define ikeytest_tupdesc(tuple, tupdesc, scanKeySize, key) \
    index_keytest(tuple, tupdesc, scanKeySize, key)

#define ikeytest(tuple, relation, scanKeySize, key) \
    index_keytest(tuple, \
		  RelationGetTupleDescriptor(relation), scanKeySize, key)

/*
 * ItemIdSatisfiesScanKey --
 *	Returns true iff item associated with an item identifier satisifes
 *	the index scan key qualification.
 *
 * Note:
 *	Assumes item identifier is valid.
 *	Assumes standard page.
 *	Assumes relation is valid.
 *	Assumes scan key is valid.
 */
#define ItemIdSatisfiesScanKey(itemId, page, relation, scanKeySize, key) \
    index_satisifies(itemId, page, relation, scanKeySize, key)

#endif	/* !defined(IQualDefined) */
@


1.2
log
@added pathnames to #include statements
@
text
@d1 5
a5 2
/*
 * iqual.h --
d8 3
a10 2
 * Identification:
 *	$Header: RCS/iqual.h,v 1.1 90/06/12 21:26:49 cimarron Version_2 Locker: cimarron $
d22 32
d55 11
d76 2
a77 8
extern
bool
ItemIdSatisfiesScanKey ARGS((
	ItemId		itemId,
	Page		page,
	Relation	relation,
	ScanKey		key
));
@


1.1
log
@Initial revision
@
text
@d6 1
a6 1
 *	$Header: RCS/iqual.h,v 1.4 89/09/05 17:07:03 mao C_Demo_1 $
d12 1
a12 3
#ifndef C_H
#include "c.h"
#endif
d14 3
a16 3
#include "itemid.h"
#include "rel.h"
#include "skey.h"
@
