You've already forked pg_probackup
mirror of
https://github.com/postgrespro/pg_probackup.git
synced 2025-07-13 06:50:16 +02:00
Fix bug with page compression
This commit is contained in:
@ -368,7 +368,7 @@ compress_and_backup_page(pgFile *file, BlockNumber blknum,
|
|||||||
BackupPageHeader header;
|
BackupPageHeader header;
|
||||||
size_t write_buffer_size = sizeof(header);
|
size_t write_buffer_size = sizeof(header);
|
||||||
char write_buffer[BLCKSZ+sizeof(header)];
|
char write_buffer[BLCKSZ+sizeof(header)];
|
||||||
char compressed_page[BLCKSZ];
|
char compressed_page[BLCKSZ*2]; /* compressed page may require more space than uncompressed */
|
||||||
|
|
||||||
if(page_state == SkipCurrentPage)
|
if(page_state == SkipCurrentPage)
|
||||||
return;
|
return;
|
||||||
@ -395,7 +395,7 @@ compress_and_backup_page(pgFile *file, BlockNumber blknum,
|
|||||||
Assert (header.compressed_size <= BLCKSZ);
|
Assert (header.compressed_size <= BLCKSZ);
|
||||||
|
|
||||||
/* The page was successfully compressed. */
|
/* The page was successfully compressed. */
|
||||||
if (header.compressed_size > 0)
|
if (header.compressed_size > 0 && header.compressed_size < BLCKSZ)
|
||||||
{
|
{
|
||||||
memcpy(write_buffer, &header, sizeof(header));
|
memcpy(write_buffer, &header, sizeof(header));
|
||||||
memcpy(write_buffer + sizeof(header),
|
memcpy(write_buffer + sizeof(header),
|
||||||
|
Reference in New Issue
Block a user