diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/access/rmgr.h | 4 | ||||
-rw-r--r-- | src/include/commands/dbcommands.h | 28 | ||||
-rw-r--r-- | src/include/commands/tablespace.h | 29 | ||||
-rw-r--r-- | src/include/port.h | 3 |
4 files changed, 54 insertions, 10 deletions
diff --git a/src/include/access/rmgr.h b/src/include/access/rmgr.h index d43f6fdcaf1..b01f8058873 100644 --- a/src/include/access/rmgr.h +++ b/src/include/access/rmgr.h @@ -3,7 +3,7 @@ * * Resource managers definition * - * $PostgreSQL: pgsql/src/include/access/rmgr.h,v 1.12 2004/08/23 23:22:45 tgl Exp $ + * $PostgreSQL: pgsql/src/include/access/rmgr.h,v 1.13 2004/08/29 21:08:47 tgl Exp $ */ #ifndef RMGR_H #define RMGR_H @@ -17,6 +17,8 @@ typedef uint8 RmgrId; #define RM_XACT_ID 1 #define RM_SMGR_ID 2 #define RM_CLOG_ID 3 +#define RM_DBASE_ID 4 +#define RM_TBLSPC_ID 5 #define RM_HEAP_ID 10 #define RM_BTREE_ID 11 #define RM_HASH_ID 12 diff --git a/src/include/commands/dbcommands.h b/src/include/commands/dbcommands.h index f036a38247d..d684511a297 100644 --- a/src/include/commands/dbcommands.h +++ b/src/include/commands/dbcommands.h @@ -1,21 +1,41 @@ /*------------------------------------------------------------------------- * * dbcommands.h - * + * Database management commands (create/drop database). * * * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/commands/dbcommands.h,v 1.33 2004/08/29 04:13:05 momjian Exp $ + * $PostgreSQL: pgsql/src/include/commands/dbcommands.h,v 1.34 2004/08/29 21:08:47 tgl Exp $ * *------------------------------------------------------------------------- */ #ifndef DBCOMMANDS_H #define DBCOMMANDS_H +#include "access/xlog.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; + char src_path[1]; /* VARIABLE LENGTH STRING */ + /* dst_path follows src_path */ +} 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 */ +} xl_dbase_drop_rec; + extern void createdb(const CreatedbStmt *stmt); extern void dropdb(const char *dbname); extern void RenameDatabase(const char *oldname, const char *newname); @@ -25,4 +45,8 @@ extern void AlterDatabaseOwner(const char *dbname, AclId newOwnerSysId); extern Oid get_database_oid(const char *dbname); extern char *get_database_name(Oid dbid); +extern void dbase_redo(XLogRecPtr lsn, XLogRecord *rptr); +extern void dbase_undo(XLogRecPtr lsn, XLogRecord *rptr); +extern void dbase_desc(char *buf, uint8 xl_info, char *rec); + #endif /* DBCOMMANDS_H */ diff --git a/src/include/commands/tablespace.h b/src/include/commands/tablespace.h index 42093c51505..8aba919ab3a 100644 --- a/src/include/commands/tablespace.h +++ b/src/include/commands/tablespace.h @@ -1,32 +1,49 @@ /*------------------------------------------------------------------------- * * tablespace.h - * prototypes for tablespace.c. + * Tablespace management commands (create/drop tablespace). * * * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/commands/tablespace.h,v 1.3 2004/07/11 19:52:52 tgl Exp $ + * $PostgreSQL: pgsql/src/include/commands/tablespace.h,v 1.4 2004/08/29 21:08:47 tgl Exp $ * *------------------------------------------------------------------------- */ #ifndef TABLESPACE_H #define TABLESPACE_H +#include "access/xlog.h" #include "nodes/parsenodes.h" -extern void CreateTableSpace(CreateTableSpaceStmt *stmt); +/* XLOG stuff */ +#define XLOG_TBLSPC_CREATE 0x00 +#define XLOG_TBLSPC_DROP 0x10 + +typedef struct xl_tblspc_create_rec +{ + Oid ts_id; + char ts_path[1]; /* VARIABLE LENGTH STRING */ +} xl_tblspc_create_rec; + +typedef struct xl_tblspc_drop_rec +{ + Oid ts_id; +} xl_tblspc_drop_rec; +extern void CreateTableSpace(CreateTableSpaceStmt *stmt); extern void DropTableSpace(DropTableSpaceStmt *stmt); +extern void RenameTableSpace(const char *oldname, const char *newname); +extern void AlterTableSpaceOwner(const char *name, AclId newOwnerSysId); extern void TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo); extern Oid get_tablespace_oid(const char *tablespacename); - extern char *get_tablespace_name(Oid spc_oid); -extern void RenameTableSpace(const char *oldname, const char *newname); -extern void AlterTableSpaceOwner(const char *name, AclId newOwnerSysId); +extern void tblspc_redo(XLogRecPtr lsn, XLogRecord *rptr); +extern void tblspc_undo(XLogRecPtr lsn, XLogRecord *rptr); +extern void tblspc_desc(char *buf, uint8 xl_info, char *rec); #endif /* TABLESPACE_H */ diff --git a/src/include/port.h b/src/include/port.h index cd9225748e8..e3e4eda4569 100644 --- a/src/include/port.h +++ b/src/include/port.h @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/port.h,v 1.56 2004/08/29 05:06:55 momjian Exp $ + * $PostgreSQL: pgsql/src/include/port.h,v 1.57 2004/08/29 21:08:48 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -51,6 +51,7 @@ extern void get_pkglib_path(const char *my_exec_path, char *ret_path); extern void get_locale_path(const char *my_exec_path, char *ret_path); extern void set_pglocale_pgservice(const char *argv0, const char *app); extern bool get_home_path(char *ret_path); +extern void get_parent_directory(char *path); /* * is_absolute_path |