-
Notifications
You must be signed in to change notification settings - Fork 116
feat!(query): RowBinaryWithNamesAndTypes
#221
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
59 commits
Select commit
Hold shift + click to select a range
31d109a
Draft RowBinaryWNAT/Native header parser
slvrtrn 3a66d7a
Add RBWNAT header parser
slvrtrn cf72759
RBWNAT deserializer WIP
slvrtrn 5a60295
RBWNAT deserializer - more types WIP
slvrtrn b338d88
RBWNAT deserializer - validation WIP
slvrtrn 8ae3629
RBWNAT deserializer - validation WIP
slvrtrn acced9e
Merge branch 'main' into row-binary-header-check
slvrtrn c20af77
RBWNAT deserializer - validation, benches WIP
slvrtrn c4a608e
RBWNAT deserializer - improve performance
slvrtrn 0d416cf
RBWNAT deserializer - clearer error messages on panics
slvrtrn 65cb92f
Fix clippy and build
slvrtrn fbfbd99
Fix core::mem::size_of import
slvrtrn 1d5c01a
Slightly faster implementation
slvrtrn 227617e
Add Geo types, more tests
slvrtrn 986643f
Support root level tuples for fetch
slvrtrn b26006e
Add Variant support, improve validation, tests
slvrtrn 8567200
Fix compile issues, clippy, etc
slvrtrn a1181a0
Fix older Rust versions compile issues, docs
slvrtrn b77f45d
Merge remote-tracking branch 'origin' into row-binary-header-check
slvrtrn 04c7a20
Add NYC benchmark
slvrtrn 1f6c9e6
Add compression to the NYC benchmark
slvrtrn 9bafc9a
Add more tests
slvrtrn c53ba74
Support structs with different field order via MapAccess
slvrtrn 00ff574
Add more tests
slvrtrn bd71a77
Add more tests, `execute_statements` helper
slvrtrn 6ba6abf
More optimal struct name/fields acquisition, cleanup
slvrtrn fb49a24
Temporarily allow unreachable items
slvrtrn 52d0953
Add chrono feature to RBWNAT tests
slvrtrn 5ffae76
Allow root primitives, rework benchmarks, address (most of) PR feedback
slvrtrn a922d0d
Add LZ4 feature flag
slvrtrn 90132cb
Support proper validation for `(Row, P1, P2, ...)` fetching
slvrtrn 49af48c
Use Cargo workspaces, update benchmarks and docs
slvrtrn 926213b
Fix examples schema mismatch
slvrtrn da08827
Bring back `Vec<(K, V)>` for maps, more tests, fix clippy
slvrtrn 1b893a8
Fix mocked select benchmark
slvrtrn 14f8550
Fix mocked insert benchmark
slvrtrn 5509b12
Fix the rest of the examples, add a simple sanity check
slvrtrn 38d771d
Clippy fixes
slvrtrn 446eb7c
Don't use Result as validation always panics
slvrtrn fc9a49b
Merge remote-tracking branch 'origin' into row-binary-header-check
slvrtrn 19760f3
Bring back Unsupported error kind
slvrtrn 5f51dc7
Remove examples runner from the `it` directory
slvrtrn 8f3f3b2
Ignore an odd test
slvrtrn d189a78
Add CI workflow dispatch and all PR trigger
slvrtrn ccfac33
Further optimizations, remove validation_mode, remove schema from mocks
slvrtrn 1544b7b
Make validation slightly faster again
slvrtrn b7b45c5
Address PR feedback
slvrtrn bd99890
Merge remote-tracking branch 'origin' into row-binary-header-check
slvrtrn bcc1e46
Resolve merge conflicts
slvrtrn a879945
fix cargo fmt
slvrtrn b094dd0
Fix docs, tests
slvrtrn c449ee2
Update CHANGELOG.md, README.md
slvrtrn e1706f4
Update client usage with mocks
slvrtrn 3c08c77
chore: stop using nightly-only features of rustfmt
loyd 244d587
refactor(rowbinary/de): dedup code
loyd d5af0b8
Address PR feedback
slvrtrn ee8f37e
Merge remote-tracking branch 'origin' into row-binary-header-check
slvrtrn 6d0e771
Update CHANGELOG.md
slvrtrn 9f495e2
Add missing env variables to docker compose
slvrtrn File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,10 +9,21 @@ homepage = "https://clickhouse.com" | |
license = "MIT OR Apache-2.0" | ||
readme = "README.md" | ||
edition = "2021" | ||
# update `derive/Cargo.toml` and CI if changed | ||
# update `workspace.package.rust-version` below and CI if changed | ||
# TODO: after bumping to v1.80, remove `--precise` in the "msrv" CI job | ||
rust-version = "1.73.0" | ||
|
||
[workspace] | ||
members = ["derive", "types"] | ||
|
||
[workspace.package] | ||
authors = ["ClickHouse Contributors", "Paul Loyd <[email protected]>"] | ||
repository = "https://github.com/ClickHouse/clickhouse-rs" | ||
homepage = "https://clickhouse.com" | ||
edition = "2021" | ||
license = "MIT OR Apache-2.0" | ||
rust-version = "1.73.0" | ||
|
||
[lints.rust] | ||
rust_2018_idioms = { level = "warn", priority = -1 } | ||
unreachable_pub = "warn" | ||
|
@@ -26,16 +37,21 @@ undocumented_unsafe_blocks = "warn" | |
all-features = true | ||
rustdoc-args = ["--cfg", "docsrs"] | ||
|
||
[[bench]] | ||
name = "select_nyc_taxi_data" | ||
harness = false | ||
required-features = ["time"] | ||
|
||
[[bench]] | ||
name = "select_numbers" | ||
harness = false | ||
|
||
[[bench]] | ||
name = "insert" | ||
name = "mocked_insert" | ||
harness = false | ||
|
||
[[bench]] | ||
name = "select" | ||
name = "mocked_select" | ||
harness = false | ||
|
||
[[example]] | ||
|
@@ -97,6 +113,7 @@ rustls-tls-native-roots = [ | |
|
||
[dependencies] | ||
clickhouse-derive = { version = "0.2.0", path = "derive" } | ||
clickhouse-types = { version = "0.1.0", path = "types" } | ||
|
||
thiserror = "2.0" | ||
serde = "1.0.106" | ||
|
@@ -128,6 +145,7 @@ quanta = { version = "0.12", optional = true } | |
replace_with = { version = "0.1.7" } | ||
|
||
[dev-dependencies] | ||
clickhouse-derive = { version = "0.2.0", path = "derive" } | ||
criterion = "0.6" | ||
serde = { version = "1.0.106", features = ["derive"] } | ||
tokio = { version = "1.0.1", features = ["full", "test-util"] } | ||
|
@@ -136,6 +154,6 @@ serde_bytes = "0.11.4" | |
serde_json = "1" | ||
serde_repr = "0.1.7" | ||
uuid = { version = "1", features = ["v4", "serde"] } | ||
time = { version = "0.3.17", features = ["macros", "rand"] } | ||
time = { version = "0.3.17", features = ["macros", "rand", "parsing"] } | ||
fixnum = { version = "0.9.2", features = ["serde", "i32", "i64", "i128"] } | ||
rand = { version = "0.9", features = ["small_rng"] } |
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
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
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.