Skip to main content

Crate laminate_sql

Crate laminate_sql 

Source
Expand description

§laminate-sql — Database connectors for laminate

Provides the DataSource trait and implementations for PostgreSQL, SQLite, and MySQL. Queries return rows as FlexValue for shaping, coercion, and schema inference.

§Features

  • postgres — PostgreSQL via sqlx
  • sqlite — SQLite via sqlx
  • mysql — MySQL via sqlx
  • all-databases — All of the above

§Quick Start

use laminate_sql::{DataSource, PostgresSource};

let source = PostgresSource::connect("postgres://user:pass@localhost/mydb").await?;
let rows = source.query("SELECT * FROM customers LIMIT 100").await?;

// Use with laminate schema inference
let raw_rows: Vec<serde_json::Value> = rows.iter().map(|r| r.into_raw()).collect();
let schema = laminate::InferredSchema::from_values(&raw_rows);
let report = schema.audit(&raw_rows);
println!("{}", report.summary());

Enums§

DataSourceError
Errors from data source operations.

Traits§

DataSource
A data source that produces rows as FlexValue.

Functions§

read_json_array
Read a JSON array as FlexValue rows.
read_jsonl
Read JSON Lines (newline-delimited JSON) as FlexValue rows.