]> granicus.if.org Git - postgresql/commitdiff
In accordance to
authorTeodor Sigaev <teodor@sigaev.ru>
Fri, 25 Feb 2005 16:13:29 +0000 (16:13 +0000)
committerTeodor Sigaev <teodor@sigaev.ru>
Fri, 25 Feb 2005 16:13:29 +0000 (16:13 +0000)
http://www.pgsql.ru/db/mw/msg.html?mid=2045361

change TimeATD to/from Datum macros.

Re-initdb is needed.

src/include/catalog/catversion.h
src/include/utils/date.h

index b4d09c03c06b09db5ef6df830582bb78886925df..e4f6a74ea343aec43221f71115e843a58742d0a0 100644 (file)
@@ -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
index 222c1b1d092ed70bf7422dacd2ffe30c96a6e9e9..c3c4a06d87193fba02262a414cbbefd648de5e02 100644 (file)
@@ -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))