diff options
Diffstat (limited to 'src/include/commands')
-rw-r--r-- | src/include/commands/dbcommands.h | 28 | ||||
-rw-r--r-- | src/include/commands/tablespace.h | 29 |
2 files changed, 49 insertions, 8 deletions
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 */ |