polyglot-sql 0.5.8__tar.gz → 0.5.9__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.8 → polyglot_sql-0.5.9}/Cargo.lock +5 -5
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/Cargo.toml +1 -1
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/PKG-INFO +1 -1
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/Cargo.toml +1 -1
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/resolver.rs +92 -1
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/query_analysis.rs +99 -1
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_query_analysis.py +40 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/README.md +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/README.md +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/benches/in_list.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/benches/parsing.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/benches/rust_parsing.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/benches/transpile.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/examples/basic_usage.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/examples/bench_json.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/ast_json.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/ast_transforms.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/builder.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/athena.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/bigquery.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/clickhouse.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/cockroachdb.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/databricks.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/datafusion.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/doris.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/dremio.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/drill.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/druid.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/duckdb.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/dune.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/exasol.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/fabric.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/generic.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/hive.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/materialize.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/mod.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/mysql.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/oracle.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/postgres.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/presto.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/redshift.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/risingwave.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/singlestore.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/snowflake.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/solr.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/spark.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/sqlite.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/starrocks.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/tableau.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/teradata.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/tidb.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/trino.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/dialects/tsql.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/diff.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/error.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/expressions.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/function_catalog.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/function_registry.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/generator.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/helper.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/lib.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/lineage.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/openlineage.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/annotate_types.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/canonicalize.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/eliminate_ctes.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/eliminate_joins.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/isolate_table_selects.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/mod.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/normalize.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/normalize_identifiers.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/optimize_joins.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/optimizer.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/pushdown_predicates.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/pushdown_projections.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/qualify_columns.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/qualify_tables.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/simplify.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/subquery.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/parser.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/planner.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/query_analysis.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/schema.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/scope.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/time.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/tokens.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/transforms.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/traversal.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/trie.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/validation/tests.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/validation.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/analyze_failures.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/clickhouse_regression.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/common/known_failures.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/common/mod.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/common/test_data.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/common/test_runner.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/custom_clickhouse_coverage.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/custom_clickhouse_parser.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/custom_dialect.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/custom_dialect_tests.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/custom_fixtures/datafusion/ddl.json +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/custom_fixtures/datafusion/dml.json +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/custom_fixtures/datafusion/functions.json +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/custom_fixtures/datafusion/identity.json +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/custom_fixtures/datafusion/operators.json +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/custom_fixtures/datafusion/select.json +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/custom_fixtures/datafusion/transpilation.json +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/custom_fixtures/datafusion/types.json +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/data_type_api.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/deep_nesting_regression.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/dialect_matrix.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/error_handling.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/fabric_regression.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/fabric_tpch_regression.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/identity_roundtrip.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/issue201_regression_test.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/issue210_regression_test.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/issue226_regression_test.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/issue227_strict_unsupported.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/postgres_sqlite_regression.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/query_analysis_regression.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/snowflake_regression_test.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/sqlglot_compat.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/sqlglot_dialect_identity.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/sqlglot_identity.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/sqlglot_identity_detailed.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/sqlglot_parser.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/sqlglot_pretty.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/sqlglot_transpilation.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/sqlglot_transpile.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/tpch_transpile_stack.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/transform_regression.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/tsql_regression.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-function-catalogs/Cargo.toml +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-function-catalogs/README.md +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-function-catalogs/src/clickhouse.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-function-catalogs/src/duckdb.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-function-catalogs/src/lib.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-function-catalogs/tools/clickhouse/extract_functions.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-function-catalogs/tools/duckdb/extract_functions.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/Cargo.toml +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/README.md +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/docs/api.md +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/docs/index.md +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/mkdocs.yml +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/annotate_types.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/dialects.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/diff.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/errors.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/expr.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/expr_types.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/format.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/generate.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/helpers.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/lib.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/lineage.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/openlineage.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/optimize.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/parse.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/query_analysis.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/tokenize.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/transforms.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/transpile.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/types.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/src/validate.rs +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/conftest.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_compat.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_dialects.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_diff.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_expression.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_format.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_generate.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_lineage.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_optimize.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_parse.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_transforms.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_transpile.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_validate.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/uv.lock +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/pyproject.toml +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/python/polyglot_sql/__init__.py +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/python/polyglot_sql/__init__.pyi +0 -0
- {polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/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.9"
|
|
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.9"
|
|
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.9"
|
|
635
635
|
|
|
636
636
|
[[package]]
|
|
637
637
|
name = "polyglot-sql-python"
|
|
638
|
-
version = "0.5.
|
|
638
|
+
version = "0.5.9"
|
|
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.9"
|
|
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.9", optional = true, default-features = false }
|
|
110
110
|
|
|
111
111
|
[dev-dependencies]
|
|
112
112
|
pretty_assertions = "1.4"
|
|
@@ -173,7 +173,14 @@ impl<'a> Resolver<'a> {
|
|
|
173
173
|
|
|
174
174
|
/// Extract column names from a source expression
|
|
175
175
|
fn extract_columns_from_source(&self, source_info: &SourceInfo) -> ResolverResult<Vec<String>> {
|
|
176
|
-
|
|
176
|
+
self.get_source_columns_for_expression(&source_info.expression)
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
fn get_source_columns_for_expression(
|
|
180
|
+
&self,
|
|
181
|
+
expression: &Expression,
|
|
182
|
+
) -> ResolverResult<Vec<String>> {
|
|
183
|
+
let columns = match expression {
|
|
177
184
|
Expression::Table(table) => {
|
|
178
185
|
// For tables, try to get columns from schema.
|
|
179
186
|
// Build the fully qualified name (catalog.schema.table) to
|
|
@@ -211,6 +218,17 @@ impl<'a> Resolver<'a> {
|
|
|
211
218
|
}
|
|
212
219
|
Expression::Pivot(pivot) => self.get_pivot_output_columns(pivot),
|
|
213
220
|
Expression::Unpivot(unpivot) => self.get_unpivot_output_columns(unpivot),
|
|
221
|
+
Expression::Alias(alias) if matches!(&alias.this, Expression::Unnest(_)) => {
|
|
222
|
+
alias_output_columns(alias)
|
|
223
|
+
}
|
|
224
|
+
Expression::Alias(alias) => {
|
|
225
|
+
let columns = self.get_source_columns_for_expression(&alias.this)?;
|
|
226
|
+
apply_alias_columns(columns, &alias.column_aliases)
|
|
227
|
+
}
|
|
228
|
+
Expression::Unnest(unnest) => unnest_output_columns(unnest),
|
|
229
|
+
Expression::Lateral(lateral) => lateral_output_columns(lateral),
|
|
230
|
+
Expression::LateralView(lateral_view) => lateral_view_output_columns(lateral_view),
|
|
231
|
+
Expression::Paren(paren) => self.get_source_columns_for_expression(&paren.this)?,
|
|
214
232
|
_ => Vec::new(),
|
|
215
233
|
};
|
|
216
234
|
|
|
@@ -228,6 +246,11 @@ impl<'a> Resolver<'a> {
|
|
|
228
246
|
Expression::Intersect(intersect) => self.get_named_selects(&intersect.left),
|
|
229
247
|
Expression::Except(except) => self.get_named_selects(&except.left),
|
|
230
248
|
Expression::Subquery(subquery) => self.get_named_selects(&subquery.this),
|
|
249
|
+
Expression::Alias(alias) => {
|
|
250
|
+
let columns = self.get_named_selects(&alias.this);
|
|
251
|
+
apply_alias_columns(columns, &alias.column_aliases)
|
|
252
|
+
}
|
|
253
|
+
Expression::Paren(paren) => self.get_named_selects(&paren.this),
|
|
231
254
|
_ => Vec::new(),
|
|
232
255
|
}
|
|
233
256
|
}
|
|
@@ -351,6 +374,16 @@ impl<'a> Resolver<'a> {
|
|
|
351
374
|
Expression::Union(_) | Expression::Intersect(_) | Expression::Except(_) => self
|
|
352
375
|
.get_source_columns_from_set_op(source)
|
|
353
376
|
.unwrap_or_default(),
|
|
377
|
+
Expression::Alias(alias) if matches!(&alias.this, Expression::Unnest(_)) => {
|
|
378
|
+
alias_output_columns(alias)
|
|
379
|
+
}
|
|
380
|
+
Expression::Alias(alias) => {
|
|
381
|
+
let columns = self.get_source_output_columns(&alias.this);
|
|
382
|
+
apply_alias_columns(columns, &alias.column_aliases)
|
|
383
|
+
}
|
|
384
|
+
Expression::Unnest(unnest) => unnest_output_columns(unnest),
|
|
385
|
+
Expression::Lateral(lateral) => lateral_output_columns(lateral),
|
|
386
|
+
Expression::LateralView(lateral_view) => lateral_view_output_columns(lateral_view),
|
|
354
387
|
Expression::Cte(cte) => {
|
|
355
388
|
if cte.columns.is_empty() {
|
|
356
389
|
self.get_named_selects(&cte.this)
|
|
@@ -383,6 +416,11 @@ impl<'a> Resolver<'a> {
|
|
|
383
416
|
Ok(self.get_named_selects(&subquery.this))
|
|
384
417
|
}
|
|
385
418
|
}
|
|
419
|
+
Expression::Alias(alias) => {
|
|
420
|
+
let columns = self.get_source_columns_from_set_op(&alias.this)?;
|
|
421
|
+
Ok(apply_alias_columns(columns, &alias.column_aliases))
|
|
422
|
+
}
|
|
423
|
+
Expression::Paren(paren) => self.get_source_columns_from_set_op(&paren.this),
|
|
386
424
|
Expression::Union(union) => {
|
|
387
425
|
// Standard UNION: columns come from the left side
|
|
388
426
|
self.get_source_columns_from_set_op(&union.left)
|
|
@@ -540,6 +578,59 @@ fn apply_alias_columns(mut columns: Vec<String>, alias_columns: &[Identifier]) -
|
|
|
540
578
|
columns
|
|
541
579
|
}
|
|
542
580
|
|
|
581
|
+
fn unnest_output_columns(unnest: &crate::expressions::UnnestFunc) -> Vec<String> {
|
|
582
|
+
unnest
|
|
583
|
+
.alias
|
|
584
|
+
.iter()
|
|
585
|
+
.map(|alias| alias.name.clone())
|
|
586
|
+
.chain(unnest.offset_alias.iter().map(|alias| alias.name.clone()))
|
|
587
|
+
.collect()
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
fn alias_output_columns(alias: &crate::expressions::Alias) -> Vec<String> {
|
|
591
|
+
if alias.column_aliases.is_empty() {
|
|
592
|
+
vec![alias.alias.name.clone()]
|
|
593
|
+
} else {
|
|
594
|
+
alias
|
|
595
|
+
.column_aliases
|
|
596
|
+
.iter()
|
|
597
|
+
.map(|column| column.name.clone())
|
|
598
|
+
.collect()
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
fn lateral_output_columns(lateral: &crate::expressions::Lateral) -> Vec<String> {
|
|
603
|
+
if lateral.column_aliases.is_empty() {
|
|
604
|
+
default_virtual_output_columns(&lateral.this)
|
|
605
|
+
} else {
|
|
606
|
+
lateral.column_aliases.clone()
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
fn lateral_view_output_columns(lateral_view: &crate::expressions::LateralView) -> Vec<String> {
|
|
611
|
+
lateral_view
|
|
612
|
+
.column_aliases
|
|
613
|
+
.iter()
|
|
614
|
+
.map(|column| column.name.clone())
|
|
615
|
+
.collect()
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
fn default_virtual_output_columns(expression: &Expression) -> Vec<String> {
|
|
619
|
+
match expression {
|
|
620
|
+
Expression::Unnest(unnest) => unnest_output_columns(unnest),
|
|
621
|
+
Expression::Alias(alias) if matches!(&alias.this, Expression::Unnest(_)) => {
|
|
622
|
+
alias_output_columns(alias)
|
|
623
|
+
}
|
|
624
|
+
Expression::Function(function) if function.name.eq_ignore_ascii_case("FLATTEN") => {
|
|
625
|
+
["seq", "key", "path", "index", "value", "this"]
|
|
626
|
+
.into_iter()
|
|
627
|
+
.map(String::from)
|
|
628
|
+
.collect()
|
|
629
|
+
}
|
|
630
|
+
_ => Vec::new(),
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
|
|
543
634
|
fn pivot_excluded_source_columns(
|
|
544
635
|
pivot: &crate::expressions::Pivot,
|
|
545
636
|
dialect: Option<DialectType>,
|
|
@@ -609,6 +609,32 @@ fn analyze_query_reports_base_tables_inside_derived_table_set_operation() {
|
|
|
609
609
|
.any(|relation| relation.name == "u" && relation.kind == SourceKind::DerivedTable));
|
|
610
610
|
}
|
|
611
611
|
|
|
612
|
+
fn single_column_schema(table_names: &[&str], column_name: &str) -> ValidationSchema {
|
|
613
|
+
let tables: Vec<_> = table_names
|
|
614
|
+
.iter()
|
|
615
|
+
.map(|name| {
|
|
616
|
+
json!({
|
|
617
|
+
"name": name,
|
|
618
|
+
"columns": [{"name": column_name, "type": "INT"}]
|
|
619
|
+
})
|
|
620
|
+
})
|
|
621
|
+
.collect();
|
|
622
|
+
|
|
623
|
+
serde_json::from_value(json!({ "tables": tables })).unwrap()
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
fn unnest_analysis_schema() -> ValidationSchema {
|
|
627
|
+
serde_json::from_value(json!({
|
|
628
|
+
"tables": [
|
|
629
|
+
{
|
|
630
|
+
"name": "t",
|
|
631
|
+
"columns": [{"name": "arr", "type": "INT"}]
|
|
632
|
+
}
|
|
633
|
+
]
|
|
634
|
+
}))
|
|
635
|
+
.unwrap()
|
|
636
|
+
}
|
|
637
|
+
|
|
612
638
|
#[test]
|
|
613
639
|
fn analyze_query_resolves_nested_set_operation_inside_derived_table() {
|
|
614
640
|
let analysis = analyze_query(
|
|
@@ -616,7 +642,7 @@ fn analyze_query_resolves_nested_set_operation_inside_derived_table() {
|
|
|
616
642
|
UNION ALL SELECT v FROM t3) u",
|
|
617
643
|
AnalyzeQueryOptions {
|
|
618
644
|
dialect: DialectType::DuckDB,
|
|
619
|
-
schema:
|
|
645
|
+
schema: Some(single_column_schema(&["t1", "t2", "t3"], "v")),
|
|
620
646
|
},
|
|
621
647
|
)
|
|
622
648
|
.unwrap();
|
|
@@ -638,6 +664,78 @@ fn analyze_query_resolves_nested_set_operation_inside_derived_table() {
|
|
|
638
664
|
assert_eq!(base_table_names, vec!["t1", "t2", "t3"]);
|
|
639
665
|
}
|
|
640
666
|
|
|
667
|
+
#[test]
|
|
668
|
+
fn analyze_query_resolves_mixed_nested_set_operation_arm_inside_derived_table() {
|
|
669
|
+
let analysis = analyze_query(
|
|
670
|
+
"SELECT v FROM (SELECT v FROM t0 UNION ALL \
|
|
671
|
+
(SELECT v FROM t1 UNION ALL SELECT v FROM t2)) u",
|
|
672
|
+
AnalyzeQueryOptions {
|
|
673
|
+
dialect: DialectType::DuckDB,
|
|
674
|
+
schema: Some(single_column_schema(&["t0", "t1", "t2"], "v")),
|
|
675
|
+
},
|
|
676
|
+
)
|
|
677
|
+
.unwrap();
|
|
678
|
+
|
|
679
|
+
let upstream_tables: Vec<_> = analysis.projections[0]
|
|
680
|
+
.upstream
|
|
681
|
+
.iter()
|
|
682
|
+
.filter_map(|reference| reference.table.as_deref())
|
|
683
|
+
.collect();
|
|
684
|
+
assert!(upstream_tables.contains(&"t0"));
|
|
685
|
+
assert!(upstream_tables.contains(&"t1"));
|
|
686
|
+
assert!(upstream_tables.contains(&"t2"));
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
#[test]
|
|
690
|
+
fn analyze_query_resolves_nested_set_operation_inside_cte_with_schema() {
|
|
691
|
+
let analysis = analyze_query(
|
|
692
|
+
"WITH c AS (SELECT v FROM ((SELECT v FROM t1 UNION ALL SELECT v FROM t2) \
|
|
693
|
+
UNION ALL SELECT v FROM t3) u) SELECT v FROM c",
|
|
694
|
+
AnalyzeQueryOptions {
|
|
695
|
+
dialect: DialectType::DuckDB,
|
|
696
|
+
schema: Some(single_column_schema(&["t1", "t2", "t3"], "v")),
|
|
697
|
+
},
|
|
698
|
+
)
|
|
699
|
+
.unwrap();
|
|
700
|
+
|
|
701
|
+
let upstream_tables: Vec<_> = analysis.projections[0]
|
|
702
|
+
.upstream
|
|
703
|
+
.iter()
|
|
704
|
+
.filter_map(|reference| reference.table.as_deref())
|
|
705
|
+
.collect();
|
|
706
|
+
assert!(upstream_tables.contains(&"t1"));
|
|
707
|
+
assert!(upstream_tables.contains(&"t2"));
|
|
708
|
+
assert!(upstream_tables.contains(&"t3"));
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
#[test]
|
|
712
|
+
fn analyze_query_resolves_unnest_virtual_output_aliases_with_schema() {
|
|
713
|
+
for sql in [
|
|
714
|
+
"SELECT i FROM t, UNNEST(t.arr) AS i",
|
|
715
|
+
"SELECT i FROM t, UNNEST(t.arr) AS u(i)",
|
|
716
|
+
"SELECT u.i FROM t, UNNEST(t.arr) AS u(i)",
|
|
717
|
+
] {
|
|
718
|
+
let analysis = analyze_query(
|
|
719
|
+
sql,
|
|
720
|
+
AnalyzeQueryOptions {
|
|
721
|
+
dialect: DialectType::DuckDB,
|
|
722
|
+
schema: Some(unnest_analysis_schema()),
|
|
723
|
+
},
|
|
724
|
+
)
|
|
725
|
+
.unwrap_or_else(|error| panic!("analyze_query failed for {sql:?}: {error}"));
|
|
726
|
+
|
|
727
|
+
assert!(
|
|
728
|
+
analysis.projections[0]
|
|
729
|
+
.upstream
|
|
730
|
+
.iter()
|
|
731
|
+
.any(|reference| reference.table.as_deref() == Some("t")
|
|
732
|
+
&& reference.column == "arr"),
|
|
733
|
+
"expected t.arr upstream for {sql:?}, got {:?}",
|
|
734
|
+
analysis.projections[0].upstream
|
|
735
|
+
);
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
|
|
641
739
|
#[test]
|
|
642
740
|
fn analyze_query_resolves_same_select_alias_reference() {
|
|
643
741
|
let analysis = analyze_query(
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_query_analysis.py
RENAMED
|
@@ -148,6 +148,46 @@ def test_analyze_query_resolves_pivot_alias_columns():
|
|
|
148
148
|
)
|
|
149
149
|
|
|
150
150
|
|
|
151
|
+
def test_analyze_query_resolves_nested_set_operation_with_schema():
|
|
152
|
+
result = polyglot_sql.analyze_query(
|
|
153
|
+
"SELECT v FROM ((SELECT v FROM t1 UNION ALL SELECT v FROM t2) "
|
|
154
|
+
"UNION ALL SELECT v FROM t3) u",
|
|
155
|
+
{
|
|
156
|
+
"dialect": "duckdb",
|
|
157
|
+
"schema": {
|
|
158
|
+
"tables": [
|
|
159
|
+
{"name": "t1", "columns": [{"name": "v", "type": "INT"}]},
|
|
160
|
+
{"name": "t2", "columns": [{"name": "v", "type": "INT"}]},
|
|
161
|
+
{"name": "t3", "columns": [{"name": "v", "type": "INT"}]},
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
)
|
|
166
|
+
|
|
167
|
+
upstream = result["projections"][0]["upstream"]
|
|
168
|
+
assert {reference["table"] for reference in upstream} == {"t1", "t2", "t3"}
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
def test_analyze_query_resolves_unnest_output_alias_with_schema():
|
|
172
|
+
result = polyglot_sql.analyze_query(
|
|
173
|
+
"SELECT i FROM t, UNNEST(t.arr) AS i",
|
|
174
|
+
{
|
|
175
|
+
"dialect": "duckdb",
|
|
176
|
+
"schema": {
|
|
177
|
+
"tables": [
|
|
178
|
+
{"name": "t", "columns": [{"name": "arr", "type": "INT"}]},
|
|
179
|
+
]
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
)
|
|
183
|
+
|
|
184
|
+
upstream = result["projections"][0]["upstream"]
|
|
185
|
+
assert any(
|
|
186
|
+
reference["table"] == "t" and reference["column"] == "arr"
|
|
187
|
+
for reference in upstream
|
|
188
|
+
)
|
|
189
|
+
|
|
190
|
+
|
|
151
191
|
def test_analyze_query_unknown_dialect_raises_value_error():
|
|
152
192
|
with pytest.raises(ValueError):
|
|
153
193
|
polyglot_sql.analyze_query("SELECT 1", dialect="not_a_dialect")
|
|
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
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/annotate_types.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/eliminate_ctes.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/eliminate_joins.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/isolate_table_selects.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/normalize_identifiers.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/optimize_joins.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/pushdown_predicates.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/pushdown_projections.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/src/optimizer/qualify_columns.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/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.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/clickhouse_regression.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/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.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/custom_clickhouse_coverage.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/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.8 → polyglot_sql-0.5.9}/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.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/fabric_tpch_regression.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/issue201_regression_test.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/issue210_regression_test.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/issue226_regression_test.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/issue227_strict_unsupported.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/postgres_sqlite_regression.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/query_analysis_regression.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/snowflake_regression_test.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/sqlglot_dialect_identity.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql/tests/sqlglot_identity_detailed.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/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.5.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-function-catalogs/src/clickhouse.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/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.8 → polyglot_sql-0.5.9}/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.8 → polyglot_sql-0.5.9}/crates/polyglot-sql-python/tests/test_transforms.py
RENAMED
|
File without changes
|
{polyglot_sql-0.5.8 → polyglot_sql-0.5.9}/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
|