#![cfg_attr(docsrs, feature(doc_cfg))]
#![allow(ambiguous_glob_reexports)]
#![cfg_attr(
feature = "allow_unused",
allow(unused, dead_code, irrefutable_let_patterns)
)] extern crate core;
#[macro_use]
pub mod utils;
pub mod chunked_array;
pub mod config;
pub mod datatypes;
pub mod error;
pub mod fmt;
pub mod frame;
pub mod functions;
pub mod hashing;
mod named_from;
pub mod prelude;
pub mod query_result;
#[cfg(feature = "random")]
pub mod random;
pub mod runtime;
pub mod scalar;
pub mod schema;
#[cfg(feature = "serde")]
pub mod serde;
pub mod series;
pub mod testing;
#[cfg(test)]
mod tests;
use std::sync::{LazyLock, Mutex};
pub use datatypes::SchemaExtPl;
pub use hashing::IdBuildHasher;
pub static PROCESS_ID: LazyLock<u128> = LazyLock::new(|| {
let mut bytes = [0u8; 16];
getrandom::fill(&mut bytes).unwrap();
u128::from_le_bytes(bytes)
});
pub static SINGLE_LOCK: LazyLock<Mutex<()>> = LazyLock::new(|| Mutex::new(()));
pub(crate) const HEAD_DEFAULT_LENGTH: usize = 10;
pub(crate) const TAIL_DEFAULT_LENGTH: usize = 10;
pub const CHEAP_SERIES_HASH_LIMIT: usize = 1000;