1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
[]
= "chtypes"
= "0.1.0"
= "2024"
= "1.85"
= "Apache-2.0"
= "https://github.com/wave-rf/chtypes"
= "https://github.com/wave-rf/chtypes"
= "https://docs.rs/chtypes"
= ["clickhouse", "types", "schema", "validation", "ffi"]
= ["database", "api-bindings"]
= "ClickHouse's own type system, schema validation, DEFAULT/TTL semantics and coercion, per ClickHouse version, over the frozen chs_* C ABI"
[]
= "0.8"
= { = "1", = ["derive"] }
# serde_json reads `manifest.json` and writes the settings object that crosses the
# C boundary — both of which are this crate's own well-formed UTF-8.
#
# It deliberately does NOT read result documents. `raw_value` was the analogue of
# Go's json.RawMessage here, but serde_json cannot parse a document at all when a
# String column's bytes are not valid UTF-8 — which is how this crate came to
# retry through `String::from_utf8_lossy` and destroy the bytes `spec/c-abi.md`
# calls authoritative. `crate::doc` reads those documents over `&[u8]`, and
# `crate::json` compares leaf text exactly; `arbitrary_precision` is not enabled
# for the same reason it never was (see those modules' docs).
= "1"
= "2"
# --- the `fetch` feature: chtypes::ensure and the `chtypes` binary (docs/fetch.md).
# Every crate below is optional and behind `fetch`, so `--no-default-features`
# builds with exactly the dependency set above.
#
# ed25519-dalek verifies SHA256SUMS.sig (spec §4); verification only, so the
# precomputed tables and zeroize are off. sha2 is the digest the whole chain
# hashes with, pinned to the series dalek itself uses so there is one copy.
= { = "3", = true, = false }
= { = "0.11", = true, = false }
# ureq fetches over HTTPS (rustls + webpki roots, no OpenSSL). Its gzip feature
# is OFF on purpose: a transparently un-gzipped body would hash differently
# from the bytes SHA256SUMS records. base64 (for the signature file) is pinned
# to the series ureq uses so there is one copy.
= { = "3", = true, = false, = ["rustls"] }
= { = "0.23", = true }
# tar + flate2 unpack the artifact tarball; xattr support is not wanted.
= { = "0.4", = true, = false }
= { = "1", = true }
[]
= ["fetch"]
# `chtypes::ensure`, the registry's autofetch option and the `chtypes` binary.
= [
"dep:ed25519-dalek",
"dep:sha2",
"dep:ureq",
"dep:base64",
"dep:tar",
"dep:flate2",
]
[[]]
= "chtypes"
= "src/main.rs"
= ["fetch"]
# The fetch suite runs the binary and the fixtures; it does not exist without
# the feature.
[[]]
= "fetch"
= ["fetch"]
[]
# The integration tests read manifest.json themselves, to prove the loader took
# the library file name from it rather than constructing one.
= "1"
[[]]
= "demo"
= "examples/demo.rs"