mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-31 10:30:33 +03:00 
			
		
		
		
	Move WAL-related definitions from dbcommands.h to separate header file.
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.
This commit is contained in:
		| @@ -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" | ||||
|   | ||||
| @@ -14,7 +14,7 @@ | ||||
|  */ | ||||
| #include "postgres.h" | ||||
|  | ||||
| #include "commands/dbcommands.h" | ||||
| #include "commands/dbcommands_xlog.h" | ||||
| #include "lib/stringinfo.h" | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -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" | ||||
|   | ||||
| @@ -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" | ||||
|   | ||||
| @@ -19,26 +19,6 @@ | ||||
| #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 */ | ||||
|   | ||||
							
								
								
									
										44
									
								
								src/include/commands/dbcommands_xlog.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								src/include/commands/dbcommands_xlog.h
									
									
									
									
									
										Normal file
									
								
							| @@ -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 */ | ||||
		Reference in New Issue
	
	Block a user