Header And Logo

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

visibilitymap.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * visibilitymap.h
00004  *      visibility map interface
00005  *
00006  *
00007  * Portions Copyright (c) 2007-2013, PostgreSQL Global Development Group
00008  * Portions Copyright (c) 1994, Regents of the University of California
00009  *
00010  * src/include/access/visibilitymap.h
00011  *
00012  *-------------------------------------------------------------------------
00013  */
00014 #ifndef VISIBILITYMAP_H
00015 #define VISIBILITYMAP_H
00016 
00017 #include "access/xlogdefs.h"
00018 #include "storage/block.h"
00019 #include "storage/buf.h"
00020 #include "utils/relcache.h"
00021 
00022 extern void visibilitymap_clear(Relation rel, BlockNumber heapBlk,
00023                     Buffer vmbuf);
00024 extern void visibilitymap_pin(Relation rel, BlockNumber heapBlk,
00025                   Buffer *vmbuf);
00026 extern bool visibilitymap_pin_ok(BlockNumber heapBlk, Buffer vmbuf);
00027 extern void visibilitymap_set(Relation rel, BlockNumber heapBlk, Buffer heapBuf,
00028                   XLogRecPtr recptr, Buffer vmBuf, TransactionId cutoff_xid);
00029 extern bool visibilitymap_test(Relation rel, BlockNumber heapBlk, Buffer *vmbuf);
00030 extern BlockNumber visibilitymap_count(Relation rel);
00031 extern void visibilitymap_truncate(Relation rel, BlockNumber nheapblocks);
00032 
00033 #endif   /* VISIBILITYMAP_H */