diff options
| author | Tom Lane | 2013-11-17 20:06:50 +0000 |
|---|---|---|
| committer | Tom Lane | 2013-11-17 20:06:50 +0000 |
| commit | f901bb50e33ad95593bb68f7b3b55eb2e47607dc (patch) | |
| tree | 59f57745a6e30adb0d41485cbc857b1f0d5977e6 /src/include | |
| parent | 69c8fbac201652282e18b0e2e301d4ada991fbde (diff) | |
Add make_date() and make_time() functions.
Pavel Stehule, reviewed by Jeevan Chalke and Atri Sharma
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/catalog/catversion.h | 2 | ||||
| -rw-r--r-- | src/include/catalog/pg_proc.h | 6 | ||||
| -rw-r--r-- | src/include/utils/date.h | 2 | ||||
| -rw-r--r-- | src/include/utils/datetime.h | 3 |
4 files changed, 12 insertions, 1 deletions
diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index b0286157f7..2d80cc30b7 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -53,6 +53,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 201311162 +#define CATALOG_VERSION_NO 201311171 #endif diff --git a/src/include/catalog/pg_proc.h b/src/include/catalog/pg_proc.h index c5d5d29155..6da4a50efe 100644 --- a/src/include/catalog/pg_proc.h +++ b/src/include/catalog/pg_proc.h @@ -4673,6 +4673,12 @@ DESCR("int8range constructor"); DATA(insert OID = 3946 ( int8range PGNSP PGUID 12 1 0 0 0 f f f f f f i 3 0 3926 "20 20 25" _null_ _null_ _null_ _null_ range_constructor3 _null_ _null_ _null_ )); DESCR("int8range constructor"); +/* date, time constructors */ +DATA(insert OID = 3846 ( make_date PGNSP PGUID 12 1 0 0 0 f f f f t f i 3 0 1082 "23 23 23" _null_ _null_ "{year,month,day}" _null_ make_date _null_ _null_ _null_ )); +DESCR("construct date"); +DATA(insert OID = 3847 ( make_time PGNSP PGUID 12 1 0 0 0 f f f f t f i 3 0 1083 "23 23 701" _null_ _null_ "{hour,min,sec}" _null_ make_time _null_ _null_ _null_ )); +DESCR("construct time"); + /* spgist support functions */ DATA(insert OID = 4001 ( spggettuple PGNSP PGUID 12 1 0 0 0 f f f f t f v 2 0 16 "2281 2281" _null_ _null_ _null_ _null_ spggettuple _null_ _null_ _null_ )); DESCR("spgist(internal)"); diff --git a/src/include/utils/date.h b/src/include/utils/date.h index 7c3a1bec23..83a5beacf0 100644 --- a/src/include/utils/date.h +++ b/src/include/utils/date.h @@ -97,6 +97,7 @@ extern Datum date_in(PG_FUNCTION_ARGS); extern Datum date_out(PG_FUNCTION_ARGS); extern Datum date_recv(PG_FUNCTION_ARGS); extern Datum date_send(PG_FUNCTION_ARGS); +extern Datum make_date(PG_FUNCTION_ARGS); extern Datum date_eq(PG_FUNCTION_ARGS); extern Datum date_ne(PG_FUNCTION_ARGS); extern Datum date_lt(PG_FUNCTION_ARGS); @@ -154,6 +155,7 @@ extern Datum time_recv(PG_FUNCTION_ARGS); extern Datum time_send(PG_FUNCTION_ARGS); extern Datum timetypmodin(PG_FUNCTION_ARGS); extern Datum timetypmodout(PG_FUNCTION_ARGS); +extern Datum make_time(PG_FUNCTION_ARGS); extern Datum time_transform(PG_FUNCTION_ARGS); extern Datum time_scale(PG_FUNCTION_ARGS); extern Datum time_eq(PG_FUNCTION_ARGS); diff --git a/src/include/utils/datetime.h b/src/include/utils/datetime.h index 3cd921a0db..4e59e445ee 100644 --- a/src/include/utils/datetime.h +++ b/src/include/utils/datetime.h @@ -294,6 +294,9 @@ extern void EncodeTimeOnly(struct pg_tm * tm, fsec_t fsec, bool print_tz, int tz extern void EncodeDateTime(struct pg_tm * tm, fsec_t fsec, bool print_tz, int tz, const char *tzn, int style, char *str); extern void EncodeInterval(struct pg_tm * tm, fsec_t fsec, int style, char *str); +extern int ValidateDate(int fmask, bool isjulian, bool is2digits, bool bc, + struct pg_tm * tm); + extern int DecodeSpecial(int field, char *lowtoken, int *val); extern int DecodeUnits(int field, char *lowtoken, int *val); |
