From 6ebacf5bf53359642f26237ad18dbba4ef8e6657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A6=99=E8=95=89=E5=82=A8=E8=93=84=E6=89=80?= <727854256@qq.com> Date: Sat, 29 Mar 2025 17:03:24 +0800 Subject: [PATCH] =?UTF-8?q?[chg][normal]1.=E9=A1=B5=E5=8E=8B=E7=BC=A9?= =?UTF-8?q?=EF=BC=8C=E8=A1=A5=E5=85=A8zlib=E5=BC=80=E5=85=B3=E5=AE=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/storage/page/page_compression.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/backend/storage/page/page_compression.c b/src/backend/storage/page/page_compression.c index 672706f..89c07a0 100644 --- a/src/backend/storage/page/page_compression.c +++ b/src/backend/storage/page/page_compression.c @@ -6,7 +6,11 @@ #include "utils/rel.h" #include "utils/wait_event.h" #include "common/pg_lzcompress.h" + +#ifdef HAVE_LIBZ #include +#endif + #ifdef USE_ZSTD #include #endif @@ -80,7 +84,11 @@ int CompressPageBufferBound(const char* page, uint8 algorithm) case COMPRESS_ALGORITHM_PGZSTD: return BLCKSZ + 4; case COMPRESS_ALGORITHM_ZLIB: +#ifdef HAVE_LIBZ return compressBound(BLCKSZ - CompressReservedLen(page)); +#else + return -1; +#endif default: return -1; } @@ -260,6 +268,7 @@ int KPHCCompressPage(const char* src, char* dst, int dst_size, const KPHCRelFile #endif } case COMPRESS_ALGORITHM_ZLIB: { +#ifdef HAVE_LIBZ int level = option.compressLevel; if (level == 0 || level < MIN_ZLIB_COMPRESSION_LEVEL || level > MAX_ZLIB_COMPRESSION_LEVEL) { level = DEFAULT_ZLIB_COMPRESSION_LEVEL; @@ -271,6 +280,9 @@ int KPHCCompressPage(const char* src, char* dst, int dst_size, const KPHCRelFile } compressed_size = dst_size; break; +#else + return -1; +#endif } default: return KPHC_COMPRESS_UNSUPPORTED_ERROR; @@ -363,6 +375,7 @@ int KPHCDecompressPage(const char* src, char* dst) #endif break; case KPHC_COMPRESS_ALGORITHM_ZLIB: +#ifdef HAVE_LIBZ desLength = BLCKSZ - headerSize; ret = uncompress((Bytef *)(dst + headerSize), (uLongf *)&desLength, data, ((KPHCPageCompressData*)src)->size); if (ret != Z_OK) { @@ -370,6 +383,9 @@ int KPHCDecompressPage(const char* src, char* dst) } decompressed_size = desLength; break; +#else + return -1; +#endif default: return KPHC_COMPRESS_UNSUPPORTED_ERROR; break; -- Gitee