smgr.h

来自「PostgreSQL7.4.6 for Linux」· C头文件 代码 · 共 97 行

H
97
字号
/*------------------------------------------------------------------------- * * smgr.h *	  storage manager switch public interface declarations. * * * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * $Id: smgr.h,v 1.37 2003/08/04 02:40:15 momjian Exp $ * *------------------------------------------------------------------------- */#ifndef SMGR_H#define SMGR_H#include "access/xlog.h"#include "storage/relfilenode.h"#include "storage/block.h"#include "utils/rel.h"#define SM_FAIL			0#define SM_SUCCESS		1#define DEFAULT_SMGR	0extern int	smgrinit(void);extern int	smgrcreate(int16 which, Relation reln);extern int	smgrunlink(int16 which, Relation reln);extern int smgrextend(int16 which, Relation reln, BlockNumber blocknum,		   char *buffer);extern int	smgropen(int16 which, Relation reln, bool failOK);extern int	smgrclose(int16 which, Relation reln);extern int smgrread(int16 which, Relation reln, BlockNumber blocknum,		 char *buffer);extern int smgrwrite(int16 which, Relation reln, BlockNumber blocknum,		  char *buffer);extern int smgrblindwrt(int16 which, RelFileNode rnode,			 BlockNumber blkno, char *buffer);extern BlockNumber smgrnblocks(int16 which, Relation reln);extern BlockNumber smgrtruncate(int16 which, Relation reln,			 BlockNumber nblocks);extern int	smgrDoPendingDeletes(bool isCommit);extern int	smgrcommit(void);extern int	smgrabort(void);extern int	smgrsync(void);extern void smgr_redo(XLogRecPtr lsn, XLogRecord *record);extern void smgr_undo(XLogRecPtr lsn, XLogRecord *record);extern void smgr_desc(char *buf, uint8 xl_info, char *rec);/* internals: move me elsewhere -- ay 7/94 *//* in md.c */extern int	mdinit(void);extern int	mdcreate(Relation reln);extern int	mdunlink(RelFileNode rnode);extern int	mdextend(Relation reln, BlockNumber blocknum, char *buffer);extern int	mdopen(Relation reln);extern int	mdclose(Relation reln);extern int	mdread(Relation reln, BlockNumber blocknum, char *buffer);extern int	mdwrite(Relation reln, BlockNumber blocknum, char *buffer);extern int	mdblindwrt(RelFileNode rnode, BlockNumber blkno, char *buffer);extern BlockNumber mdnblocks(Relation reln);extern BlockNumber mdtruncate(Relation reln, BlockNumber nblocks);extern int	mdcommit(void);extern int	mdabort(void);extern int	mdsync(void);/* mm.c */extern int	mminit(void);extern int	mmcreate(Relation reln);extern int	mmunlink(RelFileNode rnode);extern int	mmextend(Relation reln, BlockNumber blocknum, char *buffer);extern int	mmopen(Relation reln);extern int	mmclose(Relation reln);extern int	mmread(Relation reln, BlockNumber blocknum, char *buffer);extern int	mmwrite(Relation reln, BlockNumber blocknum, char *buffer);extern int	mmblindwrt(RelFileNode rnode, BlockNumber blkno, char *buffer);extern BlockNumber mmnblocks(Relation reln);extern BlockNumber mmtruncate(Relation reln, BlockNumber nblocks);extern int	mmcommit(void);extern int	mmabort(void);extern int	mmshutdown(void);extern int	MMShmemSize(void);/* smgrtype.c */extern Datum smgrout(PG_FUNCTION_ARGS);extern Datum smgrin(PG_FUNCTION_ARGS);extern Datum smgreq(PG_FUNCTION_ARGS);extern Datum smgrne(PG_FUNCTION_ARGS);#endif   /* SMGR_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?