Skip to content

PAX: Support LZ4 compression for table columns#1344

Merged
gongxun0928 merged 4 commits intoapache:mainfrom
gfphoenix78:pax-lz4
Sep 4, 2025
Merged

PAX: Support LZ4 compression for table columns#1344
gongxun0928 merged 4 commits intoapache:mainfrom
gfphoenix78:pax-lz4

Conversation

@gfphoenix78
Copy link
Contributor

PAX only support zlib and zstd compression for column values. This commit add lz4 support for pax table columns.

Fixes #ISSUE_Number

What does this PR do?

Type of Change

  • Bug fix (non-breaking change)
  • New feature (non-breaking change)
  • Breaking change (fix or feature with breaking changes)
  • Documentation update

Breaking Changes

Test Plan

  • Unit tests added/updated
  • Integration tests added/updated
  • Passed make installcheck
  • Passed make -C src/test installcheck-cbdb-parallel

Impact

Performance:

User-facing changes:

Dependencies:

Checklist

Additional Context

CI Skip Instructions


PAX only support zlib and zstd compression for column values.
This commit add lz4 support for pax table columns.
@gongxun0928
Copy link
Contributor

Cloudberry enables lz4 by default. Can we add some lz4 related test cases to pax?

@gfphoenix78
Copy link
Contributor Author

Cloudberry enables lz4 by default. Can we add some lz4 related test cases to pax?

The tests is enabled in contrib/pax_storage/src/cpp/storage/columns/pax_column_test.cc.

@gongxun0928 gongxun0928 merged commit be6717c into apache:main Sep 4, 2025
27 checks passed
hw118118 pushed a commit to hw118118/cloudberrydb that referenced this pull request Jan 27, 2026
* PAX: Support LZ4 compression for table columns

PAX only support zlib and zstd compression for column values.
This commit add lz4 support for pax table columns.

* map compress level to acceleration for lz4

* strict acceleration to range [0, 3]

* add macro control
hw118118 pushed a commit to hw118118/cloudberrydb that referenced this pull request Jan 27, 2026
* PAX: Support LZ4 compression for table columns

PAX only support zlib and zstd compression for column values.
This commit add lz4 support for pax table columns.

* map compress level to acceleration for lz4

* strict acceleration to range [0, 3]

* add macro control
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants