[package]
name = "sz-orm-sqlx"
description = "sqlx adapter: MySQL, PostgreSQL, SQLite backend via sqlx crate"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true
[dependencies]
sz-orm-core = { workspace = true }
async-trait.workspace = true
tokio = { workspace = true, features = ["sync"] }
serde = { workspace = true }
serde_json = { workspace = true }
sqlx = { version = "0.9", default-features = false, features = ["runtime-tokio", "tls-rustls", "mysql", "postgres", "sqlite", "chrono", "json", "rust_decimal", "uuid"] }
rust_decimal = "1.36"
async-stream = "0.3"
futures.workspace = true
parking_lot.workspace = true
sz-orm-oracle = { workspace = true, optional = true }
sz-orm-mssql = { workspace = true, optional = true }
hdbconnect_async = { version = "0.32", optional = true }
sz-orm-observability = { version = "10.1.0", path = "../sz-orm-observability", optional = true }
[features]
default = ["auto-prewarm"]
oracle = ["dep:sz-orm-oracle"]
mssql = ["dep:sz-orm-mssql"]
dialect-saphana-driver = ["dep:hdbconnect_async"]
auto-prewarm = ["sz-orm-core/auto-prewarm"]
async-row-stream = ["sz-orm-core/async-row-stream"]
prepared-stmt-cache = ["sz-orm-core/prepared-stmt-cache"]
cockroachdb = []
yugabytedb = []
db-backend-compat = []
slow-query-capture = ["dep:sz-orm-observability", "sz-orm-observability/query-logging"]
auto-healer = ["sz-orm-core/auto-healer"]
zero-copy = ["sz-orm-core/zero-copy"]
tde-interceptor = ["sz-orm-core/tde-interceptor"]
field-encryption = ["sz-orm-core/field-encryption"]
tenant-quota-rls-enhanced = ["sz-orm-core/tenant-quota-rls-enhanced"]
multi-tenant-enhanced = ["sz-orm-core/multi-tenant-enhanced"]
[dev-dependencies]
tokio = { workspace = true, features = ["full", "test-util"] }
proptest = { workspace = true }
futures.workspace = true
sz-orm-adaptive = { path = "../sz-orm-adaptive" }
sz-orm-observability = { path = "../sz-orm-observability", features = ["anomaly-remediation-rca", "alert-rules"] }
sz-orm-audit = { path = "../sz-orm-audit" }
[lib]
name = "sz_orm_sqlx"
path = "src/lib.rs"
[[test]]
name = "sqlx_adapter_tests"
path = "tests/sqlx_adapter_tests.rs"
[[test]]
name = "real_db_pool_tests"
path = "tests/real_db_pool_tests.rs"
[[test]]
name = "real_db_jepsen"
path = "tests/real_db_jepsen.rs"
[[test]]
name = "benchmark"
path = "tests/benchmark.rs"
[[test]]
name = "differential_fuzz"
path = "tests/differential_fuzz.rs"
[[test]]
name = "saphana_e2e"
path = "tests/saphana_e2e.rs"
required-features = ["dialect-saphana-driver"]
[[test]]
name = "cockroachdb_test"
path = "tests/cockroachdb_test.rs"
required-features = ["cockroachdb"]
[[test]]
name = "yugabytedb_test"
path = "tests/yugabytedb_test.rs"
required-features = ["yugabytedb"]
[[test]]
name = "distributed_db_compat_report_test"
path = "tests/distributed_db_compat_report_test.rs"
[[test]]
name = "unified_pool_test"
path = "tests/unified_pool_test.rs"
[lints]
workspace = true