1#![cfg_attr(docsrs, feature(doc_cfg))]
2#![allow(ambiguous_glob_reexports)]
3#![cfg_attr(
4 feature = "allow_unused",
5 allow(unused, dead_code, irrefutable_let_patterns)
6)] extern crate core;
9
10#[macro_use]
11pub mod utils;
12pub mod chunked_array;
13pub mod config;
14pub mod datatypes;
15pub mod error;
16pub mod fmt;
17pub mod frame;
18pub mod functions;
19pub mod hashing;
20mod named_from;
21pub mod prelude;
22pub mod query_result;
23#[cfg(feature = "random")]
24pub mod random;
25pub mod runtime;
26pub mod scalar;
27pub mod schema;
28#[cfg(feature = "serde")]
29pub mod serde;
30pub mod series;
31pub mod testing;
32#[cfg(test)]
33mod tests;
34
35use std::sync::{LazyLock, Mutex};
36
37pub use datatypes::SchemaExtPl;
38pub use hashing::IdBuildHasher;
39
40pub static PROCESS_ID: LazyLock<u128> = LazyLock::new(|| {
43 let mut bytes = [0u8; 16];
44 getrandom::fill(&mut bytes).unwrap();
45 u128::from_le_bytes(bytes)
46});
47
48pub static SINGLE_LOCK: LazyLock<Mutex<()>> = LazyLock::new(|| Mutex::new(()));
50
51pub(crate) const HEAD_DEFAULT_LENGTH: usize = 10;
53pub(crate) const TAIL_DEFAULT_LENGTH: usize = 10;
55pub const CHEAP_SERIES_HASH_LIMIT: usize = 1000;