1 /*-------------------------------------------------------------------------
4 * POSTGRES time qualification definitions.
7 * Copyright (c) 1994, Regents of the University of California
9 * $Id: tqual.h,v 1.3 1996/10/23 07:42:13 scrappy Exp $
12 * It may be desirable to allow time qualifications to indicate
15 *-------------------------------------------------------------------------
20 #include "utils/nabstime.h"
21 #include "access/htup.h"
23 typedef struct TimeQualSpace {
27 typedef Pointer TimeQual;
29 /* Tuples valid as of StartTransactionCommand */
30 #define NowTimeQual ((TimeQual) NULL)
32 /* As above, plus updates in this command */
33 extern TimeQual SelfTimeQual;
35 extern void setheapoverride(bool on);
36 extern bool heapisoverride(void);
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);