summaryrefslogtreecommitdiff
path: root/src/include/utils/nabstime.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/utils/nabstime.h')
-rw-r--r--src/include/utils/nabstime.h163
1 files changed, 0 insertions, 163 deletions
diff --git a/src/include/utils/nabstime.h b/src/include/utils/nabstime.h
deleted file mode 100644
index 1115779e5de..00000000000
--- a/src/include/utils/nabstime.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * nabstime.h
- * Definitions for the "new" abstime code.
- *
- *
- * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
- * Portions Copyright (c) 1994, Regents of the University of California
- *
- * $Id: nabstime.h,v 1.36 2002/06/20 20:29:53 momjian Exp $
- *
- *-------------------------------------------------------------------------
- */
-#ifndef NABSTIME_H
-#define NABSTIME_H
-
-#include <limits.h>
-#include <time.h>
-
-#include "fmgr.h"
-#include "utils/timestamp.h"
-#include "utils/datetime.h"
-
-
-/* ----------------------------------------------------------------
- *
- * time types + support macros
- *
- * ----------------------------------------------------------------
- */
-/*
- * Although time_t generally is a long int on 64 bit systems, these two
- * types must be 4 bytes, because that's what the system assumes. They
- * should be yanked (long) before 2038 and be replaced by timestamp and
- * interval.
- */
-typedef int32 AbsoluteTime;
-typedef int32 RelativeTime;
-
-typedef struct
-{
- int32 status;
- AbsoluteTime data[2];
-} TimeIntervalData;
-
-typedef TimeIntervalData *TimeInterval;
-
-/*
- * Macros for fmgr-callable functions.
- */
-#define DatumGetAbsoluteTime(X) ((AbsoluteTime) DatumGetInt32(X))
-#define DatumGetRelativeTime(X) ((RelativeTime) DatumGetInt32(X))
-#define DatumGetTimeInterval(X) ((TimeInterval) DatumGetPointer(X))
-
-#define AbsoluteTimeGetDatum(X) Int32GetDatum(X)
-#define RelativeTimeGetDatum(X) Int32GetDatum(X)
-#define TimeIntervalGetDatum(X) PointerGetDatum(X)
-
-#define PG_GETARG_ABSOLUTETIME(n) DatumGetAbsoluteTime(PG_GETARG_DATUM(n))
-#define PG_GETARG_RELATIVETIME(n) DatumGetRelativeTime(PG_GETARG_DATUM(n))
-#define PG_GETARG_TIMEINTERVAL(n) DatumGetTimeInterval(PG_GETARG_DATUM(n))
-
-#define PG_RETURN_ABSOLUTETIME(x) return AbsoluteTimeGetDatum(x)
-#define PG_RETURN_RELATIVETIME(x) return RelativeTimeGetDatum(x)
-#define PG_RETURN_TIMEINTERVAL(x) return TimeIntervalGetDatum(x)
-
-/*
- * Reserved values
- * Epoch is Unix system time zero, but needs to be kept as a reserved
- * value rather than converting to time since timezone calculations
- * might move it away from 1970-01-01 00:00:00Z - tgl 97/02/20
- *
- * Pre-v6.1 code had large decimal numbers for reserved values.
- * These were chosen as special 32-bit bit patterns,
- * so redefine them explicitly using these bit patterns. - tgl 97/02/24
- */
-#define INVALID_ABSTIME ((AbsoluteTime) 0x7FFFFFFE) /* 2147483647 (2^31 - 1) */
-#define NOEND_ABSTIME ((AbsoluteTime) 0x7FFFFFFC) /* 2147483645 (2^31 - 3) */
-#define NOSTART_ABSTIME ((AbsoluteTime) INT_MIN) /* -2147483648 */
-
-#define INVALID_RELTIME ((RelativeTime) 0x7FFFFFFE) /* 2147483647 (2^31 - 1) */
-
-#define AbsoluteTimeIsValid(time) \
- ((bool) ((time) != INVALID_ABSTIME))
-
-/*
- * Because NOSTART_ABSTIME is defined as INT_MIN, there can't be any
- * AbsoluteTime values less than it. Therefore, we can code the test
- * "time > NOSTART_ABSTIME" as "time != NOSTART_ABSTIME", which avoids
- * compiler bugs on some platforms. --- tgl & az, 11/2000
- */
-#define AbsoluteTimeIsReal(time) \
- ((bool) (((AbsoluteTime) (time)) < NOEND_ABSTIME && \
- ((AbsoluteTime) (time)) != NOSTART_ABSTIME))
-
-#define RelativeTimeIsValid(time) \
- ((bool) (((RelativeTime) (time)) != INVALID_RELTIME))
-
-
-/*
- * nabstime.c prototypes
- */
-extern Datum nabstimein(PG_FUNCTION_ARGS);
-extern Datum nabstimeout(PG_FUNCTION_ARGS);
-
-extern Datum abstimeeq(PG_FUNCTION_ARGS);
-extern Datum abstimene(PG_FUNCTION_ARGS);
-extern Datum abstimelt(PG_FUNCTION_ARGS);
-extern Datum abstimegt(PG_FUNCTION_ARGS);
-extern Datum abstimele(PG_FUNCTION_ARGS);
-extern Datum abstimege(PG_FUNCTION_ARGS);
-extern Datum abstime_finite(PG_FUNCTION_ARGS);
-
-extern Datum timestamp_abstime(PG_FUNCTION_ARGS);
-extern Datum abstime_timestamp(PG_FUNCTION_ARGS);
-extern Datum timestamptz_abstime(PG_FUNCTION_ARGS);
-extern Datum abstime_timestamptz(PG_FUNCTION_ARGS);
-
-extern Datum reltimein(PG_FUNCTION_ARGS);
-extern Datum reltimeout(PG_FUNCTION_ARGS);
-extern Datum tintervalin(PG_FUNCTION_ARGS);
-extern Datum tintervalout(PG_FUNCTION_ARGS);
-extern Datum interval_reltime(PG_FUNCTION_ARGS);
-extern Datum reltime_interval(PG_FUNCTION_ARGS);
-extern Datum mktinterval(PG_FUNCTION_ARGS);
-extern Datum timepl(PG_FUNCTION_ARGS);
-extern Datum timemi(PG_FUNCTION_ARGS);
-
-extern Datum intinterval(PG_FUNCTION_ARGS);
-extern Datum tintervalrel(PG_FUNCTION_ARGS);
-extern Datum timenow(PG_FUNCTION_ARGS);
-extern Datum reltimeeq(PG_FUNCTION_ARGS);
-extern Datum reltimene(PG_FUNCTION_ARGS);
-extern Datum reltimelt(PG_FUNCTION_ARGS);
-extern Datum reltimegt(PG_FUNCTION_ARGS);
-extern Datum reltimele(PG_FUNCTION_ARGS);
-extern Datum reltimege(PG_FUNCTION_ARGS);
-extern Datum tintervalsame(PG_FUNCTION_ARGS);
-extern Datum tintervaleq(PG_FUNCTION_ARGS);
-extern Datum tintervalne(PG_FUNCTION_ARGS);
-extern Datum tintervallt(PG_FUNCTION_ARGS);
-extern Datum tintervalgt(PG_FUNCTION_ARGS);
-extern Datum tintervalle(PG_FUNCTION_ARGS);
-extern Datum tintervalge(PG_FUNCTION_ARGS);
-extern Datum tintervalleneq(PG_FUNCTION_ARGS);
-extern Datum tintervallenne(PG_FUNCTION_ARGS);
-extern Datum tintervallenlt(PG_FUNCTION_ARGS);
-extern Datum tintervallengt(PG_FUNCTION_ARGS);
-extern Datum tintervallenle(PG_FUNCTION_ARGS);
-extern Datum tintervallenge(PG_FUNCTION_ARGS);
-extern Datum tintervalct(PG_FUNCTION_ARGS);
-extern Datum tintervalov(PG_FUNCTION_ARGS);
-extern Datum tintervalstart(PG_FUNCTION_ARGS);
-extern Datum tintervalend(PG_FUNCTION_ARGS);
-extern Datum int4reltime(PG_FUNCTION_ARGS);
-extern Datum timeofday(PG_FUNCTION_ARGS);
-
-/* non-fmgr-callable support routines */
-extern AbsoluteTime GetCurrentAbsoluteTime(void);
-extern AbsoluteTime GetCurrentAbsoluteTimeUsec(int *usec);
-extern void abstime2tm(AbsoluteTime time, int *tzp, struct tm * tm, char **tzn);
-
-#endif /* NABSTIME_H */