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

数据库系统

开发平台:

Unix_Linux

  1. /*-------------------------------------------------------------------------
  2.  *
  3.  * index.h
  4.  *   prototypes for index.c.
  5.  *
  6.  *
  7.  * Copyright (c) 1994, Regents of the University of California
  8.  *
  9.  * $Id: index.h,v 1.16 1999/05/25 16:13:40 momjian Exp $
  10.  *
  11.  *-------------------------------------------------------------------------
  12.  */
  13. #ifndef INDEX_H
  14. #define INDEX_H
  15. #include <nodes/execnodes.h>
  16. #include <nodes/parsenodes.h>
  17. #include <access/itup.h>
  18. #include <access/funcindex.h>
  19. extern Form_pg_am AccessMethodObjectIdGetForm(Oid accessMethodObjectId);
  20. extern void UpdateIndexPredicate(Oid indexoid, Node *oldPred, Node *predicate);
  21. extern void InitIndexStrategy(int numatts,
  22.   Relation indexRelation,
  23.   Oid accessMethodObjectId);
  24. extern void index_create(char *heapRelationName,
  25.  char *indexRelationName,
  26.  FuncIndexInfo *funcInfo,
  27.  List *attributeList,
  28.  Oid accessMethodObjectId,
  29.  int numatts,
  30.  AttrNumber *attNums,
  31.  Oid *classObjectId,
  32.  uint16 parameterCount,
  33.  Datum *parameter,
  34.  Node *predicate,
  35.  bool islossy,
  36.  bool unique,
  37.  bool primary);
  38. extern void index_destroy(Oid indexId);
  39. extern void FormIndexDatum(int numberOfAttributes,
  40.    AttrNumber *attributeNumber, HeapTuple heapTuple,
  41.    TupleDesc heapDescriptor, Datum *datum,
  42.    char *nullv, FuncIndexInfoPtr fInfo);
  43. extern void UpdateStats(Oid relid, long reltuples, bool hasindex);
  44. extern void FillDummyExprContext(ExprContext *econtext, TupleTableSlot *slot,
  45.  TupleDesc tupdesc, Buffer buffer);
  46. extern void index_build(Relation heapRelation, Relation indexRelation,
  47. int numberOfAttributes, AttrNumber *attributeNumber,
  48. uint16 parameterCount, Datum *parameter, FuncIndexInfo *funcInfo,
  49. PredInfo *predInfo);
  50. extern bool IndexIsUnique(Oid indexId);
  51. extern bool IndexIsUniqueNoCache(Oid indexId);
  52. #endif  /* INDEX_H */