clickhouse_srv/protocols/
mod.rs

1mod protocol_exception;
2mod protocol_hello;
3mod protocol_query;
4mod protocol_type;
5
6pub use protocol_exception::*;
7pub use protocol_hello::*;
8pub use protocol_query::*;
9pub use protocol_type::*;
10
11use crate::types::Block;
12
13#[derive(Debug)]
14pub enum Packet {
15    Ping,
16    Cancel,
17    Hello(HelloRequest),
18    Query(QueryRequest),
19    Data(Block)
20}
21
22#[derive(Debug)]
23pub enum Stage {
24    Default = 0,
25    InsertPrepare,
26    InsertStarted,
27    EOS
28}
29impl Default for Stage {
30    fn default() -> Self {
31        Stage::Default
32    }
33}
34
35pub const DBMS_MIN_REVISION_WITH_CLIENT_INFO: u64 = 54032;
36pub const DBMS_MIN_REVISION_WITH_SERVER_TIMEZONE: u64 = 54058;
37pub const DBMS_MIN_REVISION_WITH_QUOTA_KEY_IN_CLIENT_INFO: u64 = 54060;
38pub const DBMS_MIN_REVISION_WITH_TABLES_STATUS: u64 = 54226;
39pub const DBMS_MIN_REVISION_WITH_TIME_ZONE_PARAMETER_IN_DATETIME_DATA_TYPE: u64 = 54337;
40pub const DBMS_MIN_REVISION_WITH_SERVER_DISPLAY_NAME: u64 = 54372;
41pub const DBMS_MIN_REVISION_WITH_VERSION_PATCH: u64 = 54401;
42pub const DBMS_MIN_REVISION_WITH_SERVER_LOGS: u64 = 54406;
43pub const DBMS_MIN_REVISION_WITH_CLIENT_SUPPORT_EMBEDDED_DATA: u64 = 54415;
44// Minimum revision with exactly the same set of aggregation methods and rules to select them.
45// Two-level (bucketed) aggregation is incompatible if servers are inconsistent in these rules
46// (keys will be placed in different buckets and result will not be fully aggregated).
47pub const DBMS_MIN_REVISION_WITH_CURRENT_AGGREGATION_VARIANT_SELECTION_METHOD: u64 = 54431;
48pub const DBMS_MIN_REVISION_WITH_COLUMN_DEFAULTS_METADATA: u64 = 54410;
49
50pub const DBMS_MIN_REVISION_WITH_LOW_CARDINALITY_TYPE: u64 = 54405;
51pub const DBMS_MIN_REVISION_WITH_CLIENT_WRITE_INFO: u64 = 54420;
52
53// Minimum revision supporting SettingsBinaryFormat::STRINGS.
54pub const DBMS_MIN_REVISION_WITH_SETTINGS_SERIALIZED_AS_STRINGS: u64 = 54429;
55
56// Minimum revision supporting OpenTelemetry
57pub const DBMS_MIN_REVISION_WITH_OPENTELEMETRY: u64 = 54442;
58
59// Minimum revision supporting interserver secret.
60pub const DBMS_MIN_REVISION_WITH_INTERSERVER_SECRET: u64 = 54441;
61
62pub const DBMS_MIN_REVISION_WITH_X_FORWARDED_FOR_IN_CLIENT_INFO: u64 = 54443;
63pub const DBMS_MIN_REVISION_WITH_REFERER_IN_CLIENT_INFO: u64 = 54447;