12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /*-------------------------------------------------------------------------
- *
- * md.h
- * magnetic disk storage manager public interface declarations.
- *
- *
- * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
- * Portions Copyright (c) 1994, Regents of the University of California
- *
- * src/include/storage/md.h
- *
- *-------------------------------------------------------------------------
- */
- #ifndef MD_H
- #define MD_H
- #include "storage/block.h"
- #include "storage/relfilenode.h"
- #include "storage/smgr.h"
- #include "storage/sync.h"
- /* md storage manager functionality */
- extern void mdinit(void);
- extern void mdopen(SMgrRelation reln);
- extern void mdclose(SMgrRelation reln, ForkNumber forknum);
- extern void mdcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo);
- extern bool mdexists(SMgrRelation reln, ForkNumber forknum);
- extern void mdunlink(RelFileNodeBackend rnode, ForkNumber forknum, bool isRedo);
- extern void mdextend(SMgrRelation reln, ForkNumber forknum,
- BlockNumber blocknum, char *buffer, bool skipFsync);
- extern bool mdprefetch(SMgrRelation reln, ForkNumber forknum,
- BlockNumber blocknum);
- extern void mdread(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
- char *buffer);
- extern void mdwrite(SMgrRelation reln, ForkNumber forknum,
- BlockNumber blocknum, char *buffer, bool skipFsync);
- extern void mdwriteback(SMgrRelation reln, ForkNumber forknum,
- BlockNumber blocknum, BlockNumber nblocks);
- extern BlockNumber mdnblocks(SMgrRelation reln, ForkNumber forknum);
- extern void mdtruncate(SMgrRelation reln, ForkNumber forknum,
- BlockNumber nblocks);
- extern void mdimmedsync(SMgrRelation reln, ForkNumber forknum);
- extern void ForgetDatabaseSyncRequests(Oid dbid);
- extern void DropRelationFiles(RelFileNode *delrels, int ndelrels, bool isRedo);
- /* md sync callbacks */
- extern int mdsyncfiletag(const FileTag *ftag, char *path);
- extern int mdunlinkfiletag(const FileTag *ftag, char *path);
- extern bool mdfiletagmatches(const FileTag *ftag, const FileTag *candidate);
- #endif /* MD_H */
|