Pass down table relation into more index relation functions
This is done in preparation for logical decoding on standby, which needs to
include whether visibility affecting WAL records are about a (user) catalog
table. Which is only known for the table, not the indexes.
It's also nice to be able to pass the heap relation to GlobalVisTestFor() in
vacuumRedirectAndPlaceholder().
Author: "Drouvot, Bertrand" <bertranddrouvot.pg@gmail.com>
Discussion: https://postgr.es/m/21b700c3-eecf-2e05-a699-f8c78dd31ec7@gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/61b313e47eb987682441c675724c22bf4363c9c4
Modified Files
--------------
contrib/amcheck/verify_nbtree.c | 15 ++--
src/backend/access/gist/gist.c | 5 +-
src/backend/access/gist/gistbuild.c | 2 +-
src/backend/access/gist/gistutil.c | 4 +-
src/backend/access/gist/gistxlog.c | 5 +-
src/backend/access/heap/heapam.c | 2 +-
src/backend/access/heap/heapam_handler.c | 9 ++-
src/backend/access/heap/vacuumlazy.c | 2 +
src/backend/access/heap/visibilitymap.c | 3 +-
src/backend/access/nbtree/nbtinsert.c | 91 ++++++++++++------------
src/backend/access/nbtree/nbtpage.c | 109 +++++++++++++++--------------
src/backend/access/nbtree/nbtree.c | 4 +-
src/backend/access/nbtree/nbtsearch.c | 50 +++++++------
src/backend/access/nbtree/nbtsort.c | 2 +-
src/backend/access/nbtree/nbtutils.c | 7 +-
src/backend/access/spgist/spgvacuum.c | 8 +--
src/backend/catalog/index.c | 1 +
src/backend/commands/analyze.c | 1 +
src/backend/commands/vacuumparallel.c | 6 ++
src/backend/optimizer/util/plancat.c | 2 +-
src/backend/utils/sort/tuplesortvariants.c | 5 +-
src/include/access/genam.h | 1 +
src/include/access/gist_private.h | 7 +-
src/include/access/heapam_xlog.h | 2 +-
src/include/access/nbtree.h | 37 +++++-----
src/include/utils/tuplesort.h | 4 +-
26 files changed, 214 insertions(+), 170 deletions(-)