postgresql/src/backend/utils/sort
Thomas Munro d9f5345bf9 Fix rare sharedtuplestore.c corruption.
If the final chunk of an oversized tuple being written out to disk was
exactly 32760 bytes, it would be corrupted due to a fencepost bug.

Bug #17619.  Back-patch to 11 where the code arrived.

While testing that (see test module in archives), I (tmunro) noticed
that the per-participant page counter was not initialized to zero as it
should have been; that wasn't a live bug when it was written since DSM
memory was originally always zeroed, but since 14
min_dynamic_shared_memory might be configured and it supplies non-zeroed
memory, so that is also fixed here.

Author: Dmitry Astapov <dastapov@gmail.com>
Discussion: https://postgr.es/m/17619-0de62ceda812b8b5%40postgresql.org
2023-01-26 14:53:37 +13:00
..
logtape.c Fix and clarify function comment on LogicalTapeSetCreate. 2023-01-23 11:57:18 +02:00
Makefile Invent qsort_interruptible(). 2022-07-12 16:30:36 -04:00
qsort_interruptible.c Invent qsort_interruptible(). 2022-07-12 16:30:36 -04:00
sharedtuplestore.c Fix rare sharedtuplestore.c corruption. 2023-01-26 14:53:37 +13:00
sortsupport.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
tuplesort.c Overload index_form_tuple to allow the memory context to be supplied 2022-07-07 08:14:32 +12:00
tuplestore.c Update copyright for 2022 2022-01-07 19:04:57 -05:00