Move fake LSN infrastructure out of GiST. Move utility functions used by GiST to generate fake LSNs into xlog.c and xloginsert.c, so that other index AMs can also generate fake LSNs.
Preparation for an upcoming commit that will add support for fake LSNs to nbtree, allowing its dropPin optimization to be used during scans of unlogged relations. That commit is itself preparation for another upcoming commit that will add a new amgetbatch/btgetbatch interface to enable I/O prefetching. Bump XLOG_PAGE_MAGIC due to XLOG_GIST_ASSIGN_LSN becoming XLOG_ASSIGN_LSN. Author: Peter Geoghegan <[email protected]> Reviewed-By: Andres Freund <[email protected]> Reviewed-By: Tomas Vondra <[email protected]> Discussion: https://postgr.es/m/cah2-wzkehuhxyua8quc7rrn3etnxpiksjpfo8mhb+0dr2k0...@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/d774072f0040f9acf148cc9740b79857fbde7042 Modified Files -------------- src/backend/access/gist/gist.c | 6 ++-- src/backend/access/gist/gistutil.c | 50 ------------------------------- src/backend/access/gist/gistvacuum.c | 8 ++--- src/backend/access/gist/gistxlog.c | 21 ------------- src/backend/access/rmgrdesc/gistdesc.c | 6 ---- src/backend/access/rmgrdesc/xlogdesc.c | 7 +++++ src/backend/access/transam/xlog.c | 28 ++++++++++++++++++ src/backend/access/transam/xloginsert.c | 52 +++++++++++++++++++++++++++++++++ src/backend/storage/buffer/bufmgr.c | 6 ++-- src/include/access/gist_private.h | 4 --- src/include/access/gistxlog.h | 2 +- src/include/access/xlog.h | 1 + src/include/access/xlog_internal.h | 2 +- src/include/access/xloginsert.h | 2 ++ src/include/catalog/pg_control.h | 2 +- 15 files changed, 103 insertions(+), 94 deletions(-)
