]> granicus.if.org Git - postgresql/commitdiff
Move WAL-related definitions from dbcommands.h to separate header file.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 9 Mar 2015 13:49:10 +0000 (15:49 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 9 Mar 2015 13:50:49 +0000 (15:50 +0200)
This makes it easier to write frontend programs that needs to understand
the WAL record format of CREATE/DROP DATABASE. dbcommands.h cannot easily
be #included in a frontend program, because it pulls in other header files
that need backend stuff, but the new dbcommands_xlog.h header file has
fewer dependencies.

contrib/pg_xlogdump/rmgrdesc.c
src/backend/access/rmgrdesc/dbasedesc.c
src/backend/access/transam/rmgr.c
src/backend/commands/dbcommands.c
src/include/commands/dbcommands.h
src/include/commands/dbcommands_xlog.h [new file with mode: 0644]

index 180818d68b5e82d8e76ad723e6612833f5f809cb..bd3344ccd6d801d58bc7f7280709b91aa8937a8f 100644 (file)
@@ -22,7 +22,7 @@
 #include "access/xact.h"
 #include "access/xlog_internal.h"
 #include "catalog/storage_xlog.h"
-#include "commands/dbcommands.h"
+#include "commands/dbcommands_xlog.h"
 #include "commands/sequence.h"
 #include "commands/tablespace.h"
 #include "rmgrdesc.h"
index de199a3bbdffb411ad7becd1ac2e868b15a59fc3..2220afc5cb245dfb14fea4cdeb41a30d799cde11 100644 (file)
@@ -14,7 +14,7 @@
  */
 #include "postgres.h"
 
-#include "commands/dbcommands.h"
+#include "commands/dbcommands_xlog.h"
 #include "lib/stringinfo.h"
 
 
index dcf423bdd73b7f3c238872d6454f1e73a9d81017..acd825fad4f7707989ba6be0d767f4fb4af3f3a1 100644 (file)
@@ -20,7 +20,7 @@
 #include "access/xact.h"
 #include "access/xlog_internal.h"
 #include "catalog/storage_xlog.h"
-#include "commands/dbcommands.h"
+#include "commands/dbcommands_xlog.h"
 #include "commands/sequence.h"
 #include "commands/tablespace.h"
 #include "storage/standby.h"
index 85791364205a9672965e9145874f6701bc1c3466..a699ce3fd28ddd161e56062a75e86afd8badc8ab 100644 (file)
@@ -40,6 +40,7 @@
 #include "catalog/pg_tablespace.h"
 #include "commands/comment.h"
 #include "commands/dbcommands.h"
+#include "commands/dbcommands_xlog.h"
 #include "commands/defrem.h"
 #include "commands/seclabel.h"
 #include "commands/tablespace.h"
index 9fec3344dcac98bc2a45b09ae3ca6521790e7058..ec78e191302a7978aa059ba7ce2b32c0cf61becd 100644 (file)
 #include "lib/stringinfo.h"
 #include "nodes/parsenodes.h"
 
-/* XLOG stuff */
-#define XLOG_DBASE_CREATE              0x00
-#define XLOG_DBASE_DROP                        0x10
-
-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;
-       Oid                     tablespace_id;
-} xl_dbase_drop_rec;
-
 extern Oid     createdb(const CreatedbStmt *stmt);
 extern void dropdb(const char *dbname, bool missing_ok);
 extern ObjectAddress RenameDatabase(const char *oldname, const char *newname);
@@ -49,10 +29,6 @@ extern ObjectAddress AlterDatabaseOwner(const char *dbname, Oid newOwnerId);
 extern Oid     get_database_oid(const char *dbname, bool missingok);
 extern char *get_database_name(Oid dbid);
 
-extern void dbase_redo(XLogReaderState *rptr);
-extern void dbase_desc(StringInfo buf, XLogReaderState *rptr);
-extern const char *dbase_identify(uint8 info);
-
 extern void check_encoding_locale_matches(int encoding, const char *collate, const char *ctype);
 
 #endif   /* DBCOMMANDS_H */
diff --git a/src/include/commands/dbcommands_xlog.h b/src/include/commands/dbcommands_xlog.h
new file mode 100644 (file)
index 0000000..71ccf5e
--- /dev/null
@@ -0,0 +1,44 @@
+/*-------------------------------------------------------------------------
+ *
+ * dbcommands_xlog.h
+ *             Database resource manager XLOG definitions (create/drop database).
+ *
+ *
+ * Portions Copyright (c) 1996-2015, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ * src/include/commands/dbcommands_xlog.h
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef DBCOMMANDS_XLOG_H
+#define DBCOMMANDS_XLOG_H
+
+#include "access/xlogreader.h"
+#include "lib/stringinfo.h"
+
+/* record types */
+#define XLOG_DBASE_CREATE              0x00
+#define XLOG_DBASE_DROP                        0x10
+
+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;
+       Oid                     tablespace_id;
+} xl_dbase_drop_rec;
+
+extern void dbase_redo(XLogReaderState *rptr);
+extern void dbase_desc(StringInfo buf, XLogReaderState *rptr);
+extern const char *dbase_identify(uint8 info);
+
+#endif   /* DBCOMMANDS_XLOG_H */