diff options
author | Teodor Sigaev <teodor@sigaev.ru> | 2005-02-25 16:13:29 +0000 |
---|---|---|
committer | Teodor Sigaev <teodor@sigaev.ru> | 2005-02-25 16:13:29 +0000 |
commit | 5553d6572a5c05b5663273819f14b5c373dface4 (patch) | |
tree | c7c7d69b5401af64d6afec84bc03a088ef2374db /src | |
parent | 33b92a78dab992e3a6a43ddb739690fdd65b809d (diff) | |
download | postgresql-5553d6572a5c05b5663273819f14b5c373dface4.tar.gz postgresql-5553d6572a5c05b5663273819f14b5c373dface4.zip |
In accordance to
http://www.pgsql.ru/db/mw/msg.html?mid=2045361
change TimeATD to/from Datum macros.
Re-initdb is needed.
Diffstat (limited to 'src')
-rw-r--r-- | src/include/catalog/catversion.h | 4 | ||||
-rw-r--r-- | src/include/utils/date.h | 28 |
2 files changed, 22 insertions, 10 deletions
diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index b4d09c03c06..e4f6a74ea34 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -37,7 +37,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/catalog/catversion.h,v 1.253 2004/12/31 22:03:24 pgsql Exp $ + * $PostgreSQL: pgsql/src/include/catalog/catversion.h,v 1.254 2005/02/25 16:13:29 teodor Exp $ * *------------------------------------------------------------------------- */ @@ -53,6 +53,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 200411041 +#define CATALOG_VERSION_NO 200502251 #endif diff --git a/src/include/utils/date.h b/src/include/utils/date.h index 222c1b1d092..c3c4a06d871 100644 --- a/src/include/utils/date.h +++ b/src/include/utils/date.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/utils/date.h,v 1.29 2004/12/31 22:03:45 pgsql Exp $ + * $PostgreSQL: pgsql/src/include/utils/date.h,v 1.30 2005/02/25 16:13:29 teodor Exp $ * *------------------------------------------------------------------------- */ @@ -38,18 +38,28 @@ typedef struct int32 zone; /* numeric time zone, in seconds */ } TimeTzADT; +/* + * Macros for fmgr-callable functions. + * + * For TimeADT, we make use of the same support routines as for float8 or int64. + * Therefore TimeADT is pass-by-reference if and only if float8 or int64 is! + */ #ifdef HAVE_INT64_TIMESTAMP + #define MAX_TIME_PRECISION 6 + +#define DatumGetDateADT(X) ((DateADT) DatumGetInt32(X)) +#define DatumGetTimeADT(X) ((TimeADT) DatumGetInt64(X)) +#define DatumGetTimeTzADTP(X) ((TimeTzADT *) DatumGetPointer(X)) + +#define DateADTGetDatum(X) Int32GetDatum(X) +#define TimeADTGetDatum(X) Int64GetDatum(X) +#define TimeTzADTPGetDatum(X) PointerGetDatum(X) + #else + #define MAX_TIME_PRECISION 10 -#endif -/* - * Macros for fmgr-callable functions. - * - * For TimeADT, we make use of the same support routines as for float8. - * Therefore TimeADT is pass-by-reference if and only if float8 is! - */ #define DatumGetDateADT(X) ((DateADT) DatumGetInt32(X)) #define DatumGetTimeADT(X) ((TimeADT) DatumGetFloat8(X)) #define DatumGetTimeTzADTP(X) ((TimeTzADT *) DatumGetPointer(X)) @@ -58,6 +68,8 @@ typedef struct #define TimeADTGetDatum(X) Float8GetDatum(X) #define TimeTzADTPGetDatum(X) PointerGetDatum(X) +#endif /* HAVE_INT64_TIMESTAMP */ + #define PG_GETARG_DATEADT(n) DatumGetDateADT(PG_GETARG_DATUM(n)) #define PG_GETARG_TIMEADT(n) DatumGetTimeADT(PG_GETARG_DATUM(n)) #define PG_GETARG_TIMETZADT_P(n) DatumGetTimeTzADTP(PG_GETARG_DATUM(n)) |