7
7
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
8
8
* Portions Copyright (c) 1994, Regents of the University of California
10
* $PostgreSQL: pgsql/src/include/storage/smgr.h,v 1.66 2009/01/12 05:10:45 tgl Exp $
10
* $PostgreSQL: pgsql/src/include/storage/smgr.h,v 1.68 2009/06/25 21:36:00 heikki Exp $
12
12
*-------------------------------------------------------------------------
67
67
extern void smgrclosenode(RelFileNode rnode);
68
68
extern void smgrcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo);
69
69
extern void smgrdounlink(SMgrRelation reln, ForkNumber forknum,
70
bool isTemp, bool isRedo);
71
extern void smgrextend(SMgrRelation reln, ForkNumber forknum,
72
BlockNumber blocknum, char *buffer, bool isTemp);
70
bool isTemp, bool isRedo);
71
extern void smgrextend(SMgrRelation reln, ForkNumber forknum,
72
BlockNumber blocknum, char *buffer, bool isTemp);
73
73
extern void smgrprefetch(SMgrRelation reln, ForkNumber forknum,
74
BlockNumber blocknum);
74
BlockNumber blocknum);
75
75
extern void smgrread(SMgrRelation reln, ForkNumber forknum,
76
BlockNumber blocknum, char *buffer);
76
BlockNumber blocknum, char *buffer);
77
77
extern void smgrwrite(SMgrRelation reln, ForkNumber forknum,
78
BlockNumber blocknum, char *buffer, bool isTemp);
78
BlockNumber blocknum, char *buffer, bool isTemp);
79
79
extern BlockNumber smgrnblocks(SMgrRelation reln, ForkNumber forknum);
80
80
extern void smgrtruncate(SMgrRelation reln, ForkNumber forknum,
81
BlockNumber nblocks, bool isTemp);
81
BlockNumber nblocks, bool isTemp);
82
82
extern void smgrimmedsync(SMgrRelation reln, ForkNumber forknum);
83
83
extern void smgrpreckpt(void);
84
84
extern void smgrsync(void);
94
94
extern bool mdexists(SMgrRelation reln, ForkNumber forknum);
95
95
extern void mdunlink(RelFileNode rnode, ForkNumber forknum, bool isRedo);
96
96
extern void mdextend(SMgrRelation reln, ForkNumber forknum,
97
BlockNumber blocknum, char *buffer, bool isTemp);
97
BlockNumber blocknum, char *buffer, bool isTemp);
98
98
extern void mdprefetch(SMgrRelation reln, ForkNumber forknum,
99
BlockNumber blocknum);
99
BlockNumber blocknum);
100
100
extern void mdread(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
102
102
extern void mdwrite(SMgrRelation reln, ForkNumber forknum,
103
BlockNumber blocknum, char *buffer, bool isTemp);
103
BlockNumber blocknum, char *buffer, bool isTemp);
104
104
extern BlockNumber mdnblocks(SMgrRelation reln, ForkNumber forknum);
105
105
extern void mdtruncate(SMgrRelation reln, ForkNumber forknum,
106
BlockNumber nblocks, bool isTemp);
106
BlockNumber nblocks, bool isTemp);
107
107
extern void mdimmedsync(SMgrRelation reln, ForkNumber forknum);
108
108
extern void mdpreckpt(void);
109
109
extern void mdsync(void);
110
110
extern void mdpostckpt(void);
112
extern void SetForwardFsyncRequests(void);
112
113
extern void RememberFsyncRequest(RelFileNode rnode, ForkNumber forknum,
114
115
extern void ForgetRelationFsyncRequests(RelFileNode rnode, ForkNumber forknum);
115
116
extern void ForgetDatabaseFsyncRequests(Oid dbid);