@@ -29,13 +29,33 @@ timestamp_out(time_t timestamp)
2929 char zone [MAXDATELEN + 1 ],
3030 * tzn = zone ;
3131
32- abstime2tm (timestamp , & tz , tm , tzn );
33- EncodeDateTime (tm , fsec , & tz , & tzn , USE_ISO_DATES , buf );
34-
32+ switch (timestamp )
33+ {
34+ case EPOCH_ABSTIME :
35+ strcpy (buf , EPOCH );
36+ break ;
37+ case INVALID_ABSTIME :
38+ strcpy (buf , INVALID );
39+ break ;
40+ case CURRENT_ABSTIME :
41+ strcpy (buf , DCURRENT );
42+ break ;
43+ case NOEND_ABSTIME :
44+ strcpy (buf , LATE );
45+ break ;
46+ case NOSTART_ABSTIME :
47+ strcpy (buf , EARLY );
48+ break ;
49+ default :
50+ abstime2tm (timestamp , & tz , tm , tzn );
51+ EncodeDateTime (tm , fsec , & tz , & tzn , USE_ISO_DATES , buf );
52+ break ;
53+ }
54+
3555 result = palloc (strlen (buf ) + 1 );
3656 strcpy (result , buf );
3757 return result ;
38- }
58+ } /* timestamp_out() */
3959
4060time_t
4161now (void )
@@ -49,58 +69,40 @@ now(void)
4969bool
5070timestampeq (time_t t1 , time_t t2 )
5171{
52- #if FALSE
53- return (t1 == t2 );
54- #endif
5572 return (abstimeeq (t1 ,t2 ));
5673}
5774
5875bool
5976timestampne (time_t t1 , time_t t2 )
6077{
61- #if FALSE
62- return (t1 != t2 );
63- #endif
6478 return (abstimene (t1 ,t2 ));
6579}
6680
6781bool
6882timestamplt (time_t t1 , time_t t2 )
6983{
70- #if FALSE
71- return (t1 > t2 );
72- #endif
7384 return (abstimelt (t1 ,t2 ));
7485}
7586
7687bool
7788timestampgt (time_t t1 , time_t t2 )
7889{
79- #if FALSE
80- return (t1 < t2 );
81- #endif
8290 return (abstimegt (t1 ,t2 ));
8391}
8492
8593bool
8694timestample (time_t t1 , time_t t2 )
8795{
88- #if FALSE
89- return (t1 >= t2 );
90- #endif
9196 return (abstimele (t1 ,t2 ));
9297}
9398
9499bool
95100timestampge (time_t t1 , time_t t2 )
96101{
97- #if FALSE
98- return (t1 <= t2 );
99- #endif
100102 return (abstimege (t1 ,t2 ));
101103}
102104
103- DateTime *
105+ DateTime *
104106timestamp_datetime (time_t timestamp )
105107{
106108 DateTime * result ;
0 commit comments