Vendor dependencies for the vortex crate v0.84.0 - #79
Merged
Conversation
Dependencies of the new `rust/workspace/vortex` crate in ClickHouse, which implements the C FFI for the Vortex file format (https://github.com/vortex-data/vortex) on top of the `vortex` crate. For ClickHouse/ClickHouse#87327
Adds the 0.84.0 crates and drops the 0.83.0 ones, together with the dependencies the bump moved: fastlanes 0.5.2 -> 0.6.1, fsst-rs 0.5.11 -> 0.6.0, onpair 0.1.1 -> 0.2.0, pastey 0.2.3 added, core_detect 1.0.0 dropped.
alexey-milovidov
added a commit
to ClickHouse/ClickHouse
that referenced
this pull request
Aug 21, 2026
0.84.0 carries vortex-data/vortex#9271, which stops split collection from building a `Layout` and a `LayoutReader` for every chunk of every column just to recover the chunk boundaries the parent already knows. That setup cost is what a short query on a wide file pays: on 0.83.0, `SELECT * ... LIMIT 1` over a 100-column file takes 0.31 s at 1 000 000 rows and 0.70 s at 4 000 000, against 0.15 s when a single column is selected, so it grows with chunks times columns rather than with the size of the result. Reported by @m7kss1, who measured 8.5 s for `SELECT * FROM hits LIMIT 1` on a file of 100 000 000 rows. The only API change that reaches this crate is that `ScanBuilder::with_projection` and `with_filter` now take a `BoundExpression`, so the projection and the pushed filter are bound to the file's type first. Binding type-checks the whole expression in one walk, which is where a column that is not in the file, or a comparison between two types that cannot be compared, is caught now. The vendored crates are in ClickHouse/rust_vendor#79. The lock file was updated with `cargo update -p vortex --precise 0.84.0` rather than regenerated, so nothing outside the `vortex` dependency tree moves: 37 `vortex-*` crates, `fastlanes` 0.5.2 -> 0.6.1, `fsst-rs` 0.5.11 -> 0.6.0, `onpair` 0.1.1 -> 0.2.0, `pastey` added, `core_detect` dropped.
alexey-milovidov
added a commit
to ClickHouse/ClickHouse
that referenced
this pull request
Aug 21, 2026
The previous commit recorded a submodule commit that does not exist. The vendored 0.84.0 crates are `ab24d71754f8b4efdbe9bfb0cea7ab219a36d847`, the tip of `vortex-0.84` in ClickHouse/rust_vendor#79.
alexey-milovidov
added a commit
to ClickHouse/ClickHouse
that referenced
this pull request
Aug 22, 2026
…merged ClickHouse/rust_vendor#79 is merged, so the vendored 0.84.0 crates are reachable from `main` and the submodule no longer has to point into a pull request branch. The tree of the merge commit is identical to the branch tip it replaces - `git diff ab24d7175 810b5603c` is empty - so nothing about the vendored crates changes; only the commit the submodule names does. Related: ClickHouse/rust_vendor#79
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.
Bumps the vendored
vortexcrates from 0.83.0 to 0.84.0 for ClickHouse/ClickHouse#112950.0.84.0 carries vortex-data/vortex#9271, which stops split collection from building a
Layoutand aLayoutReaderfor every chunk of every column. On a 100-column file that setup dominates short queries:SELECT * ... LIMIT 1takes 0.31 s at 1M rows and 0.70 s at 4M rows on 0.83.0, against 0.15 s for a single column.Generated with
rust/vendor.sh's vendoring steps, with a targetedcargo update -p vortex --precise 0.84.0instead of a fullgenerate-lockfile, so nothing outside thevortexdependency tree moves:vortex-*crates 0.83.0 -> 0.84.0fastlanes0.5.2 -> 0.6.1,fsst-rs0.5.11 -> 0.6.0,onpair0.1.1 -> 0.2.0pastey0.2.3 added,core_detect1.0.0 droppedThe two pre-existing unreferenced directories (
futures-util-0.3.34,wasm-bindgen-futures-0.4.76, vendored bychdig v26.8.1) are left alone.