aboutsummaryrefslogtreecommitdiff
path: root/src/include/commands/dbcommands.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/commands/dbcommands.h')
-rw-r--r--src/include/commands/dbcommands.h35
1 files changed, 30 insertions, 5 deletions
diff --git a/src/include/commands/dbcommands.h b/src/include/commands/dbcommands.h
index 1709d996289..b1791f0aa58 100644
--- a/src/include/commands/dbcommands.h
+++ b/src/include/commands/dbcommands.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/commands/dbcommands.h,v 1.36 2004/12/31 22:03:28 pgsql Exp $
+ * $PostgreSQL: pgsql/src/include/commands/dbcommands.h,v 1.36.4.1 2005/03/23 00:04:25 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -18,22 +18,47 @@
#include "nodes/parsenodes.h"
/* XLOG stuff */
-#define XLOG_DBASE_CREATE 0x00
-#define XLOG_DBASE_DROP 0x10
+#define XLOG_DBASE_CREATE_OLD 0x00
+#define XLOG_DBASE_DROP_OLD 0x10
+#define XLOG_DBASE_CREATE 0x20
+#define XLOG_DBASE_DROP 0x30
-typedef struct xl_dbase_create_rec
+/*
+ * Note: "old" versions are deprecated and need not be supported beyond 8.0.
+ * Not only are they relatively bulky, but they do the Wrong Thing when a
+ * WAL log is replayed in a data area that's at a different absolute path
+ * than the original.
+ */
+
+typedef struct xl_dbase_create_rec_old
{
/* Records copying of a single subdirectory incl. contents */
Oid db_id;
char src_path[1]; /* VARIABLE LENGTH STRING */
/* dst_path follows src_path */
+} xl_dbase_create_rec_old;
+
+typedef struct xl_dbase_drop_rec_old
+{
+ /* Records dropping of a single subdirectory incl. contents */
+ Oid db_id;
+ char dir_path[1]; /* VARIABLE LENGTH STRING */
+} xl_dbase_drop_rec_old;
+
+typedef struct xl_dbase_create_rec
+{
+ /* Records copying of a single subdirectory incl. contents */
+ Oid db_id;
+ Oid tablespace_id;
+ Oid src_db_id;
+ Oid src_tablespace_id;
} xl_dbase_create_rec;
typedef struct xl_dbase_drop_rec
{
/* Records dropping of a single subdirectory incl. contents */
Oid db_id;
- char dir_path[1]; /* VARIABLE LENGTH STRING */
+ Oid tablespace_id;
} xl_dbase_drop_rec;
extern void createdb(const CreatedbStmt *stmt);