28#define NO_COMPRESSION_SUPPORT(method) \
30 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), \
31 errmsg("compression method %s not supported", method), \
32 errdetail("This functionality requires the server to be built with %s support.", method)))
52 if (valsize < PGLZ_strategy_default->min_input_size ||
156 max_size = LZ4_compressBound(valsize);
225 if (LZ4_versionNumber() < 10803)
287 if (strcmp(compression,
"pglz") == 0)
289 else if (strcmp(compression,
"lz4") == 0)
313 elog(
ERROR,
"invalid compression method %c", method);
#define VARATT_EXTERNAL_GET_POINTER(toast_pointer, attr)
int errmsg_internal(const char *fmt,...)
int errcode(int sqlerrcode)
#define ereport(elevel,...)
void pfree(void *pointer)
#define ERRCODE_DATA_CORRUPTED
const PGLZ_Strategy *const PGLZ_strategy_default
int32 pglz_decompress(const char *source, int32 slen, char *dest, int32 rawsize, bool check_complete)
int32 pglz_compress(const char *source, int32 slen, char *dest, const PGLZ_Strategy *strategy)
#define PGLZ_MAX_OUTPUT(_dlen)
#define NO_COMPRESSION_SUPPORT(method)
const char * GetCompressionMethodName(char method)
struct varlena * pglz_decompress_datum(const struct varlena *value)
struct varlena * lz4_compress_datum(const struct varlena *value)
struct varlena * pglz_decompress_datum_slice(const struct varlena *value, int32 slicelength)
struct varlena * pglz_compress_datum(const struct varlena *value)
struct varlena * lz4_decompress_datum(const struct varlena *value)
int default_toast_compression
struct varlena * lz4_decompress_datum_slice(const struct varlena *value, int32 slicelength)
char CompressionNameToMethod(const char *compression)
ToastCompressionId toast_get_compression_id(struct varlena *attr)
@ TOAST_INVALID_COMPRESSION_ID
#define TOAST_PGLZ_COMPRESSION
#define InvalidCompressionMethod
#define TOAST_LZ4_COMPRESSION
static Size VARDATA_COMPRESSED_GET_EXTSIZE(const void *PTR)
static void SET_VARSIZE_COMPRESSED(void *PTR, Size len)
static bool VARATT_IS_EXTERNAL_ONDISK(const void *PTR)
static uint32 VARDATA_COMPRESSED_GET_COMPRESS_METHOD(const void *PTR)
static Size VARSIZE_ANY_EXHDR(const void *PTR)
static Size VARSIZE(const void *PTR)
static char * VARDATA(const void *PTR)
static char * VARDATA_ANY(const void *PTR)
static bool VARATT_IS_COMPRESSED(const void *PTR)
#define VARHDRSZ_COMPRESSED
static uint32 VARATT_EXTERNAL_GET_COMPRESS_METHOD(struct varatt_external toast_pointer)
static bool VARATT_EXTERNAL_IS_COMPRESSED(struct varatt_external toast_pointer)
static void SET_VARSIZE(void *PTR, Size len)