pub struct Database { /* private fields */ }Expand description
Database wrapper that provides access to storage and catalog.
Implementations§
Source§impl Database
impl Database
Sourcepub fn open_with_retention(
data_path: &Path,
retention_policy: RetentionPolicy,
) -> Result<Self, Error>
pub fn open_with_retention( data_path: &Path, retention_policy: RetentionPolicy, ) -> Result<Self, Error>
Open a database with a specific retention policy.
Sourcepub fn storage(&self) -> &StorageEngine
pub fn storage(&self) -> &StorageEngine
Get a reference to the storage engine.
Sourcepub fn storage_arc(&self) -> Arc<StorageEngine>
pub fn storage_arc(&self) -> Arc<StorageEngine>
Get an Arc reference to the storage engine.
Sourcepub fn statistics(&self) -> &TableStatistics
pub fn statistics(&self) -> &TableStatistics
Get a reference to the table statistics.
Sourcepub fn refresh_statistics_if_stale(
&self,
threshold: Duration,
) -> Result<bool, Error>
pub fn refresh_statistics_if_stale( &self, threshold: Duration, ) -> Result<bool, Error>
Refresh statistics if stale, returning true if a refresh ran.
Sourcepub fn plan_cache(&self) -> &PlanCache
pub fn plan_cache(&self) -> &PlanCache
Get a reference to the plan cache.
Sourcepub fn columnar(&self) -> &ColumnarStore
pub fn columnar(&self) -> &ColumnarStore
Get a reference to the columnar store.
Sourcepub fn executor(&self) -> QueryExecutor<'_>
pub fn executor(&self) -> QueryExecutor<'_>
Create a query executor for this database.
Sourcepub fn executor_with_metrics(
&self,
metrics: SharedMetricsRegistry,
) -> QueryExecutor<'_>
pub fn executor_with_metrics( &self, metrics: SharedMetricsRegistry, ) -> QueryExecutor<'_>
Create a query executor with metrics tracking.
Sourcepub fn schema_version(&self) -> u64
pub fn schema_version(&self) -> u64
Get the current schema version.
Sourcepub fn compact(&self) -> CompactionResult
pub fn compact(&self) -> CompactionResult
Run a single compaction cycle manually.
Sourcepub fn compaction_engine(&self) -> CompactionEngine
pub fn compaction_engine(&self) -> CompactionEngine
Create a compaction engine for this database.
Sourcepub fn retention_policy(&self) -> &RetentionPolicy
pub fn retention_policy(&self) -> &RetentionPolicy
Get the retention policy.
Auto Trait Implementations§
impl !Freeze for Database
impl !RefUnwindSafe for Database
impl Send for Database
impl Sync for Database
impl Unpin for Database
impl !UnwindSafe for Database
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.