aboutsummaryrefslogtreecommitdiff
path: root/src/include/access/xlog_internal.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2008-02-17 02:09:32 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2008-02-17 02:09:32 +0000
commitcd004067742ee16ee63e55abfb4acbd5f09fbaab (patch)
tree62995d45f55faf5f5cdddc791d4d83d3de495b03 /src/include/access/xlog_internal.h
parentee7a6770f607e9e7f0e1b29dc25a7b7d63cb7940 (diff)
downloadpostgresql-cd004067742ee16ee63e55abfb4acbd5f09fbaab.tar.gz
postgresql-cd004067742ee16ee63e55abfb4acbd5f09fbaab.zip
Replace time_t with pg_time_t (same values, but always int64) in on-disk
data structures and backend internal APIs. This solves problems we've seen recently with inconsistent layout of pg_control between machines that have 32-bit time_t and those that have already migrated to 64-bit time_t. Also, we can get out from under the problem that Windows' Unix-API emulation is not consistent about the width of time_t. There are a few remaining places where local time_t variables are used to hold the current or recent result of time(NULL). I didn't bother changing these since they do not affect any cross-module APIs and surely all platforms will have 64-bit time_t before overflow becomes an actual risk. time_t should be avoided for anything visible to extension modules, however.
Diffstat (limited to 'src/include/access/xlog_internal.h')
-rw-r--r--src/include/access/xlog_internal.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/include/access/xlog_internal.h b/src/include/access/xlog_internal.h
index a4a4e72badf..88fe0b6a95f 100644
--- a/src/include/access/xlog_internal.h
+++ b/src/include/access/xlog_internal.h
@@ -11,15 +11,14 @@
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/access/xlog_internal.h,v 1.22 2008/01/01 19:45:56 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/access/xlog_internal.h,v 1.23 2008/02/17 02:09:30 tgl Exp $
*/
#ifndef XLOG_INTERNAL_H
#define XLOG_INTERNAL_H
-#include <time.h>
-
#include "access/xlog.h"
#include "fmgr.h"
+#include "pgtime.h"
#include "storage/block.h"
#include "storage/relfilenode.h"
@@ -71,7 +70,7 @@ typedef struct XLogContRecord
/*
* Each page of XLOG file has a header like this:
*/
-#define XLOG_PAGE_MAGIC 0xD062 /* can be used as WAL version indicator */
+#define XLOG_PAGE_MAGIC 0xD063 /* can be used as WAL version indicator */
typedef struct XLogPageHeaderData
{
@@ -242,7 +241,7 @@ extern const RmgrData RmgrTable[];
/*
* Exported to support xlog switching from bgwriter
*/
-extern time_t GetLastSegSwitchTime(void);
+extern pg_time_t GetLastSegSwitchTime(void);
extern XLogRecPtr RequestXLogSwitch(void);
/*