polyglot-sql 0.4.1__tar.gz → 0.4.2__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.1 → polyglot_sql-0.4.2}/Cargo.lock +5 -5
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/Cargo.toml +1 -1
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/PKG-INFO +1 -1
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/Cargo.toml +1 -1
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/bigquery.rs +32 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/lineage.rs +91 -5
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/openlineage.rs +39 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/parser.rs +50 -20
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/README.md +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/README.md +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/benches/in_list.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/benches/parsing.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/benches/rust_parsing.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/benches/transpile.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/examples/basic_usage.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/examples/bench_json.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/ast_transforms.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/builder.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/athena.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/clickhouse.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/cockroachdb.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/databricks.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/datafusion.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/doris.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/dremio.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/drill.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/druid.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/duckdb.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/dune.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/exasol.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/fabric.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/generic.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/hive.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/materialize.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/mod.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/mysql.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/oracle.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/postgres.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/presto.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/redshift.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/risingwave.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/singlestore.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/snowflake.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/solr.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/spark.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/sqlite.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/starrocks.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/tableau.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/teradata.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/tidb.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/trino.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/dialects/tsql.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/diff.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/error.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/expressions.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/function_catalog.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/function_registry.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/generator.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/helper.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/lib.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/annotate_types.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/canonicalize.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/eliminate_ctes.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/eliminate_joins.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/isolate_table_selects.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/mod.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/normalize.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/normalize_identifiers.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/optimize_joins.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/optimizer.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/pushdown_predicates.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/pushdown_projections.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/qualify_columns.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/qualify_tables.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/simplify.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/subquery.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/planner.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/resolver.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/schema.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/scope.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/time.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/tokens.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/transforms.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/traversal.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/trie.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/validation/tests.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/validation.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/analyze_failures.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/clickhouse_regression.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/common/known_failures.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/common/mod.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/common/test_data.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/common/test_runner.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/custom_clickhouse_coverage.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/custom_clickhouse_parser.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/custom_dialect.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/custom_dialect_tests.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/custom_fixtures/datafusion/ddl.json +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/custom_fixtures/datafusion/dml.json +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/custom_fixtures/datafusion/functions.json +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/custom_fixtures/datafusion/identity.json +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/custom_fixtures/datafusion/operators.json +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/custom_fixtures/datafusion/select.json +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/custom_fixtures/datafusion/transpilation.json +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/custom_fixtures/datafusion/types.json +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/deep_nesting_regression.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/dialect_matrix.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/error_handling.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/fabric_regression.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/fabric_tpch_regression.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/identity_roundtrip.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/issue201_regression_test.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/postgres_sqlite_regression.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/snowflake_regression_test.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/sqlglot_compat.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/sqlglot_dialect_identity.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/sqlglot_identity.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/sqlglot_identity_detailed.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/sqlglot_parser.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/sqlglot_pretty.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/sqlglot_transpilation.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/sqlglot_transpile.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/tpch_transpile_stack.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/transform_regression.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/tsql_regression.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-function-catalogs/Cargo.toml +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-function-catalogs/README.md +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-function-catalogs/src/clickhouse.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-function-catalogs/src/duckdb.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-function-catalogs/src/lib.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-function-catalogs/tools/clickhouse/extract_functions.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-function-catalogs/tools/duckdb/extract_functions.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/Cargo.toml +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/README.md +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/docs/api.md +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/docs/index.md +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/mkdocs.yml +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/annotate_types.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/dialects.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/diff.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/errors.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/expr.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/expr_types.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/format.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/generate.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/helpers.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/lib.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/lineage.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/openlineage.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/optimize.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/parse.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/tokenize.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/transforms.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/transpile.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/types.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/src/validate.rs +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/tests/conftest.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/tests/test_compat.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/tests/test_dialects.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/tests/test_diff.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/tests/test_expression.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/tests/test_format.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/tests/test_generate.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/tests/test_lineage.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/tests/test_optimize.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/tests/test_parse.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/tests/test_transforms.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/tests/test_transpile.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/tests/test_validate.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/uv.lock +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/pyproject.toml +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/python/polyglot_sql/__init__.py +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/python/polyglot_sql/__init__.pyi +0 -0
- {polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/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.2"
|
|
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.2"
|
|
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.2"
|
|
635
635
|
|
|
636
636
|
[[package]]
|
|
637
637
|
name = "polyglot-sql-python"
|
|
638
|
-
version = "0.4.
|
|
638
|
+
version = "0.4.2"
|
|
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.2"
|
|
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.4.
|
|
109
|
+
polyglot-sql-function-catalogs = { path = "../polyglot-sql-function-catalogs", version = "0.4.2", optional = true, default-features = false }
|
|
110
110
|
|
|
111
111
|
[dev-dependencies]
|
|
112
112
|
pretty_assertions = "1.4"
|
|
@@ -1587,6 +1587,38 @@ mod tests {
|
|
|
1587
1587
|
assert_eq!(result, expected, "SQL: {}", sql);
|
|
1588
1588
|
}
|
|
1589
1589
|
|
|
1590
|
+
#[test]
|
|
1591
|
+
fn test_safe_namespace_parses_as_function() {
|
|
1592
|
+
let expr = parse_one(
|
|
1593
|
+
"SELECT SAFE.PARSE_JSON(data) AS json_data FROM t",
|
|
1594
|
+
DialectType::BigQuery,
|
|
1595
|
+
)
|
|
1596
|
+
.expect("parse");
|
|
1597
|
+
|
|
1598
|
+
let Expression::Select(select) = expr else {
|
|
1599
|
+
panic!("expected SELECT");
|
|
1600
|
+
};
|
|
1601
|
+
let Expression::Alias(alias) = &select.expressions[0] else {
|
|
1602
|
+
panic!("expected alias");
|
|
1603
|
+
};
|
|
1604
|
+
let Expression::Function(function) = &alias.this else {
|
|
1605
|
+
panic!("expected SAFE namespace call to parse as Function");
|
|
1606
|
+
};
|
|
1607
|
+
|
|
1608
|
+
assert_eq!(function.name, "SAFE.PARSE_JSON");
|
|
1609
|
+
assert_eq!(function.args.len(), 1);
|
|
1610
|
+
}
|
|
1611
|
+
|
|
1612
|
+
#[test]
|
|
1613
|
+
fn test_safe_namespace_identity() {
|
|
1614
|
+
bigquery_identity("SAFE.PARSE_JSON(data)", "SAFE.PARSE_JSON(data)");
|
|
1615
|
+
bigquery_identity(
|
|
1616
|
+
"SAFE.PARSE_DATE('%Y-%m-%d', date_col)",
|
|
1617
|
+
"SAFE.PARSE_DATE('%F', date_col)",
|
|
1618
|
+
);
|
|
1619
|
+
bigquery_identity("SAFE.DIVIDE(a, b)", "SAFE.DIVIDE(a, b)");
|
|
1620
|
+
}
|
|
1621
|
+
|
|
1590
1622
|
#[test]
|
|
1591
1623
|
fn test_cast_char_to_string() {
|
|
1592
1624
|
bigquery_identity("CAST(x AS CHAR)", "CAST(x AS STRING)");
|
|
@@ -714,7 +714,7 @@ fn to_node_inner(
|
|
|
714
714
|
}
|
|
715
715
|
|
|
716
716
|
// 7. Column references — trace each column to its source
|
|
717
|
-
let col_refs = find_column_refs_in_expr(&select_expr);
|
|
717
|
+
let col_refs = find_column_refs_in_expr(&select_expr, dialect);
|
|
718
718
|
for col_ref in col_refs {
|
|
719
719
|
let col_name = &col_ref.column;
|
|
720
720
|
if let Some(ref table_id) = col_ref.table {
|
|
@@ -1265,13 +1265,30 @@ struct SimpleColumnRef {
|
|
|
1265
1265
|
}
|
|
1266
1266
|
|
|
1267
1267
|
/// Find all column references in an expression (does not recurse into subqueries).
|
|
1268
|
-
fn find_column_refs_in_expr(
|
|
1268
|
+
fn find_column_refs_in_expr(
|
|
1269
|
+
expr: &Expression,
|
|
1270
|
+
dialect: Option<DialectType>,
|
|
1271
|
+
) -> Vec<SimpleColumnRef> {
|
|
1269
1272
|
let mut refs = Vec::new();
|
|
1270
|
-
collect_column_refs(expr, &mut refs);
|
|
1273
|
+
collect_column_refs(expr, dialect, &mut refs);
|
|
1271
1274
|
refs
|
|
1272
1275
|
}
|
|
1273
1276
|
|
|
1274
|
-
fn
|
|
1277
|
+
fn is_bigquery_safe_namespace_receiver(expr: &Expression) -> bool {
|
|
1278
|
+
match expr {
|
|
1279
|
+
Expression::Column(col) => {
|
|
1280
|
+
col.table.is_none() && !col.name.quoted && col.name.name.eq_ignore_ascii_case("SAFE")
|
|
1281
|
+
}
|
|
1282
|
+
Expression::Identifier(id) => !id.quoted && id.name.eq_ignore_ascii_case("SAFE"),
|
|
1283
|
+
_ => false,
|
|
1284
|
+
}
|
|
1285
|
+
}
|
|
1286
|
+
|
|
1287
|
+
fn collect_column_refs(
|
|
1288
|
+
expr: &Expression,
|
|
1289
|
+
dialect: Option<DialectType>,
|
|
1290
|
+
refs: &mut Vec<SimpleColumnRef>,
|
|
1291
|
+
) {
|
|
1275
1292
|
let mut stack: Vec<&Expression> = vec![expr];
|
|
1276
1293
|
|
|
1277
1294
|
while let Some(current) = stack.pop() {
|
|
@@ -1638,7 +1655,11 @@ fn collect_column_refs(expr: &Expression, refs: &mut Vec<SimpleColumnRef>) {
|
|
|
1638
1655
|
stack.push(&d.this);
|
|
1639
1656
|
}
|
|
1640
1657
|
Expression::MethodCall(m) => {
|
|
1641
|
-
|
|
1658
|
+
if !matches!(dialect, Some(DialectType::BigQuery))
|
|
1659
|
+
|| !is_bigquery_safe_namespace_receiver(&m.this)
|
|
1660
|
+
{
|
|
1661
|
+
stack.push(&m.this);
|
|
1662
|
+
}
|
|
1642
1663
|
for arg in &m.args {
|
|
1643
1664
|
stack.push(arg);
|
|
1644
1665
|
}
|
|
@@ -2989,6 +3010,71 @@ mod tests {
|
|
|
2989
3010
|
);
|
|
2990
3011
|
}
|
|
2991
3012
|
|
|
3013
|
+
#[test]
|
|
3014
|
+
fn test_lineage_bigquery_safe_namespace_issue207() {
|
|
3015
|
+
let query = r#"
|
|
3016
|
+
WITH import_cte AS (
|
|
3017
|
+
SELECT timestamp, data, operation
|
|
3018
|
+
FROM `project`.`dataset`.`source_table`
|
|
3019
|
+
),
|
|
3020
|
+
transform_cte AS (
|
|
3021
|
+
SELECT
|
|
3022
|
+
timestamp,
|
|
3023
|
+
SAFE.PARSE_JSON(data) AS json_data
|
|
3024
|
+
FROM import_cte
|
|
3025
|
+
)
|
|
3026
|
+
SELECT json_data FROM transform_cte
|
|
3027
|
+
"#;
|
|
3028
|
+
let expr = parse_one(query, DialectType::BigQuery).expect("parse");
|
|
3029
|
+
let node = lineage("json_data", &expr, Some(DialectType::BigQuery), false)
|
|
3030
|
+
.expect("lineage should resolve SAFE.PARSE_JSON arguments");
|
|
3031
|
+
let names: Vec<_> = node.walk().map(|n| n.name.clone()).collect();
|
|
3032
|
+
|
|
3033
|
+
assert!(
|
|
3034
|
+
names.iter().any(|name| name == "source_table.data"),
|
|
3035
|
+
"expected source_table.data in lineage, got {names:?}"
|
|
3036
|
+
);
|
|
3037
|
+
assert!(
|
|
3038
|
+
!names
|
|
3039
|
+
.iter()
|
|
3040
|
+
.any(|name| name.eq_ignore_ascii_case("import_cte.safe")),
|
|
3041
|
+
"did not expect SAFE namespace receiver in lineage, got {names:?}"
|
|
3042
|
+
);
|
|
3043
|
+
}
|
|
3044
|
+
|
|
3045
|
+
#[test]
|
|
3046
|
+
fn test_lineage_bigquery_safe_namespace_method_call_guard() {
|
|
3047
|
+
let expr = parse("SELECT SAFE.PARSE_JSON(data) AS json_data FROM t");
|
|
3048
|
+
let node = lineage("json_data", &expr, Some(DialectType::BigQuery), false)
|
|
3049
|
+
.expect("lineage should resolve SAFE.PARSE_JSON arguments");
|
|
3050
|
+
let names: Vec<_> = node.walk().map(|n| n.name.clone()).collect();
|
|
3051
|
+
|
|
3052
|
+
assert!(
|
|
3053
|
+
names.iter().any(|name| name == "t.data"),
|
|
3054
|
+
"expected t.data in lineage, got {names:?}"
|
|
3055
|
+
);
|
|
3056
|
+
assert!(
|
|
3057
|
+
!names.iter().any(|name| name.eq_ignore_ascii_case("t.safe")),
|
|
3058
|
+
"did not expect SAFE namespace receiver in lineage, got {names:?}"
|
|
3059
|
+
);
|
|
3060
|
+
}
|
|
3061
|
+
|
|
3062
|
+
#[test]
|
|
3063
|
+
fn test_lineage_method_call_receiver_control() {
|
|
3064
|
+
let expr = parse("SELECT obj.METHOD(arg) AS out FROM t");
|
|
3065
|
+
let node = lineage("out", &expr, None, false).expect("lineage");
|
|
3066
|
+
let names: Vec<_> = node.walk().map(|n| n.name.clone()).collect();
|
|
3067
|
+
|
|
3068
|
+
assert!(
|
|
3069
|
+
names.iter().any(|name| name == "t.obj"),
|
|
3070
|
+
"expected ordinary method receiver to remain in lineage, got {names:?}"
|
|
3071
|
+
);
|
|
3072
|
+
assert!(
|
|
3073
|
+
names.iter().any(|name| name == "t.arg"),
|
|
3074
|
+
"expected method argument in lineage, got {names:?}"
|
|
3075
|
+
);
|
|
3076
|
+
}
|
|
3077
|
+
|
|
2992
3078
|
#[test]
|
|
2993
3079
|
fn test_lineage_upper_function() {
|
|
2994
3080
|
let expr = parse("SELECT UPPER(name) AS upper_name FROM users");
|
|
@@ -1126,6 +1126,45 @@ mod tests {
|
|
|
1126
1126
|
.all(|f| f.transformations[0].subtype == "TRANSFORMATION"));
|
|
1127
1127
|
}
|
|
1128
1128
|
|
|
1129
|
+
#[test]
|
|
1130
|
+
fn omits_bigquery_safe_namespace_from_column_lineage_issue207() {
|
|
1131
|
+
let mut opts = options();
|
|
1132
|
+
opts.dialect = DialectType::BigQuery;
|
|
1133
|
+
|
|
1134
|
+
let result = openlineage_column_lineage(
|
|
1135
|
+
r#"
|
|
1136
|
+
WITH import_cte AS (
|
|
1137
|
+
SELECT timestamp, data, operation
|
|
1138
|
+
FROM `project`.`dataset`.`source_table`
|
|
1139
|
+
),
|
|
1140
|
+
transform_cte AS (
|
|
1141
|
+
SELECT
|
|
1142
|
+
timestamp,
|
|
1143
|
+
SAFE.PARSE_JSON(data) AS json_data
|
|
1144
|
+
FROM import_cte
|
|
1145
|
+
)
|
|
1146
|
+
SELECT json_data FROM transform_cte
|
|
1147
|
+
"#,
|
|
1148
|
+
&opts,
|
|
1149
|
+
)
|
|
1150
|
+
.expect("lineage");
|
|
1151
|
+
let field = result.facet.fields.get("json_data").expect("json_data");
|
|
1152
|
+
|
|
1153
|
+
assert!(
|
|
1154
|
+
field.input_fields.iter().any(|input| input.field == "data"),
|
|
1155
|
+
"expected data input field, got {:?}",
|
|
1156
|
+
field.input_fields
|
|
1157
|
+
);
|
|
1158
|
+
assert!(
|
|
1159
|
+
!field
|
|
1160
|
+
.input_fields
|
|
1161
|
+
.iter()
|
|
1162
|
+
.any(|input| input.field.eq_ignore_ascii_case("safe")),
|
|
1163
|
+
"did not expect SAFE namespace as input field, got {:?}",
|
|
1164
|
+
field.input_fields
|
|
1165
|
+
);
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1129
1168
|
#[test]
|
|
1130
1169
|
fn emits_aggregation_column_lineage() {
|
|
1131
1170
|
let result =
|
|
@@ -619,6 +619,39 @@ impl Parser {
|
|
|
619
619
|
parser.parse()
|
|
620
620
|
}
|
|
621
621
|
|
|
622
|
+
fn is_bigquery_safe_namespace_receiver(expr: &Expression) -> bool {
|
|
623
|
+
match expr {
|
|
624
|
+
Expression::Column(col) => {
|
|
625
|
+
col.table.is_none()
|
|
626
|
+
&& !col.name.quoted
|
|
627
|
+
&& col.name.name.eq_ignore_ascii_case("SAFE")
|
|
628
|
+
}
|
|
629
|
+
Expression::Identifier(id) => !id.quoted && id.name.eq_ignore_ascii_case("SAFE"),
|
|
630
|
+
_ => false,
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
fn parse_method_call_expression(
|
|
635
|
+
&self,
|
|
636
|
+
this: Expression,
|
|
637
|
+
method: Identifier,
|
|
638
|
+
args: Vec<Expression>,
|
|
639
|
+
) -> Expression {
|
|
640
|
+
if matches!(
|
|
641
|
+
self.config.dialect,
|
|
642
|
+
Some(crate::dialects::DialectType::BigQuery)
|
|
643
|
+
) && Self::is_bigquery_safe_namespace_receiver(&this)
|
|
644
|
+
&& !method.quoted
|
|
645
|
+
{
|
|
646
|
+
return Expression::Function(Box::new(Function::new(
|
|
647
|
+
format!("SAFE.{}", method.name),
|
|
648
|
+
args,
|
|
649
|
+
)));
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
Expression::MethodCall(Box::new(MethodCall { this, method, args }))
|
|
653
|
+
}
|
|
654
|
+
|
|
622
655
|
/// Parse all remaining statements from the token stream.
|
|
623
656
|
///
|
|
624
657
|
/// Consumes tokens until the end of input, splitting on semicolons.
|
|
@@ -30471,18 +30504,15 @@ impl Parser {
|
|
|
30471
30504
|
self.parse_function_arguments()?
|
|
30472
30505
|
};
|
|
30473
30506
|
self.expect(TokenType::RParen)?;
|
|
30474
|
-
let
|
|
30475
|
-
|
|
30476
|
-
|
|
30477
|
-
|
|
30478
|
-
|
|
30479
|
-
|
|
30480
|
-
|
|
30481
|
-
|
|
30482
|
-
|
|
30483
|
-
method: col_ident,
|
|
30484
|
-
args,
|
|
30485
|
-
}));
|
|
30507
|
+
let this = Expression::boxed_column(Column {
|
|
30508
|
+
name: ident.clone(),
|
|
30509
|
+
table: None,
|
|
30510
|
+
join_mark: false,
|
|
30511
|
+
trailing_comments: Vec::new(),
|
|
30512
|
+
span: None,
|
|
30513
|
+
inferred_type: None,
|
|
30514
|
+
});
|
|
30515
|
+
let method_call = self.parse_method_call_expression(this, col_ident, args);
|
|
30486
30516
|
return self.maybe_parse_subscript(method_call);
|
|
30487
30517
|
}
|
|
30488
30518
|
|
|
@@ -32321,11 +32351,11 @@ impl Parser {
|
|
|
32321
32351
|
self.parse_expression_list()?
|
|
32322
32352
|
};
|
|
32323
32353
|
self.expect(TokenType::RParen)?;
|
|
32324
|
-
let method_call =
|
|
32325
|
-
|
|
32326
|
-
|
|
32354
|
+
let method_call = self.parse_method_call_expression(
|
|
32355
|
+
Expression::Identifier(Identifier::new(name)),
|
|
32356
|
+
col_ident,
|
|
32327
32357
|
args,
|
|
32328
|
-
|
|
32358
|
+
);
|
|
32329
32359
|
return self.maybe_parse_subscript(method_call);
|
|
32330
32360
|
}
|
|
32331
32361
|
|
|
@@ -37831,11 +37861,11 @@ impl Parser {
|
|
|
37831
37861
|
};
|
|
37832
37862
|
self.expect(TokenType::RParen)?;
|
|
37833
37863
|
// Create a method call expression (DotAccess with function call)
|
|
37834
|
-
expr =
|
|
37835
|
-
|
|
37836
|
-
|
|
37864
|
+
expr = self.parse_method_call_expression(
|
|
37865
|
+
expr,
|
|
37866
|
+
Identifier::new(field_name),
|
|
37837
37867
|
args,
|
|
37838
|
-
|
|
37868
|
+
);
|
|
37839
37869
|
} else {
|
|
37840
37870
|
let mut ident = Identifier::new(field_name);
|
|
37841
37871
|
if is_quoted {
|
|
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.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/annotate_types.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/eliminate_ctes.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/eliminate_joins.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/isolate_table_selects.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/normalize_identifiers.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/optimize_joins.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/pushdown_predicates.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/pushdown_projections.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/src/optimizer/qualify_columns.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/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
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/clickhouse_regression.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/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.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/custom_clickhouse_coverage.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/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.1 → polyglot_sql-0.4.2}/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.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/fabric_tpch_regression.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/issue201_regression_test.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/postgres_sqlite_regression.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/snowflake_regression_test.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/sqlglot_dialect_identity.rs
RENAMED
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/crates/polyglot-sql/tests/sqlglot_identity_detailed.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/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.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-function-catalogs/src/clickhouse.rs
RENAMED
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/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.1 → polyglot_sql-0.4.2}/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.1 → polyglot_sql-0.4.2}/crates/polyglot-sql-python/tests/test_transforms.py
RENAMED
|
File without changes
|
{polyglot_sql-0.4.1 → polyglot_sql-0.4.2}/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
|