Header And Logo

PostgreSQL
| The world's most advanced open source database.

storage.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * storage.h
00004  *    prototypes for functions in backend/catalog/storage.c
00005  *
00006  *
00007  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00008  * Portions Copyright (c) 1994, Regents of the University of California
00009  *
00010  * src/include/catalog/storage.h
00011  *
00012  *-------------------------------------------------------------------------
00013  */
00014 #ifndef STORAGE_H
00015 #define STORAGE_H
00016 
00017 #include "storage/block.h"
00018 #include "storage/relfilenode.h"
00019 #include "utils/relcache.h"
00020 
00021 extern void RelationCreateStorage(RelFileNode rnode, char relpersistence);
00022 extern void RelationDropStorage(Relation rel);
00023 extern void RelationPreserveStorage(RelFileNode rnode, bool atCommit);
00024 extern void RelationTruncate(Relation rel, BlockNumber nblocks);
00025 
00026 /*
00027  * These functions used to be in storage/smgr/smgr.c, which explains the
00028  * naming
00029  */
00030 extern void smgrDoPendingDeletes(bool isCommit);
00031 extern int  smgrGetPendingDeletes(bool forCommit, RelFileNode **ptr);
00032 extern void AtSubCommit_smgr(void);
00033 extern void AtSubAbort_smgr(void);
00034 extern void PostPrepare_smgr(void);
00035 
00036 #endif   /* STORAGE_H */