Add callback for I/O error messages in SLRUs Historically, all SLRUs were addressed by transaction IDs, but that hasn't been true for a long time. However, the error message on I/O error still always talked about accessing a transaction ID.
This commit adds a callback that allows subsystems to construct their own error messages, which can then correctly refer to a transaction ID, multixid or whatever else is used to address the particular SLRU. Author: Maxim Orlov <[email protected]> Reviewed-by: Álvaro Herrera <[email protected]> Discussion: https://www.postgresql.org/message-id/CACG=ezzzfurhyv+66ceubxqaywqv9vaui0yoo4-t48oe5xc...@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/f9de9bf302d2df41da06c6377ba1904883cd9d51 Modified Files -------------- src/backend/access/transam/clog.c | 17 +++-- src/backend/access/transam/commit_ts.c | 13 +++- src/backend/access/transam/multixact.c | 65 ++++++++++++++----- src/backend/access/transam/slru.c | 79 ++++++++++++----------- src/backend/access/transam/subtrans.c | 14 +++- src/backend/commands/async.c | 20 ++++-- src/backend/storage/lmgr/predicate.c | 14 +++- src/include/access/slru.h | 15 ++++- src/test/modules/test_slru/expected/test_slru.out | 4 ++ src/test/modules/test_slru/sql/test_slru.sql | 3 + src/test/modules/test_slru/test_slru--1.0.sql | 2 +- src/test/modules/test_slru/test_slru.c | 15 ++++- src/tools/pgindent/typedefs.list | 1 + 13 files changed, 187 insertions(+), 75 deletions(-)
