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
/// Clickhouse major version
pub const VERSION_MAJOR: u64 = 22;
/// Clickhouse minor version
pub const VERSION_MINOR: u64 = 9;
/// Error generator functions used by `klickhouse_derive`
pub use *;
pub use *;
pub use *;
pub use bb8;
pub use ConnectionManager;
pub use Uuid;
pub use IndexMap;
/// Derive macro for the [Row] trait.
///
/// This is similar in usage and implementation to the [serde::Serialize] and [serde::Deserialize] derive macros.
///
/// ## serde attributes
/// The following [serde attributes](https://serde.rs/attributes.html) are supported, using `#[klickhouse(...)]` instead of `#[serde(...)]`:
/// - `with`
/// - `from` and `into`
/// - `try_from`
/// - `skip`
/// - `default`
/// - `deny_unknown_fields`
/// - `rename`
/// - `rename_all`
/// - `serialize_with`, `deserialize_with`
/// - `skip_deserializing`, `skip_serializing`
/// - `flatten`
/// - Index-based matching is disabled (the column names must match exactly).
/// - Due to the current interface of the [Row] trait, performance might not be optimal, as a value map must be reconstitued for each flattened subfield.
///
/// ## Clickhouse-specific attributes
/// - The `nested` attribute allows handling [Clickhouse nested data structures](https://clickhouse.com/docs/en/sql-reference/data-types/nested-data-structures/nested). See an example in the `tests` folder.
///
/// ## Known issues
/// - For serialization, the ordering of fields in the struct declaration must match the order in the `INSERT` statement, respectively in the table declaration. See issue [#34](https://github.com/Protryon/klickhouse/issues/34).
pub use Row;
pub use *;
pub use *;
pub use *;
pub use ;
pub use *;
pub use ClickhouseLock;