mirror of https://github.com/postgres/postgres
The new rmgrlist.h header, containing all necessary data about built-in resource managers, allows other pieces of code to access them. In particular, this allows a future pg_xlogdump program to extract rm_desc function pointers, without having to keep a duplicate list of them.pull/3/head
parent
cb9b66d31a
commit
5a1cd89f8f
@ -0,0 +1,44 @@ |
||||
/*---------------------------------------------------------------------------
|
||||
* rmgrlist.h |
||||
* |
||||
* The resource manager list is kept in its own source file for possible |
||||
* use by automatic tools. The exact representation of a rmgr is determined |
||||
* by the PG_RMGR macro, which is not defined in this file; it can be |
||||
* defined by the caller for special purposes. |
||||
* |
||||
* Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group |
||||
* Portions Copyright (c) 1994, Regents of the University of California |
||||
* |
||||
* src/include/access/rmgrlist.h |
||||
*--------------------------------------------------------------------------- |
||||
*/ |
||||
|
||||
/* there is deliberately not an #ifndef RMGRLIST_H here */ |
||||
|
||||
/*
|
||||
* List of resource manager entries. Note that order of entries defines the |
||||
* numerical values of each rmgr's ID, which is stored in WAL records. New |
||||
* entries should be added at the end, to avoid changing IDs of existing |
||||
* entries. |
||||
* |
||||
* Changes to this list possibly need a XLOG_PAGE_MAGIC bump. |
||||
*/ |
||||
|
||||
/* symbol name, textual name, redo, desc, startup, cleanup, restartpoint */ |
||||
PG_RMGR(RM_XLOG_ID, "XLOG", xlog_redo, xlog_desc, NULL, NULL, NULL) |
||||
PG_RMGR(RM_XACT_ID, "Transaction", xact_redo, xact_desc, NULL, NULL, NULL) |
||||
PG_RMGR(RM_SMGR_ID, "Storage", smgr_redo, smgr_desc, NULL, NULL, NULL) |
||||
PG_RMGR(RM_CLOG_ID, "CLOG", clog_redo, clog_desc, NULL, NULL, NULL) |
||||
PG_RMGR(RM_DBASE_ID, "Database", dbase_redo, dbase_desc, NULL, NULL, NULL) |
||||
PG_RMGR(RM_TBLSPC_ID, "Tablespace", tblspc_redo, tblspc_desc, NULL, NULL, NULL) |
||||
PG_RMGR(RM_MULTIXACT_ID, "MultiXact", multixact_redo, multixact_desc, NULL, NULL, NULL) |
||||
PG_RMGR(RM_RELMAP_ID, "RelMap", relmap_redo, relmap_desc, NULL, NULL, NULL) |
||||
PG_RMGR(RM_STANDBY_ID, "Standby", standby_redo, standby_desc, NULL, NULL, NULL) |
||||
PG_RMGR(RM_HEAP2_ID, "Heap2", heap2_redo, heap2_desc, NULL, NULL, NULL) |
||||
PG_RMGR(RM_HEAP_ID, "Heap", heap_redo, heap_desc, NULL, NULL, NULL) |
||||
PG_RMGR(RM_BTREE_ID, "Btree", btree_redo, btree_desc, btree_xlog_startup, btree_xlog_cleanup, btree_safe_restartpoint) |
||||
PG_RMGR(RM_HASH_ID, "Hash", hash_redo, hash_desc, NULL, NULL, NULL) |
||||
PG_RMGR(RM_GIN_ID, "Gin", gin_redo, gin_desc, gin_xlog_startup, gin_xlog_cleanup, gin_safe_restartpoint) |
||||
PG_RMGR(RM_GIST_ID, "Gist", gist_redo, gist_desc, gist_xlog_startup, gist_xlog_cleanup, NULL) |
||||
PG_RMGR(RM_SEQ_ID, "Sequence", seq_redo, seq_desc, NULL, NULL, NULL) |
||||
PG_RMGR(RM_SPGIST_ID, "SPGist", spg_redo, spg_desc, spg_xlog_startup, spg_xlog_cleanup, NULL) |
Loading…
Reference in new issue