1 /*------------------------------------------------------------------------- 2 * 3 * storage.h 4 * prototypes for functions in backend/catalog/storage.c 5 * 6 * 7 * Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group 8 * Portions Copyright (c) 1994, Regents of the University of California 9 * 10 * src/include/catalog/storage.h 11 * 12 *------------------------------------------------------------------------- 13 */ 14 #ifndef STORAGE_H 15 #define STORAGE_H 16 17 #include "storage/block.h" 18 #include "storage/relfilenode.h" 19 #include "utils/relcache.h" 20 21 extern void RelationCreateStorage(RelFileNode rnode, char relpersistence); 22 extern void RelationDropStorage(Relation rel); 23 extern void RelationPreserveStorage(RelFileNode rnode, bool atCommit); 24 extern void RelationTruncate(Relation rel, BlockNumber nblocks); 25 26 /* 27 * These functions used to be in storage/smgr/smgr.c, which explains the 28 * naming 29 */ 30 extern void smgrDoPendingDeletes(bool isCommit); 31 extern int smgrGetPendingDeletes(bool forCommit, RelFileNode **ptr); 32 extern void AtSubCommit_smgr(void); 33 extern void AtSubAbort_smgr(void); 34 extern void PostPrepare_smgr(void); 35 36 #endif /* STORAGE_H */ 37