#![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;
mod protobuf_conversions;
pub use self::{
dataframe::{
ColumnSelector, ComponentColumnSelector, Index, IndexRange, IndexValue, QueryExpression,
SparseFillStrategy, TimeColumnSelector, ViewContentsSelector,
},
events::{ChunkCompactionReport, ChunkStoreDiff, ChunkStoreDiffKind, ChunkStoreEvent},
gc::{GarbageCollectionOptions, GarbageCollectionTarget},
stats::{ChunkStoreChunkStats, ChunkStoreStats},
store::{ChunkStore, ChunkStoreConfig, ChunkStoreGeneration, ChunkStoreHandle, ColumnMetadata},
subscribers::{ChunkStoreSubscriber, ChunkStoreSubscriberHandle, PerStoreChunkSubscriber},
};
pub use re_sorbet::{ColumnDescriptor, ComponentColumnDescriptor, TimeColumnDescriptor};
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_types::{ResolvedTimeRange, TimeInt, TimeType, Timeline};
pub mod external {
pub use arrow;
pub use re_chunk;
}
#[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>;