Commit a243c553 authored by Stephen Frost's avatar Stephen Frost

Cleanup comments in xlog compression

Skipping over the "hole" in full page images in the XLOG code was
described as being a form of compression, but this got a bit confusing
since we now have PGLZ-based compression happening, so adjust the
wording to discuss "removing" the "hole" and keeping the talk about
compression to where we're talking about using PGLZ-based compression of
the full page images.

Reviewed-By: Kyotaro Horiguchi
Discussion: https://postgr.es/m/20181127234341.GM3415@tamriel.snowman.net
parent 228b0485
...@@ -605,7 +605,7 @@ XLogRecordAssemble(RmgrId rmid, uint8 info, ...@@ -605,7 +605,7 @@ XLogRecordAssemble(RmgrId rmid, uint8 info,
} }
else else
{ {
/* No "hole" to compress out */ /* No "hole" to remove */
bimg.hole_offset = 0; bimg.hole_offset = 0;
cbimg.hole_length = 0; cbimg.hole_length = 0;
} }
......
...@@ -107,15 +107,14 @@ typedef struct XLogRecordBlockHeader ...@@ -107,15 +107,14 @@ typedef struct XLogRecordBlockHeader
* Additional header information when a full-page image is included * Additional header information when a full-page image is included
* (i.e. when BKPBLOCK_HAS_IMAGE is set). * (i.e. when BKPBLOCK_HAS_IMAGE is set).
* *
* As a trivial form of data compression, the XLOG code is aware that * The XLOG code is aware that PG data pages usually contain an unused "hole"
* PG data pages usually contain an unused "hole" in the middle, which * in the middle, which contains only zero bytes. Since we know that the
* contains only zero bytes. If the length of "hole" > 0 then we have removed * "hole" is all zeros, we remove it from the stored data (and it's not counted
* such a "hole" from the stored data (and it's not counted in the * in the XLOG record's CRC, either). Hence, the amount of block data actually
* XLOG record's CRC, either). Hence, the amount of block data actually * present is (BLCKSZ - <length of "hole" bytes>).
* present is BLCKSZ - the length of "hole" bytes.
* *
* When wal_compression is enabled, a full page image which "hole" was * Additionally, when wal_compression is enabled, we will try to compress full
* removed is additionally compressed using PGLZ compression algorithm. * page images using the PGLZ compression algorithm, after removing the "hole".
* This can reduce the WAL volume, but at some extra cost of CPU spent * This can reduce the WAL volume, but at some extra cost of CPU spent
* on the compression during WAL logging. In this case, since the "hole" * on the compression during WAL logging. In this case, since the "hole"
* length cannot be calculated by subtracting the number of page image bytes * length cannot be calculated by subtracting the number of page image bytes
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment