Thread: [COMMITTERS] pgsql: Don't create "holes" in BufFiles, in the new logtape code.

[COMMITTERS] pgsql: Don't create "holes" in BufFiles, in the new logtape code.

From
Heikki Linnakangas
Date:
Don't create "holes" in BufFiles, in the new logtape code.

The "Simplify tape block format" commit ignored the rule that blocks
returned by ltsGetFreeBlock() must be written out in the same order, at
least in the first write pass. To fix, relax that requirement, by making
ltsWriteBlock() to detect if it's about to create a "hole" in the
underlying BufFile, and fill it with zeros instead.

Reported, analysed, and reviewed by Peter Geoghegan.

Discussion: https://www.postgresql.org/message-id/CAM3SWZRWdNtkhiG0GyiX_1mUAypiK3dV6-6542pYe2iEL-foTA@mail.gmail.com

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/7ac4a389a7dbddaa8b19deb228f0a988e79c5795

Modified Files
--------------
src/backend/utils/sort/logtape.c | 52 +++++++++++++++++++++++++++++++---------
1 file changed, 41 insertions(+), 11 deletions(-)