#![doc = document_features::document_features!()]
mod dataframe;
mod drop_time_range;
mod events;
mod gc;
mod query;
mod stats;
mod store;
mod subscribers;
mod writes;
pub use self::dataframe::{
ColumnDescriptor, ColumnSelector, ComponentColumnDescriptor, ComponentColumnSelector, Index,
IndexRange, IndexValue, QueryExpression, SparseFillStrategy, TimeColumnDescriptor,
TimeColumnSelector, ViewContentsSelector,
};
pub use self::events::{ChunkStoreDiff, ChunkStoreDiffKind, ChunkStoreEvent};
pub use self::gc::{GarbageCollectionOptions, GarbageCollectionTarget};
pub use self::stats::{ChunkStoreChunkStats, ChunkStoreStats};
pub use self::store::{
ChunkStore, ChunkStoreConfig, ChunkStoreGeneration, ChunkStoreHandle, ColumnMetadata,
};
pub use self::subscribers::{ChunkStoreSubscriber, ChunkStoreSubscriberHandle};
pub(crate) use self::store::ColumnMetadataState;
#[doc(no_inline)]
pub use re_chunk::{
Chunk, ChunkId, ChunkShared, LatestAtQuery, RangeQuery, RangeQueryOptions, RowId,
UnitChunkShared,
};
#[doc(no_inline)]
pub use re_log_encoding::decoder::VersionPolicy;
#[doc(no_inline)]
pub use re_log_types::{ResolvedTimeRange, TimeInt, TimeType, Timeline};
pub mod external {
pub use arrow2;
pub use re_chunk;
pub use re_log_encoding;
}
#[derive(thiserror::Error, Debug)]
pub enum ChunkStoreError {
#[error("Chunks must be sorted before insertion in the chunk store")]
UnsortedChunk,
#[error(transparent)]
Chunk(#[from] re_chunk::ChunkError),
#[error("Failed to parse config: '{name}={value}': {err}")]
ParseConfig {
name: &'static str,
value: String,
err: Box<dyn std::error::Error + Send + Sync>,
},
}
pub type ChunkStoreResult<T> = ::std::result::Result<T, ChunkStoreError>;