postgresql/src/backend/access/common
Noah Misch e629a01f69 During heap rebuild, lock any TOAST index until end of transaction.
swap_relation_files() calls toast_get_valid_index() to find and lock
this index, just before swapping with the rebuilt TOAST index.  The
latter function releases the lock before returning.  Potential for
mischief is low; a concurrent session can issue ALTER INDEX ... SET
(fillfactor = ...), which is not alarming.  Nonetheless, changing
pg_class.relfilenode without a lock is unconventional.  Back-patch to
9.5 (all supported versions), because another fix needs this.

Discussion: https://postgr.es/m/20191226001521.GA1772687@rfd.leadboat.com
2020-03-21 09:38:26 -07:00
..
Makefile Refactor attribute mappings used in logical tuple conversion 2019-12-18 16:23:02 +09:00
attmap.c Force tuple conversion when the source has missing attributes. 2020-02-05 20:21:20 +00:00
bufmask.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
detoast.c tableam: New callback relation_fetch_toast_slice. 2020-01-07 14:36:38 -05:00
heaptuple.c Introduce macros for typalign and typstorage constants. 2020-03-04 10:34:25 -05:00
indextuple.c Introduce macros for typalign and typstorage constants. 2020-03-04 10:34:25 -05:00
printsimple.c Optimizations for integer to decimal output. 2020-02-01 21:57:14 +00:00
printtup.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
relation.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
reloptions.c Introduce a maintenance_io_concurrency setting. 2020-03-16 17:14:26 +13:00
scankey.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
session.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
toast_internals.c During heap rebuild, lock any TOAST index until end of transaction. 2020-03-21 09:38:26 -07:00
tupconvert.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
tupdesc.c Introduce macros for typalign and typstorage constants. 2020-03-04 10:34:25 -05:00