diff options
| author | Robert Haas | 2016-06-17 21:37:30 +0000 |
|---|---|---|
| committer | Robert Haas | 2016-06-17 21:37:30 +0000 |
| commit | 71d05a2c7b82379bb1013a0e338906349c54ed85 (patch) | |
| tree | 53a862320e1b58955449b7238d6f725cf1d954b4 /src/include | |
| parent | 54f5c5150fa05d7ad15f8406debd5a2b394885b5 (diff) | |
pg_visibility: Add pg_truncate_visibility_map function.
This requires some core changes as well so that we can properly
WAL-log the truncation. Specifically, it changes the format of the
XLOG_SMGR_TRUNCATE WAL record, so bump XLOG_PAGE_MAGIC.
Patch by me, reviewed but not fully endorsed by Andres Freund.
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/access/xlog_internal.h | 2 | ||||
| -rw-r--r-- | src/include/catalog/storage_xlog.h | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/include/access/xlog_internal.h b/src/include/access/xlog_internal.h index af2944c1b35..2627519ba08 100644 --- a/src/include/access/xlog_internal.h +++ b/src/include/access/xlog_internal.h @@ -31,7 +31,7 @@ /* * Each page of XLOG file has a header like this: */ -#define XLOG_PAGE_MAGIC 0xD091 /* can be used as WAL version indicator */ +#define XLOG_PAGE_MAGIC 0xD092 /* can be used as WAL version indicator */ typedef struct XLogPageHeaderData { diff --git a/src/include/catalog/storage_xlog.h b/src/include/catalog/storage_xlog.h index 7207e8be727..500e663b5fb 100644 --- a/src/include/catalog/storage_xlog.h +++ b/src/include/catalog/storage_xlog.h @@ -36,10 +36,18 @@ typedef struct xl_smgr_create ForkNumber forkNum; } xl_smgr_create; +/* flags for xl_smgr_truncate */ +#define SMGR_TRUNCATE_HEAP 0x0001 +#define SMGR_TRUNCATE_VM 0x0002 +#define SMGR_TRUNCATE_FSM 0x0004 +#define SMGR_TRUNCATE_ALL \ + (SMGR_TRUNCATE_HEAP|SMGR_TRUNCATE_VM|SMGR_TRUNCATE_FSM) + typedef struct xl_smgr_truncate { BlockNumber blkno; RelFileNode rnode; + int flags; } xl_smgr_truncate; extern void log_smgrcreate(RelFileNode *rnode, ForkNumber forkNum); |
