diff options
author | Marc G. Fournier <scrappy@hub.org> | 1996-07-31 02:30:10 +0000 |
---|---|---|
committer | Marc G. Fournier <scrappy@hub.org> | 1996-07-31 02:30:10 +0000 |
commit | 5eb17f53b61e033ed65a428cff50c4d3e58c7178 (patch) | |
tree | f196ae5e085ffc2723ffe96ea0912dc83f1cd71c /src/extend/datetime/datetime_functions.c | |
parent | c6cf21825ae8944613134d133abab8fe218c61b3 (diff) | |
download | postgresql-5eb17f53b61e033ed65a428cff50c4d3e58c7178.tar.gz postgresql-5eb17f53b61e033ed65a428cff50c4d3e58c7178.zip |
Moved src/extend to contrib
Diffstat (limited to 'src/extend/datetime/datetime_functions.c')
-rw-r--r-- | src/extend/datetime/datetime_functions.c | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/src/extend/datetime/datetime_functions.c b/src/extend/datetime/datetime_functions.c deleted file mode 100644 index dc1fec8bd20..00000000000 --- a/src/extend/datetime/datetime_functions.c +++ /dev/null @@ -1,147 +0,0 @@ -/* - * datetime_functions.c -- - * - * This file defines new functions for the time and date data types. - * - * Copyright (c) 1996, Massimo Dal Zotto <dz@cs.unitn.it> - */ - -#include <time.h> - -#include "postgres.h" -#include "pg_type.h" -#include "utils/palloc.h" - -typedef struct DateADT { - char day; - char month; - short year; -} DateADT; - -typedef struct TimeADT { - short hr; - short min; - float sec; -} TimeADT; - -TimeADT * -time_difference(TimeADT *time1, TimeADT *time2) -{ - TimeADT *time = (TimeADT*)palloc(sizeof(TimeADT)); - - time->sec = time1->sec - time2->sec; - time->min = time1->min - time2->min; - time->hr = time1->hr - time2->hr; - - if (time->sec < 0) { - time->sec += 60.0; - time->min--; - } else if (time->sec >= 60.0) { - time->sec -= 60.0; - time->min++; - } - - if (time->min < 0) { - time->min += 60; - time->hr--; - } else if (time->min >= 60) { - time->min -= 60; - time->hr++; - } - - if (time->hr < 0) { - time->hr += 24; - } else if (time->hr >= 24) { - time->hr -= 24; - } - - return (time); -} - -TimeADT * -currentTime() -{ - time_t current_time; - struct tm *tm; - TimeADT *result = (TimeADT*)palloc(sizeof(TimeADT)); - - current_time = time(NULL); - tm = localtime(¤t_time); - result->sec = tm->tm_sec; - result->min = tm->tm_min; - result->hr = tm->tm_hour; - - return (result); -} - -int4 -currentDate() -{ - time_t current_time; - struct tm *tm; - int4 result; - DateADT *date = (DateADT*)&result; - - current_time = time(NULL); - tm = localtime(¤t_time); - date->day = tm->tm_mday; - date->month = tm->tm_mon+1; - date->year = tm->tm_year+1900; - - return (result); -} - -int4 -hours(TimeADT *time) -{ - return (time->hr); -} - -int4 -minutes(TimeADT *time) -{ - return (time->min); -} - -int4 -seconds(TimeADT *time) -{ - int seconds = (int)time->sec; - return (seconds); -} - -int4 -day(int4 val) -{ - DateADT *date = (DateADT*)&val; - return (date->day); -} - -int4 -month(int4 val) -{ - DateADT *date = (DateADT*)&val; - return (date->month); -} - -int4 -year(int4 val) -{ - DateADT *date = (DateADT*)&val; - return (date->year); -} - -int4 -asMinutes(TimeADT *time) -{ - int seconds = (int)time->sec; - return (time->min + 60*time->hr); -} - -int4 -asSeconds(TimeADT *time) -{ - int seconds = (int)time->sec; - return (seconds + 60*time->min + 3600*time->hr); -} - |