1 /*-------------------------------------------------------------------------
4 * POSTGRES scan direction definitions.
7 * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/access/sdir.h
12 *-------------------------------------------------------------------------
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
22 typedef enum ScanDirection
24 BackwardScanDirection
= -1,
25 NoMovementScanDirection
= 0,
26 ForwardScanDirection
= 1
30 * ScanDirectionIsValid
31 * True iff scan direction is valid.
33 #define ScanDirectionIsValid(direction) \
34 ((bool) (BackwardScanDirection <= (direction) && \
35 (direction) <= ForwardScanDirection))
38 * ScanDirectionIsBackward
39 * True iff scan direction is backward.
41 #define ScanDirectionIsBackward(direction) \
42 ((bool) ((direction) == BackwardScanDirection))
45 * ScanDirectionIsNoMovement
46 * True iff scan direction indicates no movement.
48 #define ScanDirectionIsNoMovement(direction) \
49 ((bool) ((direction) == NoMovementScanDirection))
52 * ScanDirectionIsForward
53 * True iff scan direction is forward.
55 #define ScanDirectionIsForward(direction) \
56 ((bool) ((direction) == ForwardScanDirection))