Support special values 'now', 'current', etc on output.

This commit is contained in:
Thomas G. Lockhart 1997-10-09 05:02:17 +00:00
parent f54cc390e1
commit 8fe55efd7b
1 changed files with 25 additions and 23 deletions

View File

@ -29,13 +29,33 @@ timestamp_out(time_t timestamp)
char zone[MAXDATELEN + 1], char zone[MAXDATELEN + 1],
*tzn = zone; *tzn = zone;
abstime2tm(timestamp, &tz, tm, tzn); switch (timestamp)
EncodeDateTime(tm, fsec, &tz, &tzn, USE_ISO_DATES, buf); {
case EPOCH_ABSTIME:
strcpy(buf, EPOCH);
break;
case INVALID_ABSTIME:
strcpy(buf, INVALID);
break;
case CURRENT_ABSTIME:
strcpy(buf, DCURRENT);
break;
case NOEND_ABSTIME:
strcpy(buf, LATE);
break;
case NOSTART_ABSTIME:
strcpy(buf, EARLY);
break;
default:
abstime2tm(timestamp, &tz, tm, tzn);
EncodeDateTime(tm, fsec, &tz, &tzn, USE_ISO_DATES, buf);
break;
}
result = palloc(strlen(buf) + 1); result = palloc(strlen(buf) + 1);
strcpy(result, buf); strcpy(result, buf);
return result; return result;
} } /* timestamp_out() */
time_t time_t
now(void) now(void)
@ -49,58 +69,40 @@ now(void)
bool bool
timestampeq(time_t t1, time_t t2) timestampeq(time_t t1, time_t t2)
{ {
#if FALSE
return(t1 == t2);
#endif
return(abstimeeq(t1,t2)); return(abstimeeq(t1,t2));
} }
bool bool
timestampne(time_t t1, time_t t2) timestampne(time_t t1, time_t t2)
{ {
#if FALSE
return(t1 != t2);
#endif
return(abstimene(t1,t2)); return(abstimene(t1,t2));
} }
bool bool
timestamplt(time_t t1, time_t t2) timestamplt(time_t t1, time_t t2)
{ {
#if FALSE
return(t1 > t2);
#endif
return(abstimelt(t1,t2)); return(abstimelt(t1,t2));
} }
bool bool
timestampgt(time_t t1, time_t t2) timestampgt(time_t t1, time_t t2)
{ {
#if FALSE
return(t1 < t2);
#endif
return(abstimegt(t1,t2)); return(abstimegt(t1,t2));
} }
bool bool
timestample(time_t t1, time_t t2) timestample(time_t t1, time_t t2)
{ {
#if FALSE
return(t1 >= t2);
#endif
return(abstimele(t1,t2)); return(abstimele(t1,t2));
} }
bool bool
timestampge(time_t t1, time_t t2) timestampge(time_t t1, time_t t2)
{ {
#if FALSE
return(t1 <= t2);
#endif
return(abstimege(t1,t2)); return(abstimege(t1,t2));
} }
DateTime * DateTime *
timestamp_datetime(time_t timestamp) timestamp_datetime(time_t timestamp)
{ {
DateTime *result; DateTime *result;