sqlglot-rust 0.9.24

A SQL parser, optimizer, and transpiler library inspired by Python's sqlglot
Documentation
[package]
name = "sqlglot-rust"
version = "0.9.24"
edition = "2024"
description = "A SQL parser, optimizer, and transpiler library inspired by Python's sqlglot"
license = "MIT"
readme = "README.md"
repository = "https://github.com/protegrity/sql-glot-rust"
homepage = "https://github.com/protegrity/sql-glot-rust"
documentation = "https://github.com/protegrity/sql-glot-rust/blob/master/docs/guide.md"
keywords = ["sql", "parser", "transpiler", "ast", "database"]
categories = ["parser-implementations", "database"]
exclude = ["packaging/test/", ".dockerignore", ".github/"]

[lib]
crate-type = ["rlib", "cdylib", "staticlib"]

[features]
default = []
cli = ["clap"]

[dependencies]
thiserror = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
log = "0.4"
clap = { version = "4", features = ["derive"], optional = true }

[[bin]]
name = "sqlglot"
path = "src/bin/sqlglot.rs"
required-features = ["cli"]

[dev-dependencies]
pretty_assertions = "1"
criterion = { version = "0.8", features = ["html_reports"] }
assert_cmd = "2"
predicates = "3"
tempfile = "3"
serde_json = "1"

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

# ── Debian package (cargo-deb) ────────────────────────────────────────────
[package.metadata.deb]
maintainer = "Protegrity <engineering@protegrity.com>"
copyright = "2024-2026 Protegrity"
extended-description = """\
sqlglot-rust is a SQL parser, optimizer, and transpiler library \
supporting 30 SQL dialects. This package provides the sqlglot CLI \
and shared/static C FFI libraries."""
section = "database"
priority = "optional"
assets = [
    ["target/release/sqlglot",                "usr/bin/sqlglot",                            "755"],
    ["target/release/libsqlglot_rust.so",     "usr/lib/libsqlglot_rust.so",                "644"],
    ["target/release/libsqlglot_rust.a",      "usr/lib/libsqlglot_rust.a",                 "644"],
    ["target/ffi/include/sqlglot.h",          "usr/include/sqlglot.h",                     "644"],
    ["README.md",                             "usr/share/doc/sqlglot-rust/README.md",      "644"],
    ["LICENSE",                               "usr/share/doc/sqlglot-rust/LICENSE",         "644"],
]

# ── RPM package (cargo-generate-rpm) ─────────────────────────────────────
[package.metadata.generate-rpm]
assets = [
    { source = "target/release/sqlglot",            dest = "/usr/bin/sqlglot",            mode = "0755" },
    { source = "target/release/libsqlglot_rust.so", dest = "/usr/lib64/libsqlglot_rust.so", mode = "0644" },
    { source = "target/release/libsqlglot_rust.a",  dest = "/usr/lib64/libsqlglot_rust.a",  mode = "0644" },
    { source = "target/ffi/include/sqlglot.h",      dest = "/usr/include/sqlglot.h",      mode = "0644" },
    { source = "README.md",                         dest = "/usr/share/doc/sqlglot-rust/README.md", mode = "0644" },
    { source = "LICENSE",                           dest = "/usr/share/doc/sqlglot-rust/LICENSE",   mode = "0644" },
]