]> granicus.if.org Git - postgresql/blob - src/include/access/sdir.h
efb0bfc7289defe72f4410b1993c4208d64d9f33
[postgresql] / src / include / access / sdir.h
1 /*-------------------------------------------------------------------------
2  *
3  * sdir.h
4  *        POSTGRES scan direction definitions.
5  *
6  *
7  * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * $PostgreSQL: pgsql/src/include/access/sdir.h,v 1.18 2006/03/05 15:58:53 momjian Exp $
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef SDIR_H
15 #define SDIR_H
16
17
18 /*
19  * ScanDirection was an int8 for no apparent reason. I kept the original
20  * values because I'm not sure if I'll break anything otherwise.  -ay 2/95
21  */
22 typedef enum ScanDirection
23 {
24         BackwardScanDirection = -1,
25         NoMovementScanDirection = 0,
26         ForwardScanDirection = 1
27 } ScanDirection;
28
29 /*
30  * ScanDirectionIsValid
31  *              True iff scan direction is valid.
32  */
33 #define ScanDirectionIsValid(direction) \
34         ((bool) (BackwardScanDirection <= (direction) && \
35                          (direction) <= ForwardScanDirection))
36
37 /*
38  * ScanDirectionIsBackward
39  *              True iff scan direction is backward.
40  */
41 #define ScanDirectionIsBackward(direction) \
42         ((bool) ((direction) == BackwardScanDirection))
43
44 /*
45  * ScanDirectionIsNoMovement
46  *              True iff scan direction indicates no movement.
47  */
48 #define ScanDirectionIsNoMovement(direction) \
49         ((bool) ((direction) == NoMovementScanDirection))
50
51 /*
52  * ScanDirectionIsForward
53  *              True iff scan direction is forward.
54  */
55 #define ScanDirectionIsForward(direction) \
56         ((bool) ((direction) == ForwardScanDirection))
57
58 #endif   /* SDIR_H */