> On Aug 13, 2026, at 05:56, Zsolt Parragi <[email protected]> wrote:
> 
> I have two minor comment for v5, otherwise it looks good to me:

Hi Zsolt,

Thanks a lot for reviewing.

> 
> +typedef enum
> +{
> + STREAM_NEW,
> + STREAM_HAS_DATA,
> + STREAM_FINISHED,
> +} pg_stream_state;
> +
> 
> This is duplicated in two files, wouldn't be astreamer.h a better place for 
> it?

I think this makes sense. Plus your second comment, this enum can be shared by 
all 3 astreamers. I moved it to astreamer.h and renamed it to 
astreamer_decompression_state.

> 
> + if (!mystreamer->stream_finished)
> + pg_fatal("could not decompress data: compressed stream is incomplete");
> +
> 
> The other two checks distinguish empty from incomplete, is this
> difference intended?

I do not think that is intentional. My initial implementation did not check for 
an empty stream, and gzip uses a different pattern from zstd and LZ4, which is 
probably why Daniel initially added the empty-stream check only to zstd and lz4.

I have now added the same check to gzip so that all three astreamers are 
consistent.

PFA v6: addressed Zsolt’s comments.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/




Attachment: v6-0001-Fix-detection-of-truncated-compressed-backups.patch
Description: Binary data

Reply via email to