summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas G. Lockhart <lockhart@fourpalms.org>1997-07-01 00:25:30 +0000
committerThomas G. Lockhart <lockhart@fourpalms.org>1997-07-01 00:25:30 +0000
commit495fdfba982c8a7580a70e1504fedce4264ce1d8 (patch)
tree1a70d7a30b9a85ba414a178160d877701a00879e
parent8507ddb9c63bc341e52c82acf52770ecd423a994 (diff)
downloadpostgresql-495fdfba982c8a7580a70e1504fedce4264ce1d8.tar.gz
Rearrange DTK_x constants.
Define constants to allow day of week decoding. Add new datetime and timespan routines.
-rw-r--r--src/include/utils/dt.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/include/utils/dt.h b/src/include/utils/dt.h
index a7a5f61e3e..1de22f70df 100644
--- a/src/include/utils/dt.h
+++ b/src/include/utils/dt.h
@@ -8,7 +8,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: dt.h,v 1.12 1997/06/23 15:03:45 thomas Exp $
+ * $Id: dt.h,v 1.13 1997/07/01 00:25:30 thomas Exp $
*
*-------------------------------------------------------------------------
*/
@@ -129,10 +129,10 @@ typedef struct {
#define DTK_NUMBER 0
#define DTK_STRING 1
-#define DTK_DATETIME 2
-#define DTK_DATE 3
-#define DTK_TIME 4
-#define DTK_TZ 5
+#define DTK_DATE 2
+#define DTK_TIME 3
+#define DTK_TZ 4
+#define DTK_AGO 5
#define DTK_SPECIAL 6
#define DTK_INVALID 7
@@ -160,7 +160,7 @@ typedef struct {
#define DTK_MILLENIUM 28
#define DTK_MILLISEC 29
#define DTK_MICROSEC 30
-#define DTK_AGO 31
+#define DTK_DOW 31
/*
* Bit mask definitions for time parsing.
@@ -268,8 +268,11 @@ extern text *datetime_text(DateTime *datetime);
extern DateTime *text_datetime(text *str);
extern text *timespan_text(TimeSpan *timespan);
extern TimeSpan *text_timespan(text *str);
+extern DateTime *datetime_trunc(text *units, DateTime *datetime);
+extern TimeSpan *timespan_trunc(text *units, TimeSpan *timespan);
extern float64 datetime_part(text *units, DateTime *datetime);
extern float64 timespan_part(text *units, TimeSpan *timespan);
+extern text *datetime_zone(text *zone, DateTime *datetime);
extern TimeSpan *timespan_um(TimeSpan *span);
extern TimeSpan *timespan_add(TimeSpan *span1, TimeSpan *span2);
@@ -278,6 +281,7 @@ extern TimeSpan *timespan_sub(TimeSpan *span1, TimeSpan *span2);
extern TimeSpan *datetime_sub(DateTime *dt1, DateTime *dt2);
extern DateTime *datetime_add_span(DateTime *dt, TimeSpan *span);
extern DateTime *datetime_sub_span(DateTime *dt, TimeSpan *span);
+extern TimeSpan *datetime_age(DateTime *dt1, DateTime *dt2);
extern void GetCurrentTime(struct tm *tm);
extern DateTime SetDateTime(DateTime datetime);
@@ -317,6 +321,8 @@ extern int DecodeDateDelta( char *field[], int ftype[],
extern int DecodeUnits(int field, char *lowtoken, int *val);
extern int EncodeSpecialDateTime(DateTime dt, char *str);
+extern int EncodeDateOnly(struct tm *tm, int style, char *str);
+extern int EncodeTimeOnly(struct tm *tm, double fsec, int style, char *str);
extern int EncodeDateTime(struct tm *tm, double fsec, int *tzp, char **tzn, int style, char *str);
extern int EncodeTimeSpan(struct tm *tm, double fsec, int style, char *str);