polyglot-sql 0.4.0__tar.gz → 0.4.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.4.0 → polyglot_sql-0.4.1}/Cargo.lock +5 -5
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/Cargo.toml +1 -1
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/PKG-INFO +1 -1
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/Cargo.toml +2 -2
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/expressions.rs +2 -2
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/generator.rs +10 -1
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/openlineage.rs +14 -1
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/subquery.rs +19 -3
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/parser.rs +20 -6
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/identity_roundtrip.rs +1 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/sqlglot_compat.rs +16 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/README.md +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/README.md +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/benches/in_list.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/benches/parsing.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/benches/rust_parsing.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/benches/transpile.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/examples/basic_usage.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/examples/bench_json.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/ast_transforms.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/builder.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/athena.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/bigquery.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/clickhouse.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/cockroachdb.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/databricks.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/datafusion.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/doris.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/dremio.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/drill.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/druid.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/duckdb.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/dune.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/exasol.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/fabric.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/generic.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/hive.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/materialize.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/mod.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/mysql.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/oracle.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/postgres.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/presto.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/redshift.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/risingwave.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/singlestore.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/snowflake.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/solr.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/spark.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/sqlite.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/starrocks.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/tableau.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/teradata.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/tidb.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/trino.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/dialects/tsql.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/diff.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/error.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/function_catalog.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/function_registry.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/helper.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/lib.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/lineage.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/annotate_types.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/canonicalize.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/eliminate_ctes.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/eliminate_joins.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/isolate_table_selects.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/mod.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/normalize.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/normalize_identifiers.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/optimize_joins.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/optimizer.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/pushdown_predicates.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/pushdown_projections.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/qualify_columns.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/qualify_tables.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/simplify.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/planner.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/resolver.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/schema.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/scope.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/time.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/tokens.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/transforms.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/traversal.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/trie.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/validation/tests.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/validation.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/analyze_failures.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/clickhouse_regression.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/common/known_failures.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/common/mod.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/common/test_data.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/common/test_runner.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/custom_clickhouse_coverage.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/custom_clickhouse_parser.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/custom_dialect.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/custom_dialect_tests.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/ddl.json +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/dml.json +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/functions.json +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/identity.json +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/operators.json +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/select.json +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/transpilation.json +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/custom_fixtures/datafusion/types.json +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/deep_nesting_regression.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/dialect_matrix.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/error_handling.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/fabric_regression.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/fabric_tpch_regression.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/issue201_regression_test.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/postgres_sqlite_regression.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/snowflake_regression_test.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/sqlglot_dialect_identity.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/sqlglot_identity.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/sqlglot_identity_detailed.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/sqlglot_parser.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/sqlglot_pretty.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/sqlglot_transpilation.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/sqlglot_transpile.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/tpch_transpile_stack.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/transform_regression.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/tsql_regression.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-function-catalogs/Cargo.toml +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-function-catalogs/README.md +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-function-catalogs/src/clickhouse.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-function-catalogs/src/duckdb.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-function-catalogs/src/lib.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-function-catalogs/tools/clickhouse/extract_functions.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-function-catalogs/tools/duckdb/extract_functions.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/Cargo.toml +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/README.md +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/docs/api.md +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/docs/index.md +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/mkdocs.yml +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/annotate_types.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/dialects.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/diff.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/errors.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/expr.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/expr_types.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/format.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/generate.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/helpers.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/lib.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/lineage.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/openlineage.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/optimize.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/parse.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/tokenize.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/transforms.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/transpile.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/types.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/src/validate.rs +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/tests/conftest.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/tests/test_compat.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/tests/test_dialects.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/tests/test_diff.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/tests/test_expression.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/tests/test_format.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/tests/test_generate.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/tests/test_lineage.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/tests/test_optimize.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/tests/test_parse.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/tests/test_transforms.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/tests/test_transpile.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/tests/test_validate.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/uv.lock +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/pyproject.toml +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/python/polyglot_sql/__init__.py +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/python/polyglot_sql/__init__.pyi +0 -0
- {polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/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.4.
|
|
608
|
+
version = "0.4.1"
|
|
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.4.
|
|
624
|
+
version = "0.4.1"
|
|
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.4.
|
|
634
|
+
version = "0.4.1"
|
|
635
635
|
|
|
636
636
|
[[package]]
|
|
637
637
|
name = "polyglot-sql-python"
|
|
638
|
-
version = "0.4.
|
|
638
|
+
version = "0.4.1"
|
|
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.4.
|
|
649
|
+
version = "0.4.1"
|
|
650
650
|
dependencies = [
|
|
651
651
|
"console_error_panic_hook",
|
|
652
652
|
"js-sys",
|
|
@@ -28,7 +28,7 @@ generate = []
|
|
|
28
28
|
transpile = ["generate"]
|
|
29
29
|
builder = ["generate"]
|
|
30
30
|
ast-tools = []
|
|
31
|
-
semantic = ["
|
|
31
|
+
semantic = ["ast-tools"]
|
|
32
32
|
openlineage = ["semantic"]
|
|
33
33
|
diff = ["generate"]
|
|
34
34
|
planner = []
|
|
@@ -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.4.
|
|
109
|
+
polyglot-sql-function-catalogs = { path = "../polyglot-sql-function-catalogs", version = "0.4.1", optional = true, default-features = false }
|
|
110
110
|
|
|
111
111
|
[dev-dependencies]
|
|
112
112
|
pretty_assertions = "1.4"
|
|
@@ -8346,7 +8346,7 @@ pub struct IndexColumn {
|
|
|
8346
8346
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
|
8347
8347
|
#[cfg_attr(feature = "bindings", derive(TS))]
|
|
8348
8348
|
pub struct DropIndex {
|
|
8349
|
-
pub name:
|
|
8349
|
+
pub name: TableRef,
|
|
8350
8350
|
pub table: Option<TableRef>,
|
|
8351
8351
|
pub if_exists: bool,
|
|
8352
8352
|
/// PostgreSQL CONCURRENTLY modifier
|
|
@@ -8357,7 +8357,7 @@ pub struct DropIndex {
|
|
|
8357
8357
|
impl DropIndex {
|
|
8358
8358
|
pub fn new(name: impl Into<String>) -> Self {
|
|
8359
8359
|
Self {
|
|
8360
|
-
name:
|
|
8360
|
+
name: TableRef::new(name),
|
|
8361
8361
|
table: None,
|
|
8362
8362
|
if_exists: false,
|
|
8363
8363
|
concurrently: false,
|
|
@@ -11108,7 +11108,7 @@ impl Generator {
|
|
|
11108
11108
|
}
|
|
11109
11109
|
|
|
11110
11110
|
self.write_space();
|
|
11111
|
-
self.
|
|
11111
|
+
self.generate_table(&di.name)?;
|
|
11112
11112
|
|
|
11113
11113
|
if let Some(ref table) = di.table {
|
|
11114
11114
|
self.write_space();
|
|
@@ -38852,6 +38852,15 @@ mod tests {
|
|
|
38852
38852
|
fn test_drop_index() {
|
|
38853
38853
|
let result = roundtrip("DROP INDEX idx_name");
|
|
38854
38854
|
assert_eq!(result, "DROP INDEX idx_name");
|
|
38855
|
+
|
|
38856
|
+
let result = roundtrip(r#"DROP INDEX IF EXISTS "idx_tokenKey__pb_users_auth_""#);
|
|
38857
|
+
assert_eq!(
|
|
38858
|
+
result,
|
|
38859
|
+
r#"DROP INDEX IF EXISTS "idx_tokenKey__pb_users_auth_""#
|
|
38860
|
+
);
|
|
38861
|
+
|
|
38862
|
+
let result = roundtrip(r#"DROP INDEX "public"."IdxMixed""#);
|
|
38863
|
+
assert_eq!(result, r#"DROP INDEX "public"."IdxMixed""#);
|
|
38855
38864
|
}
|
|
38856
38865
|
|
|
38857
38866
|
#[test]
|
|
@@ -550,11 +550,24 @@ fn input_fields_for_output(
|
|
|
550
550
|
let description = output_field
|
|
551
551
|
.expression
|
|
552
552
|
.as_ref()
|
|
553
|
-
.
|
|
553
|
+
.and_then(|expr| transformation_description(expr, options.dialect));
|
|
554
554
|
|
|
555
555
|
terminal_fields_to_openlineage(terminals, subtype, description, options, warnings)
|
|
556
556
|
}
|
|
557
557
|
|
|
558
|
+
fn transformation_description(expr: &Expression, dialect: DialectType) -> Option<String> {
|
|
559
|
+
#[cfg(feature = "generate")]
|
|
560
|
+
{
|
|
561
|
+
Some(expr.sql_for(dialect))
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
#[cfg(not(feature = "generate"))]
|
|
565
|
+
{
|
|
566
|
+
let _ = (expr, dialect);
|
|
567
|
+
None
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
|
|
558
571
|
fn terminal_fields_to_openlineage(
|
|
559
572
|
terminals: Vec<TerminalField>,
|
|
560
573
|
subtype: &str,
|
|
@@ -1176,7 +1176,7 @@ fn extract_subquery_to_cte(
|
|
|
1176
1176
|
) -> Expression {
|
|
1177
1177
|
match source {
|
|
1178
1178
|
Expression::Subquery(sub) => {
|
|
1179
|
-
let
|
|
1179
|
+
let subquery_key = subquery_identity_key(&sub.this);
|
|
1180
1180
|
let alias_name = sub
|
|
1181
1181
|
.alias
|
|
1182
1182
|
.as_ref()
|
|
@@ -1184,7 +1184,7 @@ fn extract_subquery_to_cte(
|
|
|
1184
1184
|
.unwrap_or_default();
|
|
1185
1185
|
|
|
1186
1186
|
// Check for duplicate subquery (reuse existing CTE)
|
|
1187
|
-
if let Some(existing_name) = seen_sql.get(&
|
|
1187
|
+
if let Some(existing_name) = seen_sql.get(&subquery_key) {
|
|
1188
1188
|
let mut tref = TableRef::new(existing_name.as_str());
|
|
1189
1189
|
if !alias_name.is_empty() {
|
|
1190
1190
|
tref.alias = Some(Identifier::new(&alias_name));
|
|
@@ -1199,7 +1199,7 @@ fn extract_subquery_to_cte(
|
|
|
1199
1199
|
find_new_name(taken, "_cte")
|
|
1200
1200
|
};
|
|
1201
1201
|
taken.insert(cte_name.clone());
|
|
1202
|
-
seen_sql.insert(
|
|
1202
|
+
seen_sql.insert(subquery_key, cte_name.clone());
|
|
1203
1203
|
|
|
1204
1204
|
// Create CTE
|
|
1205
1205
|
new_ctes.push(Cte {
|
|
@@ -1223,6 +1223,22 @@ fn extract_subquery_to_cte(
|
|
|
1223
1223
|
}
|
|
1224
1224
|
}
|
|
1225
1225
|
|
|
1226
|
+
fn subquery_identity_key(expr: &Expression) -> String {
|
|
1227
|
+
#[cfg(feature = "generate")]
|
|
1228
|
+
{
|
|
1229
|
+
crate::generator::Generator::sql(expr).unwrap_or_else(|_| structural_subquery_key(expr))
|
|
1230
|
+
}
|
|
1231
|
+
|
|
1232
|
+
#[cfg(not(feature = "generate"))]
|
|
1233
|
+
{
|
|
1234
|
+
structural_subquery_key(expr)
|
|
1235
|
+
}
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
fn structural_subquery_key(expr: &Expression) -> String {
|
|
1239
|
+
serde_json::to_string(expr).unwrap_or_else(|_| format!("{expr:?}"))
|
|
1240
|
+
}
|
|
1241
|
+
|
|
1226
1242
|
/// Unnest correlated subqueries where possible.
|
|
1227
1243
|
///
|
|
1228
1244
|
/// This transforms correlated subqueries into JOINs for better performance.
|
|
@@ -18529,12 +18529,9 @@ impl Parser {
|
|
|
18529
18529
|
|
|
18530
18530
|
let if_exists = self.match_keywords(&[TokenType::If, TokenType::Exists]);
|
|
18531
18531
|
|
|
18532
|
-
// Parse potentially qualified index name (a.b.c)
|
|
18533
|
-
|
|
18534
|
-
|
|
18535
|
-
name_parts.push(self.expect_identifier()?);
|
|
18536
|
-
}
|
|
18537
|
-
let name = Identifier::new(name_parts.join("."));
|
|
18532
|
+
// Parse potentially qualified index name (a.b.c), preserving quoted
|
|
18533
|
+
// state independently for every part.
|
|
18534
|
+
let name = self.parse_table_ref()?;
|
|
18538
18535
|
|
|
18539
18536
|
// Optional ON table
|
|
18540
18537
|
let table = if self.match_token(TokenType::On) {
|
|
@@ -60646,10 +60643,27 @@ OPTIONS (
|
|
|
60646
60643
|
|
|
60647
60644
|
if let Expression::DropIndex(di) = &result[0] {
|
|
60648
60645
|
assert!(di.if_exists);
|
|
60646
|
+
assert_eq!(di.name.name.name, "idx_email");
|
|
60647
|
+
assert!(!di.name.name.quoted);
|
|
60649
60648
|
assert!(di.table.is_some());
|
|
60650
60649
|
}
|
|
60651
60650
|
}
|
|
60652
60651
|
|
|
60652
|
+
#[test]
|
|
60653
|
+
fn test_parse_drop_index_preserves_qualified_quoted_name() {
|
|
60654
|
+
let result = Parser::parse_sql(r#"DROP INDEX IF EXISTS "public"."IdxEmail""#).unwrap();
|
|
60655
|
+
|
|
60656
|
+
if let Expression::DropIndex(di) = &result[0] {
|
|
60657
|
+
let schema = di.name.schema.as_ref().expect("schema");
|
|
60658
|
+
assert_eq!(schema.name, "public");
|
|
60659
|
+
assert!(schema.quoted);
|
|
60660
|
+
assert_eq!(di.name.name.name, "IdxEmail");
|
|
60661
|
+
assert!(di.name.name.quoted);
|
|
60662
|
+
} else {
|
|
60663
|
+
panic!("Expected DropIndex");
|
|
60664
|
+
}
|
|
60665
|
+
}
|
|
60666
|
+
|
|
60653
60667
|
#[test]
|
|
60654
60668
|
fn test_parse_create_view() {
|
|
60655
60669
|
let result =
|
|
@@ -330,6 +330,22 @@ mod ddl_tests {
|
|
|
330
330
|
roundtrip("DROP INDEX IF EXISTS idx"),
|
|
331
331
|
"DROP INDEX IF EXISTS idx"
|
|
332
332
|
);
|
|
333
|
+
assert_eq!(
|
|
334
|
+
transpile(
|
|
335
|
+
r#"DROP INDEX IF EXISTS "idx_tokenKey__pb_users_auth_""#,
|
|
336
|
+
DialectType::PostgreSQL,
|
|
337
|
+
DialectType::PostgreSQL
|
|
338
|
+
),
|
|
339
|
+
r#"DROP INDEX IF EXISTS "idx_tokenKey__pb_users_auth_""#
|
|
340
|
+
);
|
|
341
|
+
assert_eq!(
|
|
342
|
+
transpile(
|
|
343
|
+
"DROP INDEX IF EXISTS `idx_tokenKey__pb_users_auth_`",
|
|
344
|
+
DialectType::SQLite,
|
|
345
|
+
DialectType::PostgreSQL
|
|
346
|
+
),
|
|
347
|
+
r#"DROP INDEX IF EXISTS "idx_tokenKey__pb_users_auth_""#
|
|
348
|
+
);
|
|
333
349
|
}
|
|
334
350
|
|
|
335
351
|
#[test]
|
|
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.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/annotate_types.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/eliminate_ctes.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/eliminate_joins.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/isolate_table_selects.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/normalize_identifiers.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/optimize_joins.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/pushdown_predicates.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/pushdown_projections.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/src/optimizer/qualify_columns.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/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
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/clickhouse_regression.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/common/known_failures.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/custom_clickhouse_coverage.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/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
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/deep_nesting_regression.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/fabric_tpch_regression.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/issue201_regression_test.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/postgres_sqlite_regression.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/snowflake_regression_test.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/sqlglot_dialect_identity.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql/tests/sqlglot_identity_detailed.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/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
|
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-function-catalogs/src/clickhouse.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/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
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/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.4.0 → polyglot_sql-0.4.1}/crates/polyglot-sql-python/tests/test_transforms.py
RENAMED
|
File without changes
|
{polyglot_sql-0.4.0 → polyglot_sql-0.4.1}/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
|