[package]
edition = "2021"
name = "polyglot-sql"
version = "0.1.12"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "SQL parsing, validating, formatting, and dialect translation library"
homepage = "https://github.com/tobilg/polyglot"
documentation = "https://docs.rs/polyglot-sql"
readme = "README.md"
license = "MIT"
repository = "https://github.com/tobilg/polyglot"
[features]
all-dialects = [
"dialect-postgresql",
"dialect-mysql",
"dialect-bigquery",
"dialect-snowflake",
"dialect-duckdb",
"dialect-tsql",
"dialect-clickhouse",
"dialect-oracle",
"dialect-hive",
"dialect-spark",
"dialect-sqlite",
"dialect-presto",
"dialect-trino",
"dialect-redshift",
"dialect-databricks",
"dialect-athena",
"dialect-teradata",
"dialect-doris",
"dialect-starrocks",
"dialect-materialize",
"dialect-risingwave",
"dialect-singlestore",
"dialect-cockroachdb",
"dialect-tidb",
"dialect-druid",
"dialect-solr",
"dialect-tableau",
"dialect-dune",
"dialect-fabric",
"dialect-drill",
"dialect-dremio",
"dialect-exasol",
"dialect-datafusion",
]
bindings = ["dep:ts-rs"]
default = [
"all-dialects",
"transpile",
]
dialect-athena = []
dialect-bigquery = []
dialect-clickhouse = []
dialect-cockroachdb = []
dialect-databricks = []
dialect-datafusion = []
dialect-doris = []
dialect-dremio = []
dialect-drill = []
dialect-druid = []
dialect-duckdb = []
dialect-dune = []
dialect-exasol = []
dialect-fabric = []
dialect-hive = []
dialect-materialize = []
dialect-mysql = []
dialect-oracle = []
dialect-postgresql = []
dialect-presto = []
dialect-redshift = []
dialect-risingwave = []
dialect-singlestore = []
dialect-snowflake = []
dialect-solr = []
dialect-spark = []
dialect-sqlite = []
dialect-starrocks = []
dialect-tableau = []
dialect-teradata = []
dialect-tidb = []
dialect-trino = []
dialect-tsql = []
function-catalog-all-dialects = [
"dep:polyglot-sql-function-catalogs",
"polyglot-sql-function-catalogs/all-dialects",
]
function-catalog-clickhouse = [
"dep:polyglot-sql-function-catalogs",
"polyglot-sql-function-catalogs/dialect-clickhouse",
]
function-catalog-duckdb = [
"dep:polyglot-sql-function-catalogs",
"polyglot-sql-function-catalogs/dialect-duckdb",
]
transpile = []
[lib]
name = "polyglot_sql"
path = "src/lib.rs"
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
[[example]]
name = "bench_json"
path = "examples/bench_json.rs"
[[test]]
name = "analyze_failures"
path = "tests/analyze_failures.rs"
[[test]]
name = "custom_clickhouse_coverage"
path = "tests/custom_clickhouse_coverage.rs"
[[test]]
name = "custom_clickhouse_parser"
path = "tests/custom_clickhouse_parser.rs"
[[test]]
name = "custom_dialect"
path = "tests/custom_dialect.rs"
[[test]]
name = "custom_dialect_tests"
path = "tests/custom_dialect_tests.rs"
[[test]]
name = "dialect_matrix"
path = "tests/dialect_matrix.rs"
[[test]]
name = "error_handling"
path = "tests/error_handling.rs"
[[test]]
name = "identity_roundtrip"
path = "tests/identity_roundtrip.rs"
[[test]]
name = "sqlglot_compat"
path = "tests/sqlglot_compat.rs"
[[test]]
name = "sqlglot_dialect_identity"
path = "tests/sqlglot_dialect_identity.rs"
[[test]]
name = "sqlglot_identity"
path = "tests/sqlglot_identity.rs"
[[test]]
name = "sqlglot_identity_detailed"
path = "tests/sqlglot_identity_detailed.rs"
[[test]]
name = "sqlglot_parser"
path = "tests/sqlglot_parser.rs"
[[test]]
name = "sqlglot_pretty"
path = "tests/sqlglot_pretty.rs"
[[test]]
name = "sqlglot_transpilation"
path = "tests/sqlglot_transpilation.rs"
[[test]]
name = "sqlglot_transpile"
path = "tests/sqlglot_transpile.rs"
[[bench]]
name = "in_list"
path = "benches/in_list.rs"
harness = false
[[bench]]
name = "parsing"
path = "benches/parsing.rs"
harness = false
[[bench]]
name = "rust_parsing"
path = "benches/rust_parsing.rs"
harness = false
[[bench]]
name = "transpile"
path = "benches/transpile.rs"
harness = false
[dependencies.polyglot-sql-function-catalogs]
version = "0.1.12"
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "1.0"
[dependencies.ts-rs]
version = "12.0"
features = ["serde-compat"]
optional = true
[dependencies.unicode-segmentation]
version = "1.10"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.once_cell]
version = "1.19"
[dev-dependencies.pretty_assertions]
version = "1.4"