aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTeodor Sigaev <teodor@sigaev.ru>2005-02-25 16:13:29 +0000
committerTeodor Sigaev <teodor@sigaev.ru>2005-02-25 16:13:29 +0000
commit5553d6572a5c05b5663273819f14b5c373dface4 (patch)
treec7c7d69b5401af64d6afec84bc03a088ef2374db /src
parent33b92a78dab992e3a6a43ddb739690fdd65b809d (diff)
downloadpostgresql-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.h4
-rw-r--r--src/include/utils/date.h28
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))