Skip to main content

clickhouse_dfe/
lib.rs

1// Project:   clickhouse-dfe
2// File:      src/lib.rs
3// Purpose:   Crate root -- feature-gated layers over the official client
4// Language:  Rust
5//
6// License:   Apache-2.0
7// Copyright: (c) 2026 HYPERI PTY LIMITED
8
9#![doc = include_str!("../README.md")]
10#![cfg_attr(docsrs, feature(doc_cfg))]
11// The crate docs are the README, whose prose names products, not code items;
12// modules re-enable the lint where the names really are Rust or wire types.
13#![allow(clippy::doc_markdown)]
14
15pub mod native;
16
17// Crate-internal, and the TCP connection actor is its only consumer, so
18// it compiles with that transport rather than unconditionally.
19#[cfg(feature = "tcp")]
20mod worker;
21
22pub mod error;
23
24#[cfg(feature = "tcp")]
25#[cfg_attr(docsrs, doc(cfg(feature = "tcp")))]
26pub mod tcp;
27
28#[cfg(feature = "tls")]
29#[cfg_attr(docsrs, doc(cfg(feature = "tls")))]
30pub mod tls;
31
32#[cfg(feature = "dynamic")]
33#[cfg_attr(docsrs, doc(cfg(feature = "dynamic")))]
34pub mod dynamic;
35
36#[cfg(feature = "unified")]
37#[cfg_attr(docsrs, doc(cfg(feature = "unified")))]
38pub mod unified;
39
40#[cfg(feature = "ext")]
41#[cfg_attr(docsrs, doc(cfg(feature = "ext")))]
42pub mod ext;
43
44pub use error::{Error, Result};
45
46#[cfg(feature = "tcp")]
47pub use tcp::TcpClient;
48
49#[cfg(feature = "unified")]
50pub use unified::{Columns, Transport, UnifiedClient};
51
52#[cfg(feature = "ext")]
53pub use ext::{ClientExt, ServerException};