Skip to main content

ferrule_core/
lib.rs

1//! `ferrule-core` — the CLI-support layer over the `ferrule-sql` driver core.
2//!
3//! The neutral `Value`/`Row` types, the `DatabaseUrl` parser, the
4//! `Connection` trait and its per-backend drivers, the connect
5//! dispatcher, transaction helpers, the cross-backend copy / bulk-load
6//! write path, the `Dialect` classifier, and the `SqlError` error type
7//! all live in [`ferrule_sql`]; import them from there. This crate keeps
8//! the layers that sit above the driver and pull in dependencies
9//! (`tabled`, `csv`, `ferrule-config`) that the embeddable SQL core
10//! deliberately avoids: result formatting, dump/load, the migration
11//! engine, EXPLAIN wrapping, connection resolution, and parameter
12//! substitution.
13
14pub mod dump;
15pub mod explain;
16pub mod formatter;
17pub mod load;
18pub mod migrate;
19pub mod params;
20pub mod redact;
21pub mod resolver;
22
23pub use dump::{dump_query, dump_table, DumpFormat, DumpOptions};
24pub use explain::{explain_sql, is_modifying, ExplainOutput};
25pub use formatter::{format_result, OutputFormat};
26pub use load::{infer_schema, load_data, LoadFormat, LoadOptions};
27pub use params::{infer_type, load_from_json, parse_param, substitute, ParameterSet};
28pub use redact::redact_sql;