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

数据库系统

开发平台:

Unix_Linux

  1. /*-------------------------------------------------------------------------
  2.  *
  3.  * skey.h
  4.  *   POSTGRES scan key definitions.
  5.  *
  6.  *
  7.  * Copyright (c) 1994, Regents of the University of California
  8.  *
  9.  * $Id: skey.h,v 1.11.2.1 1999/07/30 18:26:59 scrappy Exp $
  10.  *
  11.  *
  12.  * Note:
  13.  * Needs more accessor/assignment routines.
  14.  *-------------------------------------------------------------------------
  15.  */
  16. #ifndef SKEY_H
  17. #define SKEY_H
  18. #include "access/attnum.h"
  19. #include "fmgr.h"
  20. typedef struct ScanKeyData
  21. {
  22. bits16 sk_flags; /* flags */
  23. AttrNumber sk_attno; /* domain number */
  24. RegProcedure sk_procedure; /* procedure OID */
  25. FmgrInfo sk_func;
  26. int32 sk_nargs;
  27. Datum sk_argument; /* data to compare */
  28. } ScanKeyData;
  29. typedef ScanKeyData *ScanKey;
  30. #define SK_ISNULL 0x1
  31. #define SK_UNARY 0x2
  32. #define SK_NEGATE 0x4
  33. #define SK_COMMUTE 0x8
  34. #define ScanUnmarked 0x01
  35. #define ScanUncheckedPrevious 0x02
  36. #define ScanUncheckedNext 0x04
  37. /*
  38.  * prototypes for functions in access/common/scankey.c
  39.  */
  40. extern void ScanKeyEntrySetIllegal(ScanKey entry);
  41. extern void ScanKeyEntryInitialize(ScanKey entry, bits16 flags,
  42.  AttrNumber attributeNumber, RegProcedure procedure, Datum argument);
  43. #endif  /* SKEY_H */