keelson-exec 0.1.1

keelson's execution traits: Executor, Transaction, Row and the fetch/execute verbs. Driver-free; backends implement it.
Documentation
[package]
name = "keelson-exec"
description = "keelson's execution traits: Executor, Transaction, Row and the fetch/execute verbs. Driver-free; backends implement it."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
readme = "README.md"
keywords = ["sql", "database", "async", "executor", "transaction"]
categories = ["database"]

[features]
# Per-statement tracing spans and transaction lifecycle events, emitted from the
# shared verb layer so no backend can forget them. Off by default: without it
# this crate compiles no tracing code and carries no tracing dependency.
tracing = ["dep:tracing"]

[dependencies]
keelson-core.workspace = true
# `sync` only: the async Mutex a Transaction serialises its connection behind,
# and the mpsc channel RowStream is made of. No runtime, no `spawn`, no clocks —
# the traits assume nothing about how futures are driven.
tokio = { workspace = true, features = ["sync"] }
tracing = { workspace = true, optional = true }

[dev-dependencies]
# Self-dependency so the integration-test crates see the feature-gated tracing
# layer — the same pattern keelson-core uses for `testing`.
keelson-exec = { path = ".", features = ["tracing"] }
keelson-core = { path = "../keelson-core", features = ["testing"] }
tokio = { workspace = true, features = ["sync", "macros", "rt"] }

[package.metadata.docs.rs]
features = ["tracing"]

[lints]
workspace = true