Repository navigation
Support ZSTD-compressed server responses - #43
Merged
Merged
Conversation
Decode server-selected ZSTD blocks with CodecZstd. Exercise all compression modes and read-only sessions against older and current ClickHouse servers in CI. Remove redundant typed-global syntax from UInt64 hash constants for Julia 1.6. Co-authored by Codex AI disclosure: This work was prepared with assistance from OpenAI Codex.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Connections with LZ4 or checksum-only transport fail when a ClickHouse server returns ZSTD blocks: reading method byte
0x90throws before the response can be decoded. Decode that method with CodecZstd, and supportClickHouse.COMPRESSION_ZSTDfor outgoing blocks. The server can keep choosing its reply format, including for users whose read-only sessions forbid changing settings.Add codec fixtures, full query coverage for checksum-only and ZSTD connections, and read-only queries in every mode. Add CI on Julia 1.6/current with ClickHouse 22.8/26.9. Remove five redundant type annotations on UInt64 hash constants so the package can load on Julia 1.6; the hexadecimal constants retain their existing types and values.
Validation: reproduced the original failure on stock ClickHouse 26.9.9.28 (uncompressed passes; LZ4 and checksum-only error). The complete suite passes locally on Julia 1.6.7 with ClickHouse 22.8.21.38 and 26.9.9.28, and on Julia 1.12.6 with 26.9.9.28. Each final run includes 112 live database checks across four modes, eight read-only checks, existing hash fixtures, and captured native-protocol packet tests.
Fixes #42.
Co-authored by Codex
AI disclosure: This work was prepared with assistance from OpenAI Codex.