polyglot-sql 0.2.3__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/Cargo.lock +5 -5
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/Cargo.toml +1 -1
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/PKG-INFO +1 -1
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/Cargo.toml +1 -1
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/README.md +25 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/builder.rs +2 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/bigquery.rs +1 -1
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/duckdb.rs +1 -1
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/mod.rs +222 -103
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/mysql.rs +1 -1
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/postgres.rs +1 -1
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/snowflake.rs +1 -1
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/tsql.rs +3 -3
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/expressions.rs +43 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/generator.rs +119 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/lib.rs +84 -34
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/lineage.rs +987 -7
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/qualify_columns.rs +44 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/parser.rs +716 -13
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/transforms.rs +2 -2
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/traversal.rs +2 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/common/test_runner.rs +2 -2
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/dialect_matrix.rs +3 -3
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/error_handling.rs +3 -3
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/sqlglot_compat.rs +1 -1
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/expr_types.rs +1 -0
- polyglot_sql-0.3.1/crates/polyglot-sql-python/src/transpile.rs +42 -0
- polyglot_sql-0.2.3/crates/polyglot-sql-python/src/transpile.rs +0 -60
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/README.md +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/benches/in_list.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/benches/parsing.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/benches/rust_parsing.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/benches/transpile.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/examples/basic_usage.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/examples/bench_json.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/ast_transforms.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/athena.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/clickhouse.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/cockroachdb.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/databricks.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/datafusion.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/doris.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/dremio.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/drill.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/druid.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/dune.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/exasol.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/fabric.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/generic.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/hive.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/materialize.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/oracle.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/presto.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/redshift.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/risingwave.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/singlestore.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/solr.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/spark.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/sqlite.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/starrocks.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/tableau.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/teradata.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/tidb.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/dialects/trino.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/diff.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/error.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/function_catalog.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/function_registry.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/helper.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/annotate_types.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/canonicalize.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/eliminate_ctes.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/eliminate_joins.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/isolate_table_selects.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/mod.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/normalize.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/normalize_identifiers.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/optimize_joins.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/optimizer.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/pushdown_predicates.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/pushdown_projections.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/qualify_tables.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/simplify.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/optimizer/subquery.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/planner.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/resolver.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/schema.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/scope.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/time.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/tokens.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/trie.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/validation/tests.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/src/validation.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/analyze_failures.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/common/known_failures.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/common/mod.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/common/test_data.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/custom_clickhouse_coverage.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/custom_clickhouse_parser.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/custom_dialect.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/custom_dialect_tests.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/ddl.json +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/dml.json +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/functions.json +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/identity.json +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/operators.json +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/select.json +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/transpilation.json +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/types.json +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/identity_roundtrip.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/sqlglot_dialect_identity.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/sqlglot_identity.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/sqlglot_identity_detailed.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/sqlglot_parser.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/sqlglot_pretty.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/sqlglot_transpilation.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql/tests/sqlglot_transpile.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-function-catalogs/Cargo.toml +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-function-catalogs/README.md +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-function-catalogs/src/clickhouse.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-function-catalogs/src/duckdb.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-function-catalogs/src/lib.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-function-catalogs/tools/clickhouse/extract_functions.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-function-catalogs/tools/duckdb/extract_functions.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/Cargo.toml +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/README.md +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/docs/api.md +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/docs/index.md +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/mkdocs.yml +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/annotate_types.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/dialects.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/diff.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/errors.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/expr.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/format.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/generate.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/helpers.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/lib.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/lineage.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/optimize.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/parse.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/tokenize.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/types.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/src/validate.rs +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/tests/conftest.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/tests/test_compat.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/tests/test_dialects.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/tests/test_diff.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/tests/test_expression.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/tests/test_format.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/tests/test_generate.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/tests/test_lineage.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/tests/test_optimize.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/tests/test_parse.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/tests/test_transpile.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/tests/test_validate.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/crates/polyglot-sql-python/uv.lock +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/pyproject.toml +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/python/polyglot_sql/__init__.py +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/python/polyglot_sql/__init__.pyi +0 -0
- {polyglot_sql-0.2.3 → polyglot_sql-0.3.1}/python/polyglot_sql/py.typed +0 -0
|
@@ -587,7 +587,7 @@ dependencies = [
|
|
|
587
587
|
|
|
588
588
|
[[package]]
|
|
589
589
|
name = "polyglot-sql"
|
|
590
|
-
version = "0.
|
|
590
|
+
version = "0.3.1"
|
|
591
591
|
dependencies = [
|
|
592
592
|
"criterion",
|
|
593
593
|
"once_cell",
|
|
@@ -602,7 +602,7 @@ dependencies = [
|
|
|
602
602
|
|
|
603
603
|
[[package]]
|
|
604
604
|
name = "polyglot-sql-ffi"
|
|
605
|
-
version = "0.
|
|
605
|
+
version = "0.3.1"
|
|
606
606
|
dependencies = [
|
|
607
607
|
"cbindgen",
|
|
608
608
|
"polyglot-sql",
|
|
@@ -612,11 +612,11 @@ dependencies = [
|
|
|
612
612
|
|
|
613
613
|
[[package]]
|
|
614
614
|
name = "polyglot-sql-function-catalogs"
|
|
615
|
-
version = "0.
|
|
615
|
+
version = "0.3.1"
|
|
616
616
|
|
|
617
617
|
[[package]]
|
|
618
618
|
name = "polyglot-sql-python"
|
|
619
|
-
version = "0.
|
|
619
|
+
version = "0.3.1"
|
|
620
620
|
dependencies = [
|
|
621
621
|
"polyglot-sql",
|
|
622
622
|
"pyo3",
|
|
@@ -627,7 +627,7 @@ dependencies = [
|
|
|
627
627
|
|
|
628
628
|
[[package]]
|
|
629
629
|
name = "polyglot-sql-wasm"
|
|
630
|
-
version = "0.
|
|
630
|
+
version = "0.3.1"
|
|
631
631
|
dependencies = [
|
|
632
632
|
"console_error_panic_hook",
|
|
633
633
|
"js-sys",
|
|
@@ -78,7 +78,7 @@ serde_json = { workspace = true }
|
|
|
78
78
|
thiserror = { workspace = true }
|
|
79
79
|
unicode-segmentation = { workspace = true }
|
|
80
80
|
ts-rs = { version = "12.0", features = ["serde-compat"], optional = true }
|
|
81
|
-
polyglot-sql-function-catalogs = { path = "../polyglot-sql-function-catalogs", version = "0.
|
|
81
|
+
polyglot-sql-function-catalogs = { path = "../polyglot-sql-function-catalogs", version = "0.3.1", optional = true, default-features = false }
|
|
82
82
|
|
|
83
83
|
[dev-dependencies]
|
|
84
84
|
pretty_assertions = "1.4"
|
|
@@ -30,6 +30,31 @@ let result = transpile(
|
|
|
30
30
|
assert_eq!(result[0], "SELECT COALESCE(a, b) FROM t");
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
+
You can also transpile through a `Dialect` handle directly — useful when you
|
|
34
|
+
already hold one (e.g., for custom dialects) or need pretty-printed output:
|
|
35
|
+
|
|
36
|
+
```rust
|
|
37
|
+
use polyglot_sql::{Dialect, DialectType, TranspileOptions};
|
|
38
|
+
|
|
39
|
+
let mysql = Dialect::get(DialectType::MySQL);
|
|
40
|
+
|
|
41
|
+
// Built-in target via DialectType
|
|
42
|
+
let plain = mysql.transpile("SELECT IFNULL(a, b) FROM t", DialectType::Postgres).unwrap();
|
|
43
|
+
|
|
44
|
+
// Pretty-printed output via TranspileOptions
|
|
45
|
+
let pretty = mysql
|
|
46
|
+
.transpile_with(
|
|
47
|
+
"SELECT IFNULL(a, b) FROM t",
|
|
48
|
+
DialectType::Postgres,
|
|
49
|
+
TranspileOptions::pretty(),
|
|
50
|
+
)
|
|
51
|
+
.unwrap();
|
|
52
|
+
|
|
53
|
+
// Target a custom (or built-in) Dialect handle directly
|
|
54
|
+
let pg = Dialect::get(DialectType::Postgres);
|
|
55
|
+
let via_handle = mysql.transpile("SELECT IFNULL(a, b) FROM t", &pg).unwrap();
|
|
56
|
+
```
|
|
57
|
+
|
|
33
58
|
### Parse + Generate
|
|
34
59
|
|
|
35
60
|
```rust
|
|
@@ -1495,7 +1495,7 @@ mod tests {
|
|
|
1495
1495
|
fn transpile_to_bigquery(sql: &str) -> String {
|
|
1496
1496
|
let dialect = Dialect::get(DialectType::Generic);
|
|
1497
1497
|
let result = dialect
|
|
1498
|
-
.
|
|
1498
|
+
.transpile(sql, DialectType::BigQuery)
|
|
1499
1499
|
.expect("Transpile failed");
|
|
1500
1500
|
result[0].clone()
|
|
1501
1501
|
}
|
|
@@ -7471,7 +7471,7 @@ mod tests {
|
|
|
7471
7471
|
fn transpile_to_duckdb(sql: &str) -> String {
|
|
7472
7472
|
let dialect = Dialect::get(DialectType::Generic);
|
|
7473
7473
|
let result = dialect
|
|
7474
|
-
.
|
|
7474
|
+
.transpile(sql, DialectType::DuckDB)
|
|
7475
7475
|
.expect("Transpile failed");
|
|
7476
7476
|
result[0].clone()
|
|
7477
7477
|
}
|