polyglot-sql 0.5.4__tar.gz → 0.5.5__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.5.4 → polyglot_sql-0.5.5}/Cargo.lock +5 -5
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/Cargo.toml +1 -1
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/PKG-INFO +1 -1
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/Cargo.toml +1 -1
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/tsql.rs +2 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/generator.rs +6 -1
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/query_analysis.rs +17 -3
- polyglot_sql-0.5.5/crates/polyglot-sql/tests/query_analysis_regression.rs +79 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/tsql_regression.rs +41 -1
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/README.md +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/README.md +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/benches/in_list.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/benches/parsing.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/benches/rust_parsing.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/benches/transpile.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/examples/basic_usage.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/examples/bench_json.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/ast_json.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/ast_transforms.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/builder.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/athena.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/bigquery.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/clickhouse.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/cockroachdb.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/databricks.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/datafusion.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/doris.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/dremio.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/drill.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/druid.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/duckdb.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/dune.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/exasol.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/fabric.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/generic.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/hive.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/materialize.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/mod.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/mysql.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/oracle.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/postgres.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/presto.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/redshift.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/risingwave.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/singlestore.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/snowflake.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/solr.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/spark.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/sqlite.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/starrocks.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/tableau.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/teradata.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/tidb.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/dialects/trino.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/diff.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/error.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/expressions.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/function_catalog.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/function_registry.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/helper.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/lib.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/lineage.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/openlineage.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/annotate_types.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/canonicalize.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/eliminate_ctes.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/eliminate_joins.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/isolate_table_selects.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/mod.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/normalize.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/normalize_identifiers.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/optimize_joins.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/optimizer.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/pushdown_predicates.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/pushdown_projections.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/qualify_columns.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/qualify_tables.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/simplify.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/subquery.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/parser.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/planner.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/resolver.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/schema.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/scope.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/time.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/tokens.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/transforms.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/traversal.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/trie.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/validation/tests.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/validation.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/analyze_failures.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/clickhouse_regression.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/common/known_failures.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/common/mod.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/common/test_data.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/common/test_runner.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/custom_clickhouse_coverage.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/custom_clickhouse_parser.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/custom_dialect.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/custom_dialect_tests.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/custom_fixtures/datafusion/ddl.json +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/custom_fixtures/datafusion/dml.json +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/custom_fixtures/datafusion/functions.json +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/custom_fixtures/datafusion/identity.json +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/custom_fixtures/datafusion/operators.json +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/custom_fixtures/datafusion/select.json +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/custom_fixtures/datafusion/transpilation.json +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/custom_fixtures/datafusion/types.json +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/data_type_api.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/deep_nesting_regression.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/dialect_matrix.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/error_handling.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/fabric_regression.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/fabric_tpch_regression.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/identity_roundtrip.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/issue201_regression_test.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/issue210_regression_test.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/issue226_regression_test.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/issue227_strict_unsupported.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/postgres_sqlite_regression.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/query_analysis.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/snowflake_regression_test.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/sqlglot_compat.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/sqlglot_dialect_identity.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/sqlglot_identity.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/sqlglot_identity_detailed.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/sqlglot_parser.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/sqlglot_pretty.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/sqlglot_transpilation.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/sqlglot_transpile.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/tpch_transpile_stack.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/transform_regression.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-function-catalogs/Cargo.toml +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-function-catalogs/README.md +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-function-catalogs/src/clickhouse.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-function-catalogs/src/duckdb.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-function-catalogs/src/lib.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-function-catalogs/tools/clickhouse/extract_functions.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-function-catalogs/tools/duckdb/extract_functions.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/Cargo.toml +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/README.md +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/docs/api.md +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/docs/index.md +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/mkdocs.yml +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/annotate_types.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/dialects.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/diff.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/errors.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/expr.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/expr_types.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/format.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/generate.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/helpers.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/lib.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/lineage.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/openlineage.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/optimize.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/parse.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/query_analysis.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/tokenize.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/transforms.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/transpile.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/types.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/src/validate.rs +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/conftest.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_compat.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_dialects.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_diff.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_expression.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_format.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_generate.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_lineage.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_optimize.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_parse.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_query_analysis.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_transforms.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_transpile.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_validate.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/uv.lock +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/pyproject.toml +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/python/polyglot_sql/__init__.py +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/python/polyglot_sql/__init__.pyi +0 -0
- {polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/python/polyglot_sql/py.typed +0 -0
|
@@ -605,7 +605,7 @@ dependencies = [
|
|
|
605
605
|
|
|
606
606
|
[[package]]
|
|
607
607
|
name = "polyglot-sql"
|
|
608
|
-
version = "0.5.
|
|
608
|
+
version = "0.5.5"
|
|
609
609
|
dependencies = [
|
|
610
610
|
"criterion",
|
|
611
611
|
"once_cell",
|
|
@@ -621,7 +621,7 @@ dependencies = [
|
|
|
621
621
|
|
|
622
622
|
[[package]]
|
|
623
623
|
name = "polyglot-sql-ffi"
|
|
624
|
-
version = "0.5.
|
|
624
|
+
version = "0.5.5"
|
|
625
625
|
dependencies = [
|
|
626
626
|
"cbindgen",
|
|
627
627
|
"polyglot-sql",
|
|
@@ -631,11 +631,11 @@ dependencies = [
|
|
|
631
631
|
|
|
632
632
|
[[package]]
|
|
633
633
|
name = "polyglot-sql-function-catalogs"
|
|
634
|
-
version = "0.5.
|
|
634
|
+
version = "0.5.5"
|
|
635
635
|
|
|
636
636
|
[[package]]
|
|
637
637
|
name = "polyglot-sql-python"
|
|
638
|
-
version = "0.5.
|
|
638
|
+
version = "0.5.5"
|
|
639
639
|
dependencies = [
|
|
640
640
|
"polyglot-sql",
|
|
641
641
|
"pyo3",
|
|
@@ -646,7 +646,7 @@ dependencies = [
|
|
|
646
646
|
|
|
647
647
|
[[package]]
|
|
648
648
|
name = "polyglot-sql-wasm"
|
|
649
|
-
version = "0.5.
|
|
649
|
+
version = "0.5.5"
|
|
650
650
|
dependencies = [
|
|
651
651
|
"console_error_panic_hook",
|
|
652
652
|
"js-sys",
|
|
@@ -106,7 +106,7 @@ thiserror = { workspace = true }
|
|
|
106
106
|
unicode-segmentation = { workspace = true }
|
|
107
107
|
stacker = { version = "0.1", optional = true }
|
|
108
108
|
ts-rs = { version = "12.0", features = ["serde-compat"], optional = true }
|
|
109
|
-
polyglot-sql-function-catalogs = { path = "../polyglot-sql-function-catalogs", version = "0.5.
|
|
109
|
+
polyglot-sql-function-catalogs = { path = "../polyglot-sql-function-catalogs", version = "0.5.5", optional = true, default-features = false }
|
|
110
110
|
|
|
111
111
|
[dev-dependencies]
|
|
112
112
|
pretty_assertions = "1.4"
|
|
@@ -36,6 +36,8 @@ impl DialectImpl for TSQLDialect {
|
|
|
36
36
|
config.identifiers.insert('[', ']');
|
|
37
37
|
// SQL Server also supports double quotes (when QUOTED_IDENTIFIER is ON)
|
|
38
38
|
config.identifiers.insert('"', '"');
|
|
39
|
+
// SQL Server uses 0x-prefixed binary/varbinary hex literals.
|
|
40
|
+
config.hex_number_strings = true;
|
|
39
41
|
config
|
|
40
42
|
}
|
|
41
43
|
|
|
@@ -14733,8 +14733,13 @@ impl Generator {
|
|
|
14733
14733
|
}
|
|
14734
14734
|
}
|
|
14735
14735
|
Literal::HexString(h) => {
|
|
14736
|
-
// Most dialects use lowercase x'...' for hex literals
|
|
14736
|
+
// Most dialects use lowercase x'...' for hex literals.
|
|
14737
14737
|
match self.config.dialect {
|
|
14738
|
+
Some(DialectType::TSQL) | Some(DialectType::Fabric) => {
|
|
14739
|
+
self.write("0x");
|
|
14740
|
+
self.write(h);
|
|
14741
|
+
return Ok(());
|
|
14742
|
+
}
|
|
14738
14743
|
Some(DialectType::Spark)
|
|
14739
14744
|
| Some(DialectType::Databricks)
|
|
14740
14745
|
| Some(DialectType::Teradata) => self.write("X'"),
|
|
@@ -775,6 +775,23 @@ fn transform_function_fact(
|
|
|
775
775
|
expression: &Expression,
|
|
776
776
|
scope: &Scope,
|
|
777
777
|
dialect: DialectType,
|
|
778
|
+
) -> Option<TransformFunctionFact> {
|
|
779
|
+
let mut matches = expression
|
|
780
|
+
.find_all(|candidate| transform_function_fact_for_node(candidate, scope, dialect).is_some())
|
|
781
|
+
.into_iter();
|
|
782
|
+
|
|
783
|
+
let first = matches.next()?;
|
|
784
|
+
if matches.next().is_some() {
|
|
785
|
+
return None;
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
transform_function_fact_for_node(first, scope, dialect)
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
fn transform_function_fact_for_node(
|
|
792
|
+
expression: &Expression,
|
|
793
|
+
scope: &Scope,
|
|
794
|
+
dialect: DialectType,
|
|
778
795
|
) -> Option<TransformFunctionFact> {
|
|
779
796
|
match expression {
|
|
780
797
|
Expression::Function(function) => Some(transform_function_from_args(
|
|
@@ -789,9 +806,6 @@ fn transform_function_fact(
|
|
|
789
806
|
scope,
|
|
790
807
|
dialect,
|
|
791
808
|
)),
|
|
792
|
-
Expression::WindowFunction(function) => {
|
|
793
|
-
transform_function_fact(&function.this, scope, dialect)
|
|
794
|
-
}
|
|
795
809
|
Expression::DateTrunc(function) => Some(transform_function_from_parts(
|
|
796
810
|
"DATE_TRUNC",
|
|
797
811
|
vec![datetime_field_name(&function.unit)],
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
use polyglot_sql::{analyze_query, AnalyzeQueryOptions, DialectType, TransformKind};
|
|
2
|
+
|
|
3
|
+
fn first_projection(sql: &str) -> polyglot_sql::ProjectionFact {
|
|
4
|
+
let analysis = analyze_query(
|
|
5
|
+
sql,
|
|
6
|
+
AnalyzeQueryOptions {
|
|
7
|
+
dialect: DialectType::DuckDB,
|
|
8
|
+
..Default::default()
|
|
9
|
+
},
|
|
10
|
+
)
|
|
11
|
+
.unwrap_or_else(|error| panic!("analyze_query failed for {sql:?}: {error}"));
|
|
12
|
+
|
|
13
|
+
analysis
|
|
14
|
+
.projections
|
|
15
|
+
.into_iter()
|
|
16
|
+
.next()
|
|
17
|
+
.expect("expected one projection")
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
#[test]
|
|
21
|
+
fn analyze_query_reports_top_level_transform_function() {
|
|
22
|
+
let projection = first_projection("SELECT DATE_TRUNC('month', created_at) AS m FROM orders");
|
|
23
|
+
|
|
24
|
+
let transform = projection
|
|
25
|
+
.transform_function
|
|
26
|
+
.expect("DATE_TRUNC should be reported");
|
|
27
|
+
assert_eq!(projection.transform_kind, TransformKind::Expression);
|
|
28
|
+
assert_eq!(transform.name, "DATE_TRUNC");
|
|
29
|
+
assert_eq!(transform.literal_args, vec!["month"]);
|
|
30
|
+
assert_eq!(transform.column_args.len(), 1);
|
|
31
|
+
assert_eq!(transform.column_args[0].table.as_deref(), Some("orders"));
|
|
32
|
+
assert_eq!(transform.column_args[0].column, "created_at");
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
#[test]
|
|
36
|
+
fn analyze_query_reports_transform_function_wrapped_in_coalesce() {
|
|
37
|
+
let projection = first_projection(
|
|
38
|
+
"SELECT COALESCE(DATE_TRUNC('month', created_at), DATE '1970-01-01') AS m FROM orders",
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
let transform = projection
|
|
42
|
+
.transform_function
|
|
43
|
+
.expect("nested DATE_TRUNC should be reported");
|
|
44
|
+
assert_eq!(projection.transform_kind, TransformKind::Expression);
|
|
45
|
+
assert_eq!(transform.name, "DATE_TRUNC");
|
|
46
|
+
assert_eq!(transform.literal_args, vec!["month"]);
|
|
47
|
+
assert_eq!(transform.column_args.len(), 1);
|
|
48
|
+
assert_eq!(transform.column_args[0].table.as_deref(), Some("orders"));
|
|
49
|
+
assert_eq!(transform.column_args[0].column, "created_at");
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
#[test]
|
|
53
|
+
fn analyze_query_reports_transform_function_wrapped_in_cast() {
|
|
54
|
+
let projection =
|
|
55
|
+
first_projection("SELECT CAST(DATE_TRUNC('day', created_at) AS DATE) AS d FROM orders");
|
|
56
|
+
|
|
57
|
+
let transform = projection
|
|
58
|
+
.transform_function
|
|
59
|
+
.expect("nested DATE_TRUNC should be reported");
|
|
60
|
+
assert_eq!(projection.transform_kind, TransformKind::Cast);
|
|
61
|
+
assert_eq!(projection.cast_type.as_deref(), Some("DATE"));
|
|
62
|
+
assert_eq!(transform.name, "DATE_TRUNC");
|
|
63
|
+
assert_eq!(transform.literal_args, vec!["day"]);
|
|
64
|
+
assert_eq!(transform.column_args.len(), 1);
|
|
65
|
+
assert_eq!(transform.column_args[0].table.as_deref(), Some("orders"));
|
|
66
|
+
assert_eq!(transform.column_args[0].column, "created_at");
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
#[test]
|
|
70
|
+
fn analyze_query_omits_ambiguous_nested_transform_functions() {
|
|
71
|
+
let projection = first_projection(
|
|
72
|
+
"SELECT COALESCE(DATE_TRUNC('month', created_at), DATE_TRUNC('day', updated_at)) AS m FROM orders",
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
assert!(
|
|
76
|
+
projection.transform_function.is_none(),
|
|
77
|
+
"multiple transform function candidates should remain ambiguous"
|
|
78
|
+
);
|
|
79
|
+
}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
use polyglot_sql::generator::{Generator, GeneratorConfig};
|
|
4
4
|
use polyglot_sql::{
|
|
5
|
-
get_all_tables, parse, transpile, validate, DialectType, Expression, ExpressionWalk,
|
|
5
|
+
get_all_tables, parse, transpile, validate, Dialect, DialectType, Expression, ExpressionWalk,
|
|
6
|
+
Parser, TokenType,
|
|
6
7
|
};
|
|
7
8
|
|
|
8
9
|
fn pg_to_tsql(sql: &str) -> String {
|
|
@@ -32,6 +33,45 @@ BEGIN CATCH
|
|
|
32
33
|
INSERT INTO error_log (msg) VALUES (ERROR_MESSAGE());
|
|
33
34
|
END CATCH"#;
|
|
34
35
|
|
|
36
|
+
// ---------------------------------------------------------------------------
|
|
37
|
+
// T-SQL hex literals
|
|
38
|
+
// ---------------------------------------------------------------------------
|
|
39
|
+
|
|
40
|
+
#[test]
|
|
41
|
+
fn tsql_hex_literals_tokenize_as_hex_strings() {
|
|
42
|
+
let dialect = Dialect::get(DialectType::TSQL);
|
|
43
|
+
let tokens = dialect
|
|
44
|
+
.tokenize("SELECT * FROM Employees WHERE EmployeeId = 0x1")
|
|
45
|
+
.expect("T-SQL hex literal should tokenize");
|
|
46
|
+
|
|
47
|
+
let hex = tokens
|
|
48
|
+
.iter()
|
|
49
|
+
.find(|token| token.token_type == TokenType::HexString)
|
|
50
|
+
.expect("expected a HexString token for 0x1");
|
|
51
|
+
|
|
52
|
+
assert_eq!(hex.text, "1");
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
#[test]
|
|
56
|
+
fn tsql_hex_literals_parse_and_roundtrip() {
|
|
57
|
+
for sql in [
|
|
58
|
+
"SELECT * FROM Employees WHERE EmployeeId = 0x1",
|
|
59
|
+
"INSERT INTO t (bin) VALUES (0xFF)",
|
|
60
|
+
"SELECT 0xCAFE + 1",
|
|
61
|
+
] {
|
|
62
|
+
let ast = parse(sql, DialectType::TSQL)
|
|
63
|
+
.unwrap_or_else(|error| panic!("T-SQL hex literal should parse for {sql:?}: {error}"));
|
|
64
|
+
assert_eq!(ast.len(), 1);
|
|
65
|
+
assert_eq!(generate_tsql(&ast[0]), sql);
|
|
66
|
+
|
|
67
|
+
let roundtrip =
|
|
68
|
+
transpile(sql, DialectType::TSQL, DialectType::TSQL).unwrap_or_else(|error| {
|
|
69
|
+
panic!("T-SQL hex literal should transpile for {sql:?}: {error}")
|
|
70
|
+
});
|
|
71
|
+
assert_eq!(roundtrip, vec![sql.to_string()]);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
35
75
|
// ---------------------------------------------------------------------------
|
|
36
76
|
// T-SQL SET options
|
|
37
77
|
// ---------------------------------------------------------------------------
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/annotate_types.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/eliminate_ctes.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/eliminate_joins.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/isolate_table_selects.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/normalize_identifiers.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/optimize_joins.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/pushdown_predicates.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/pushdown_projections.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/qualify_columns.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/src/optimizer/qualify_tables.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/clickhouse_regression.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/common/known_failures.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/custom_clickhouse_coverage.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/custom_clickhouse_parser.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/deep_nesting_regression.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/fabric_tpch_regression.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/issue201_regression_test.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/issue210_regression_test.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/issue226_regression_test.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/issue227_strict_unsupported.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/postgres_sqlite_regression.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/snowflake_regression_test.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/sqlglot_dialect_identity.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/sqlglot_identity_detailed.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql/tests/sqlglot_transpilation.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-function-catalogs/src/clickhouse.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-function-catalogs/src/duckdb.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_expression.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_query_analysis.py
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_transforms.py
RENAMED
|
File without changes
|
{polyglot_sql-0.5.4 → polyglot_sql-0.5.5}/crates/polyglot-sql-python/tests/test_transpile.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|