[package]
name = "spg-sqlx"
version = { workspace = true }
edition = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
description = "sqlx 0.8 Database driver for spg-embedded — let in-process callers use sqlx::query / query_as / pool.begin against an in-process SPG without a TCP listener. Backs mailrs's drop-in PgPool → SpgPool swap (gap-eval E1)."
[lib]
name = "spg_sqlx"
[dependencies]
spg-embedded = { workspace = true }
spg-embedded-tokio = { workspace = true }
spg-storage = { workspace = true }
sqlx-core = { version = "0.8", default-features = false }
chrono = { version = "0.4", default-features = false, features = ["clock", "std"], optional = true }
serde_json = { version = "1", optional = true }
bigdecimal = { version = "0.4", default-features = false, optional = true }
num-bigint = { version = "0.4", default-features = false, optional = true }
num-traits = { version = "0.2", default-features = false, optional = true }
uuid = { version = "1", default-features = false, optional = true }
futures-core = "0.3"
futures-util = { version = "0.3", default-features = false, features = ["std"] }
either = "1"
log = "0.4"
tokio = { version = "1", features = ["sync"] }
[dev-dependencies]
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
sqlx = { version = "0.8", default-features = false, features = ["runtime-tokio"] }
chrono = { version = "0.4", features = ["clock", "std"] }
serde_json = "1"
bigdecimal = "0.4"
uuid = { version = "1", features = ["v4"] }
[features]
default = ["chrono", "json", "bigdecimal", "uuid"]
chrono = ["dep:chrono"]
json = ["dep:serde_json"]
bigdecimal = ["dep:bigdecimal", "dep:num-bigint", "dep:num-traits"]
uuid = ["dep:uuid"]