OSDN Git Service

Major code cleanups from D'arcy (-Wall -Werror)
[pg-rex/syncrep.git] / src / include / utils / tqual.h
1 /*-------------------------------------------------------------------------
2  *
3  * tqual.h--
4  *    POSTGRES time qualification definitions.
5  *
6  *
7  * Copyright (c) 1994, Regents of the University of California
8  *
9  * $Id: tqual.h,v 1.3 1996/10/23 07:42:13 scrappy Exp $
10  *
11  * NOTE
12  *    It may be desirable to allow time qualifications to indicate
13  *    relative times.
14  *
15  *-------------------------------------------------------------------------
16  */
17 #ifndef TQUAL_H
18 #define TQUAL_H
19
20 #include "utils/nabstime.h"
21 #include "access/htup.h"
22
23 typedef struct TimeQualSpace {
24     char        data[12];
25 } TimeQualSpace;
26
27 typedef Pointer TimeQual;
28
29 /* Tuples valid as of StartTransactionCommand */
30 #define NowTimeQual     ((TimeQual) NULL)
31
32 /* As above, plus updates in this command */
33 extern TimeQual SelfTimeQual;
34
35 extern void setheapoverride(bool on);
36 extern bool heapisoverride(void);
37
38 extern bool TimeQualIsValid(TimeQual qual);
39 extern bool TimeQualIsLegal(TimeQual qual);
40 extern bool TimeQualIncludesNow(TimeQual qual);
41 extern bool TimeQualIncludesPast(TimeQual qual);
42 extern bool TimeQualIsSnapshot(TimeQual qual);
43 extern bool TimeQualIsRanged(TimeQual qual);
44 extern bool TimeQualIndicatesDisableValidityChecking(TimeQual qual);
45 extern AbsoluteTime TimeQualGetSnapshotTime(TimeQual qual);
46 extern AbsoluteTime TimeQualGetStartTime(TimeQual qual);
47 extern AbsoluteTime TimeQualGetEndTime(TimeQual qual);
48 extern TimeQual TimeFormSnapshotTimeQual(AbsoluteTime time);
49 extern TimeQual TimeFormRangedTimeQual(AbsoluteTime startTime,
50                                        AbsoluteTime endTime);
51 extern bool HeapTupleSatisfiesTimeQual(HeapTuple tuple, TimeQual qual);
52
53
54 #endif  /* TQUAL_H */