aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/jsonpath_exec.c
diff options
context:
space:
mode:
authorThomas Munro <tmunro@postgresql.org>2024-06-10 11:43:41 +1200
committerThomas Munro <tmunro@postgresql.org>2024-06-10 12:32:59 +1200
commite656657f2b93a96b83fd4038ec5120c5ec9845e5 (patch)
treec02bc08efdf53af99ea100f8b9aff244626f4227 /src/backend/utils/adt/jsonpath_exec.c
parent00ac25a3c365004821e819653c3307acd3294818 (diff)
downloadpostgresql-e656657f2b93a96b83fd4038ec5120c5ec9845e5.tar.gz
postgresql-e656657f2b93a96b83fd4038ec5120c5ec9845e5.zip
Fix RBM_ZERO_AND_LOCK.
Commit 210622c6 accidentally zeroed out pages even if they were found in the buffer pool. It should always lock the page, but it should only zero pages that were not already valid. Otherwise, concurrent readers that hold only a pin could see corrupted page contents changing under their feet. While here, rename ZeroAndLockBuffer() to match the RBM_ flag name. Also restore a some useful comments lost by 210622c6's refactoring, and add some new ones to clarify why we need to use the BM_IO_IN_PROGRESS infrastructure despite not doing I/O. Reported-by: Noah Misch <noah@leadboat.com> Reported-by: Alexander Lakhin <exclusion@gmail.com> Reviewed-by: Alvaro Herrera <alvherre@alvh.no-ip.org> (earlier version) Reviewed-by: Robert Haas <robertmhaas@gmail.com> (earlier version) Discussion: https://postgr.es/m/20240512171658.7e.nmisch@google.com Discussion: https://postgr.es/m/7ed10231-ce47-03d5-d3f9-4aea0dc7d5a4%40gmail.com
Diffstat (limited to 'src/backend/utils/adt/jsonpath_exec.c')
0 files changed, 0 insertions, 0 deletions