polyglot-sql 0.13.3__tar.gz → 0.13.4__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.13.3 → polyglot_sql-0.13.4}/Cargo.lock +6 -6
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/Cargo.toml +1 -1
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/PKG-INFO +1 -1
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/Cargo.toml +2 -2
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/README.md +4 -4
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/clickhouse.rs +3 -2
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/mod.rs +5 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/normalization/statements.rs +19 -7
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/expressions.rs +11 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/generator.rs +509 -82
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/parser.rs +732 -109
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/query_analysis/column_uses.rs +17 -9
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/scope.rs +95 -4
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/tokens.rs +10 -2
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/deep_nesting_regression.rs +18 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/dialect_matrix.rs +138 -0
- polyglot_sql-0.13.4/crates/polyglot-sql/tests/duckdb_json_arrow_context.rs +398 -0
- polyglot_sql-0.13.4/crates/polyglot-sql/tests/duckdb_unreserved_relation_aliases.rs +98 -0
- polyglot_sql-0.13.4/crates/polyglot-sql/tests/is_predicate_precedence.rs +288 -0
- polyglot_sql-0.13.4/crates/polyglot-sql/tests/numeric_exponent_boundaries.rs +45 -0
- polyglot_sql-0.13.4/crates/polyglot-sql/tests/query_analysis_regression.rs +418 -0
- polyglot_sql-0.13.4/crates/polyglot-sql/tests/quoted_relation_columns.rs +250 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-function-catalogs/README.md +1 -1
- polyglot_sql-0.13.3/crates/polyglot-sql/tests/query_analysis_regression.rs +0 -201
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/README.md +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/benches/allocation_hotspots.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/benches/ast_traversal.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/benches/common/mod.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/benches/in_list.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/benches/lineage.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/benches/parsing.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/benches/performance_hotspots.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/benches/rust_parsing.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/benches/transpile.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/examples/basic_usage.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/examples/bench_json.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/ast_children.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/ast_json.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/ast_mutation.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/ast_transforms.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/binding.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/builder/mod.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/builder/plan.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/athena.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/bigquery.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/cockroachdb.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/databricks.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/datafusion.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/doris.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/dremio.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/drill.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/druid.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/duckdb.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/dune.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/exasol.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/fabric.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/generic.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/hana.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/hive.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/materialize.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/mysql.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/normalization/aggregates.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/normalization/collections.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/normalization/duckdb.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/normalization/hana.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/normalization/json.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/normalization/mod.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/normalization/operators.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/normalization/postgres_interval.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/normalization/scalar.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/normalization/temporal.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/normalization/types.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/normalization/vertica.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/oracle.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/postgres.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/presto.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/redshift.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/risingwave.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/singlestore.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/snowflake.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/solr.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/spark.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/sqlite.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/starrocks.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/tableau.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/teradata.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/tidb.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/trino.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/tsql.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/dialects/vertica.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/diff.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/error.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/format_tokens.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/function_catalog.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/function_registry.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/guard.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/helper.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/lib.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/lineage.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/openlineage.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/annotate_types.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/canonicalize.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/eliminate_ctes.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/eliminate_joins.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/isolate_table_selects.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/mod.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/normalize.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/normalize_identifiers.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/optimize_joins.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/optimizer.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/pushdown_predicates.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/pushdown_projections.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/qualify_columns.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/qualify_tables.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/set_operation_types.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/simplify.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/optimizer/subquery.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/planner.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/query_analysis.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/resolver.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/schema.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/set_operation.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/time.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/transforms.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/traversal.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/trie.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/validation/semantics.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/validation/tests.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/src/validation.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/analyze_failures.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/clickhouse_regression.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/common/known_failures.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/common/mod.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/common/test_data.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/common/test_runner.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/create_view_security_comment_regression.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_clickhouse_coverage.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_clickhouse_parser.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_dialect.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_dialect_tests.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/datafusion/ddl.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/datafusion/dml.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/datafusion/functions.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/datafusion/identity.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/datafusion/operators.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/datafusion/select.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/datafusion/transpilation.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/datafusion/types.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/hana/ddl.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/hana/dml.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/hana/functions.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/hana/identity.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/hana/select.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/hana/types.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/vertica/identity.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/vertica/transpilation.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/custom_fixtures/vertica/types.json +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/data_type_api.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/duckdb_integer_division.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/duckdb_order_by_all.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/error_handling.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/fabric_regression.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/fabric_tpch_regression.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/identity_roundtrip.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/mod_precedence.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/oracle_data_types_regression.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/postgres_explain_options.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/postgres_regexp_clickhouse.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/postgres_sqlite_regression.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/query_analysis.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/snowflake_regression_test.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/sqlglot_compat.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/sqlglot_dialect_identity.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/sqlglot_identity.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/sqlglot_identity_detailed.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/sqlglot_parser.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/sqlglot_pretty.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/sqlglot_transpilation.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/sqlglot_transpile.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/tpch_transpile_stack.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/transform_regression.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql/tests/tsql_regression.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-ast-derive/Cargo.toml +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-ast-derive/src/lib.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-function-catalogs/Cargo.toml +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-function-catalogs/src/clickhouse.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-function-catalogs/src/duckdb.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-function-catalogs/src/lib.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-function-catalogs/tools/clickhouse/extract_functions.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-function-catalogs/tools/duckdb/extract_functions.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/Cargo.toml +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/README.md +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/docs/api.md +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/docs/index.md +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/mkdocs.yml +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/annotate_types.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/builders.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/dialects.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/diff.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/errors.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/expr.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/expr_types.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/format.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/generate.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/helpers.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/lib.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/lineage.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/openlineage.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/optimize.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/parse.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/query_analysis.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/tokenize.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/transforms.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/transpile.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/types.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/src/validate.rs +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/conftest.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_builders.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_compat.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_dialects.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_diff.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_duckdb_datafusion_execution.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_expression.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_format.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_generate.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_lineage.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_optimize.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_parse.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_query_analysis.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_transforms.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_transpile.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/tests/test_validate.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/crates/polyglot-sql-python/uv.lock +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/pyproject.toml +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/python/polyglot_sql/__init__.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/python/polyglot_sql/__init__.pyi +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/python/polyglot_sql/analysis_types.py +0 -0
- {polyglot_sql-0.13.3 → polyglot_sql-0.13.4}/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.13.
|
|
608
|
+
version = "0.13.4"
|
|
609
609
|
dependencies = [
|
|
610
610
|
"criterion",
|
|
611
611
|
"once_cell",
|
|
@@ -623,7 +623,7 @@ dependencies = [
|
|
|
623
623
|
|
|
624
624
|
[[package]]
|
|
625
625
|
name = "polyglot-sql-ast-derive"
|
|
626
|
-
version = "0.13.
|
|
626
|
+
version = "0.13.4"
|
|
627
627
|
dependencies = [
|
|
628
628
|
"proc-macro2",
|
|
629
629
|
"quote",
|
|
@@ -632,7 +632,7 @@ dependencies = [
|
|
|
632
632
|
|
|
633
633
|
[[package]]
|
|
634
634
|
name = "polyglot-sql-ffi"
|
|
635
|
-
version = "0.13.
|
|
635
|
+
version = "0.13.4"
|
|
636
636
|
dependencies = [
|
|
637
637
|
"cbindgen",
|
|
638
638
|
"polyglot-sql",
|
|
@@ -642,11 +642,11 @@ dependencies = [
|
|
|
642
642
|
|
|
643
643
|
[[package]]
|
|
644
644
|
name = "polyglot-sql-function-catalogs"
|
|
645
|
-
version = "0.13.
|
|
645
|
+
version = "0.13.4"
|
|
646
646
|
|
|
647
647
|
[[package]]
|
|
648
648
|
name = "polyglot-sql-python"
|
|
649
|
-
version = "0.13.
|
|
649
|
+
version = "0.13.4"
|
|
650
650
|
dependencies = [
|
|
651
651
|
"polyglot-sql",
|
|
652
652
|
"pyo3",
|
|
@@ -657,7 +657,7 @@ dependencies = [
|
|
|
657
657
|
|
|
658
658
|
[[package]]
|
|
659
659
|
name = "polyglot-sql-wasm"
|
|
660
|
-
version = "0.13.
|
|
660
|
+
version = "0.13.4"
|
|
661
661
|
dependencies = [
|
|
662
662
|
"console_error_panic_hook",
|
|
663
663
|
"js-sys",
|
|
@@ -103,14 +103,14 @@ function-catalog-all-dialects = [
|
|
|
103
103
|
]
|
|
104
104
|
|
|
105
105
|
[dependencies]
|
|
106
|
-
polyglot-sql-ast-derive = { path = "../polyglot-sql-ast-derive", version = "0.13.
|
|
106
|
+
polyglot-sql-ast-derive = { path = "../polyglot-sql-ast-derive", version = "0.13.4" }
|
|
107
107
|
serde = { workspace = true }
|
|
108
108
|
serde_json = { workspace = true }
|
|
109
109
|
thiserror = { workspace = true }
|
|
110
110
|
unicode-segmentation = { workspace = true }
|
|
111
111
|
stacker = { version = "0.1", optional = true }
|
|
112
112
|
ts-rs = { version = "12.0", features = ["serde-compat"], optional = true }
|
|
113
|
-
polyglot-sql-function-catalogs = { path = "../polyglot-sql-function-catalogs", version = "0.13.
|
|
113
|
+
polyglot-sql-function-catalogs = { path = "../polyglot-sql-function-catalogs", version = "0.13.4", optional = true, default-features = false }
|
|
114
114
|
|
|
115
115
|
[dev-dependencies]
|
|
116
116
|
pretty_assertions = "1.4"
|
|
@@ -25,12 +25,12 @@ By default, `polyglot-sql` enables the full public API. Parser-only consumers ca
|
|
|
25
25
|
disable default features and opt into only the dialect parsers they need:
|
|
26
26
|
|
|
27
27
|
```toml
|
|
28
|
-
polyglot-sql = { version = "0.13.
|
|
28
|
+
polyglot-sql = { version = "0.13.4", default-features = false }
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
```toml
|
|
32
32
|
polyglot-sql = {
|
|
33
|
-
version = "0.13.
|
|
33
|
+
version = "0.13.4",
|
|
34
34
|
default-features = false,
|
|
35
35
|
features = ["dialect-clickhouse"],
|
|
36
36
|
}
|
|
@@ -44,14 +44,14 @@ Examples:
|
|
|
44
44
|
```toml
|
|
45
45
|
# Parse and generate SQL for one dialect.
|
|
46
46
|
polyglot-sql = {
|
|
47
|
-
version = "0.13.
|
|
47
|
+
version = "0.13.4",
|
|
48
48
|
default-features = false,
|
|
49
49
|
features = ["generate", "dialect-clickhouse"],
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
# Cross-dialect transpilation.
|
|
53
53
|
polyglot-sql = {
|
|
54
|
-
version = "0.13.
|
|
54
|
+
version = "0.13.4",
|
|
55
55
|
default-features = false,
|
|
56
56
|
features = ["transpile", "dialect-clickhouse", "dialect-postgresql"],
|
|
57
57
|
}
|
|
@@ -111,6 +111,9 @@ impl DialectImpl for ClickHouseDialect {
|
|
|
111
111
|
|
|
112
112
|
let wrap_not_target = |expr: Expression| -> Expression {
|
|
113
113
|
match expr {
|
|
114
|
+
// The generator emits typed negated LIKE predicates directly.
|
|
115
|
+
// Keep that form stable when reparsing lowered notLike calls.
|
|
116
|
+
Expression::Like(_) | Expression::ILike(_) => expr,
|
|
114
117
|
Expression::Paren(_) => expr,
|
|
115
118
|
Expression::In(_)
|
|
116
119
|
| Expression::Between(_)
|
|
@@ -119,8 +122,6 @@ impl DialectImpl for ClickHouseDialect {
|
|
|
119
122
|
| Expression::IsTrue(_)
|
|
120
123
|
| Expression::IsFalse(_)
|
|
121
124
|
| Expression::IsJson(_)
|
|
122
|
-
| Expression::Like(_)
|
|
123
|
-
| Expression::ILike(_)
|
|
124
125
|
| Expression::SimilarTo(_)
|
|
125
126
|
| Expression::Glob(_)
|
|
126
127
|
| Expression::RegexpLike(_)
|
|
@@ -947,6 +947,8 @@ where
|
|
|
947
947
|
| Expression::BitwiseAnd(_)
|
|
948
948
|
| Expression::BitwiseOr(_)
|
|
949
949
|
| Expression::BitwiseXor(_)
|
|
950
|
+
| Expression::BitwiseLeftShift(_)
|
|
951
|
+
| Expression::BitwiseRightShift(_)
|
|
950
952
|
| Expression::Is(_)
|
|
951
953
|
| Expression::MemberOf(_)
|
|
952
954
|
| Expression::ArrayContainsAll(_)
|
|
@@ -2110,6 +2112,8 @@ where
|
|
|
2110
2112
|
Expression::BitwiseAnd(op) => transform_binary!(BitwiseAnd, *op),
|
|
2111
2113
|
Expression::BitwiseOr(op) => transform_binary!(BitwiseOr, *op),
|
|
2112
2114
|
Expression::BitwiseXor(op) => transform_binary!(BitwiseXor, *op),
|
|
2115
|
+
Expression::BitwiseLeftShift(op) => transform_binary!(BitwiseLeftShift, *op),
|
|
2116
|
+
Expression::BitwiseRightShift(op) => transform_binary!(BitwiseRightShift, *op),
|
|
2113
2117
|
Expression::Is(op) => transform_binary!(Is, *op),
|
|
2114
2118
|
|
|
2115
2119
|
// ===== TryCast / SafeCast =====
|
|
@@ -9201,6 +9205,7 @@ impl Dialect {
|
|
|
9201
9205
|
cross_apply: None,
|
|
9202
9206
|
ordinality: None,
|
|
9203
9207
|
column_aliases: vec![],
|
|
9208
|
+
column_aliases_quoted: vec![],
|
|
9204
9209
|
}));
|
|
9205
9210
|
|
|
9206
9211
|
// Remove the original join and add to FROM expressions
|
|
@@ -233,15 +233,27 @@ pub(super) fn normalize_root(expression: Expression, context: &NormalizationCont
|
|
|
233
233
|
});
|
|
234
234
|
for constraint in &mut ct.constraints {
|
|
235
235
|
if let crate::expressions::TableConstraint::PrimaryKey {
|
|
236
|
-
columns,
|
|
236
|
+
columns,
|
|
237
|
+
key_parts,
|
|
238
|
+
modifiers,
|
|
239
|
+
..
|
|
237
240
|
} = constraint
|
|
238
241
|
{
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
242
|
+
if key_parts.is_empty() {
|
|
243
|
+
// Older ASTs encoded order modifiers in column names.
|
|
244
|
+
for col in columns.iter_mut() {
|
|
245
|
+
if col.name.ends_with(" ASC") {
|
|
246
|
+
col.name = col.name[..col.name.len() - 4].to_string();
|
|
247
|
+
} else if col.name.ends_with(" DESC") {
|
|
248
|
+
col.name = col.name[..col.name.len() - 5].to_string();
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
} else {
|
|
252
|
+
// Structured key names are literal; only remove the
|
|
253
|
+
// sort modifiers, including for names ending in DESC.
|
|
254
|
+
for part in key_parts.iter_mut() {
|
|
255
|
+
part.asc = false;
|
|
256
|
+
part.desc = false;
|
|
245
257
|
}
|
|
246
258
|
}
|
|
247
259
|
// Strip TSQL-specific modifiers
|
|
@@ -8505,6 +8505,11 @@ pub enum TableConstraint {
|
|
|
8505
8505
|
PrimaryKey {
|
|
8506
8506
|
name: Option<Identifier>,
|
|
8507
8507
|
columns: Vec<Identifier>,
|
|
8508
|
+
/// Structured quoted, prefixed or ordered keys. When present these are
|
|
8509
|
+
/// authoritative for rendering; `columns` retains the column names.
|
|
8510
|
+
/// Older ASTs can encode prefix/order syntax directly in `columns`.
|
|
8511
|
+
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
|
8512
|
+
key_parts: Vec<IndexKeyPart>,
|
|
8508
8513
|
/// Databricks primary-key columns marked with the TIMESERIES attribute.
|
|
8509
8514
|
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
|
8510
8515
|
timeseries_columns: Vec<Identifier>,
|
|
@@ -8520,6 +8525,9 @@ pub enum TableConstraint {
|
|
|
8520
8525
|
Unique {
|
|
8521
8526
|
name: Option<Identifier>,
|
|
8522
8527
|
columns: Vec<Identifier>,
|
|
8528
|
+
/// Structured quoted, prefixed or ordered keys, as for `PrimaryKey`.
|
|
8529
|
+
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
|
8530
|
+
key_parts: Vec<IndexKeyPart>,
|
|
8523
8531
|
/// Whether columns are parenthesized (false for UNIQUE idx_name without parens)
|
|
8524
8532
|
#[serde(default)]
|
|
8525
8533
|
columns_parenthesized: bool,
|
|
@@ -11676,6 +11684,9 @@ pub struct Lateral {
|
|
|
11676
11684
|
/// Column aliases for the lateral expression (e.g., LATERAL func() AS alias(col1, col2))
|
|
11677
11685
|
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
|
11678
11686
|
pub column_aliases: Vec<String>,
|
|
11687
|
+
/// Quoting of each column alias, parallel to `column_aliases`.
|
|
11688
|
+
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
|
11689
|
+
pub column_aliases_quoted: Vec<bool>,
|
|
11679
11690
|
}
|
|
11680
11691
|
|
|
11681
11692
|
/// TableFromRows
|