genam.h
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:2k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /*-------------------------------------------------------------------------
  2.  *
  3.  * genam.h
  4.  *   POSTGRES general access method definitions.
  5.  *
  6.  *
  7.  * Copyright (c) 1994, Regents of the University of California
  8.  *
  9.  * $Id: genam.h,v 1.18.2.1 1999/07/30 18:26:58 scrappy Exp $
  10.  *
  11.  *-------------------------------------------------------------------------
  12.  */
  13. #ifndef GENAM_H
  14. #define GENAM_H
  15. #include "access/funcindex.h"
  16. #include "access/itup.h"
  17. #include "access/relscan.h"
  18. #include "access/sdir.h"
  19. /* ----------------
  20.  * generalized index_ interface routines
  21.  * ----------------
  22.  */
  23. extern Relation index_open(Oid relationId);
  24. extern Relation index_openr(char *relationName);
  25. extern void index_close(Relation relation);
  26. extern InsertIndexResult index_insert(Relation relation,
  27.  Datum *datum, char *nulls,
  28.  ItemPointer heap_t_ctid,
  29.  Relation heapRel);
  30. extern void index_delete(Relation relation, ItemPointer indexItem);
  31. extern IndexScanDesc index_beginscan(Relation relation, bool scanFromEnd,
  32. uint16 numberOfKeys, ScanKey key);
  33. extern void index_rescan(IndexScanDesc scan, bool scanFromEnd, ScanKey key);
  34. extern void index_endscan(IndexScanDesc scan);
  35. extern void index_markpos(IndexScanDesc scan);
  36. extern void index_restrpos(IndexScanDesc scan);
  37. extern RetrieveIndexResult index_getnext(IndexScanDesc scan,
  38.   ScanDirection direction);
  39. extern RegProcedure index_getprocid(Relation irel, AttrNumber attnum,
  40. uint16 procnum);
  41. extern Datum GetIndexValue(HeapTuple tuple, TupleDesc hTupDesc,
  42.   int attOff, AttrNumber *attrNums, FuncIndexInfo *fInfo,
  43.   bool *attNull);
  44. /* in genam.c */
  45. extern IndexScanDesc RelationGetIndexScan(Relation relation, bool scanFromEnd,
  46.  uint16 numberOfKeys, ScanKey key);
  47. #endif  /* GENAM_H */