faucet-transform-sql 1.1.0

SQL-as-transform for faucet-stream — run DuckDB SQL over each pipeline page (the `batch` relation).
Documentation
[package]
name = "faucet-transform-sql"
version = "1.1.0"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
documentation = "https://docs.rs/faucet-transform-sql"
categories.workspace = true
keywords = ["sql", "duckdb", "transform", "pipeline", "etl"]
description = "SQL-as-transform for faucet-stream — run DuckDB SQL over each pipeline page (the `batch` relation)."

[dependencies]
# `arrow` so the SQL stage can expose its Arrow `RecordBatch` form
# (via `into_columnar_stage`) — transform-sql is Arrow-native anyway.
faucet-core = { workspace = true, features = ["arrow"] }
duckdb = { workspace = true, features = ["bundled", "vtab-arrow"] }
arrow.workspace = true
arrow-json.workspace = true
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true
schemars.workspace = true
tracing.workspace = true

[dev-dependencies]
criterion.workspace = true
tempfile.workspace = true
# Columnar-chain benchmark (#324 D) — Parquet IO to model the parquet→sql→parquet
# round-trip the Value-tax measurement attributes against. Bench-only.
parquet.workspace = true
bytes.workspace = true
# Columnar pipeline acceptance test (#375): drive a Pipeline over a columnar
# source → sql → columnar sink and assert the columnar path is taken.
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
futures.workspace = true

[[bench]]
name = "sql_transform"
harness = false

[[bench]]
name = "columnar_roundtrip"
harness = false

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]