[package]
name = "laminar-sql"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation = "https://laminardb.io/api/laminar_sql"
description = "SQL layer for LaminarDB with streaming extensions"

[dependencies]
# Core dependency
laminar-core = { path = "../laminar-core", version = "0.20.0" }

# DataFusion for SQL processing
datafusion = { workspace = true }
datafusion-common = { workspace = true }
datafusion-expr = { workspace = true }
datafusion-sql = { workspace = true }
datafusion-optimizer = { workspace = true }

# Arrow for columnar data
arrow = { workspace = true }
arrow-array = { workspace = true }
arrow-schema = { workspace = true }

# SQL parsing
sqlparser = { workspace = true }

# Error handling
thiserror = { workspace = true }

# Async
tokio = { workspace = true }
async-trait = { workspace = true }
futures = { workspace = true }
crossfire = { workspace = true }

# Concurrency
parking_lot = { workspace = true }

# Observability
tracing = { workspace = true }

# JSON serialization (for json_build_object, to_jsonb, etc.)
serde_json = { workspace = true }

# Timestamp parsing for format bridge UDFs
chrono = { workspace = true }

[dev-dependencies]
criterion = { workspace = true }
proptest = { workspace = true }
tokio = { workspace = true, features = ["test-util", "macros"] }