llkv_csv/
lib.rs

1//! CSV ingestion and export helpers for LLKV tables.
2//!
3//! The crate wraps Arrow's CSV reader/writer to stream data into LLKV tables and export query
4//! results. High-level entry points live in [`csv_ingest`] and [`csv_export`], while internal
5//! modules provide schema inference and streaming utilities.
6
7use std::error::Error;
8
9/// Result type alias used by CSV ingestion components.
10pub type CsvResult<T> = Result<T, Box<dyn Error + Send + Sync>>;
11
12pub mod csv_export;
13pub mod csv_ingest;
14pub(crate) mod inference;
15
16mod reader;
17mod writer;
18
19pub use reader::{CsvReadOptions, CsvReadSession, CsvReader};
20
21pub use writer::{CsvExportColumn, CsvWriteOptions, CsvWriter};
22
23pub use csv_export::{
24    export_csv_from_table, export_csv_from_table_with_filter,
25    export_csv_from_table_with_projections, export_csv_to_writer_with_filter,
26    export_csv_to_writer_with_projections,
27};
28
29pub use csv_ingest::{append_csv_into_table, append_csv_into_table_with_mapping};