Skip to main content

Crate timeseries_table_format

Crate timeseries_table_format 

Source
Expand description

§timeseries-table-format

Append-only time-series table format with gap/overlap tracking.

This crate is the canonical library for the table engine and optional integrations.

§Features

  • datafusion (default): Enables DataFusion integration for SQL queries

§Quick start

Open an existing table (async; returns a Future):

use timeseries_table_format::{TableLocation, TimeSeriesTable};

let location = TableLocation::local("./my_table");
let _open = TimeSeriesTable::open(location);

Or import the stable, supported surface via the prelude:

use timeseries_table_format::prelude::*;

§Observability

The crate emits backend-neutral structured diagnostics through tracing but never installs a subscriber. Embedding applications own filtering, formatting, and export. When no tracing subscriber is active, event-style diagnostics are forwarded to the standard log facade for applications that install a logger.

The initial operation names include table.open, table.create, table.refresh, table.append, table.optimize, table.vacuum, table.scan.plan, transaction.commit, and coverage.recover. Diagnostics exclude SQL, entity identities, record values, complete schemas, credentials, and environment variables. table.scan.plan covers physical plan construction only; DataFusion remains the source of query execution metrics.

Re-exports§

pub use metadata::index::IndexKind;
pub use metadata::index::IndexSpec;
pub use metadata::index::IndexSpecError;
pub use metadata::index::IndexValue;
pub use metadata::index::IndexValueError;
pub use metadata::index::ParseTimeIndexGranularityError;
pub use metadata::index::TimeIndexGranularity;
pub use metadata::index::validate_index_range;
pub use metadata::logical_schema::LogicalDataType;
pub use metadata::logical_schema::LogicalField;
pub use metadata::logical_schema::LogicalSchema;
pub use metadata::protocol::TableProtocolError;
pub use metadata::table::TableMeta;
pub use storage::TableLocation;
pub use table::AppendError;
pub use table::CoverageQueryError;
pub use table::CreateTableError;
pub use table::OpenTableError;
pub use table::OptimizeError;
pub use table::OptimizeReport;
pub use table::ScanError;
pub use table::TableError;
pub use table::TableStateAccessError;
pub use table::TimeSeriesTable;
pub use table::VacuumArtifact;
pub use table::VacuumArtifactDisposition;
pub use table::VacuumArtifactReason;
pub use table::VacuumError;
pub use table::VacuumMode;
pub use table::VacuumReport;
pub use datafusion::TsTableProvider;

Modules§

coverage
In-memory coverage and gap analysis over the 64-bit index interval ID domain.
datafusion
DataFusion integration for timeseries-table-format.
metadata
Metadata layer.
prelude
Convenience prelude with the stable, supported surface. Convenience prelude.
storage
Filesystem layout and path utilities.
table
High-level time-series table abstraction.
transaction_log
Append-only metadata log and table state.

Structs§

AppendRequest
One Arrow source plus physical settings for a single append.

Enums§

ParquetCompression
Compression used for Parquet segments written by append.

Traits§

IntoRecordBatchReader
Convert an Arrow batch source into a schema-bearing RecordBatchReader.