1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//! # 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`):
//!
//! ```rust
//! 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:
//!
//! ```rust
//! 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`](https://docs.rs/log)
//! facade for applications that install a logger.
//!
//! The initial operation names include `table.open`, `table.create`,
//! `table.refresh`, `table.append`, `table.optimize`, `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.
pub
/// Convenience prelude with the stable, supported surface.
pub use ;
pub use ;
pub use TableProtocolError;
pub use TableMeta;
pub use TableLocation;
pub use ;
/// DataFusion table provider (enabled by default).
pub use TsTableProvider;