sqlglot 27.16.1__tar.gz → 27.16.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.
- {sqlglot-27.16.1 → sqlglot-27.16.2}/CHANGELOG.md +6 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/PKG-INFO +1 -1
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/_version.py +3 -3
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/annotate_types.py +9 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot.egg-info/PKG-INFO +1 -1
- {sqlglot-27.16.1 → sqlglot-27.16.2}/.gitignore +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/.gitpod.yml +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/.pre-commit-config.yaml +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/CONTRIBUTING.md +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/LICENSE +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/MANIFEST.in +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/Makefile +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/README.md +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/pyproject.toml +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/setup.cfg +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/setup.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/__init__.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/__main__.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/_typing.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/__init__.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/athena.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/bigquery.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/clickhouse.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/databricks.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/dialect.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/doris.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/dremio.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/drill.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/druid.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/duckdb.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/dune.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/exasol.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/fabric.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/hive.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/materialize.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/mysql.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/oracle.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/postgres.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/presto.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/prql.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/redshift.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/risingwave.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/singlestore.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/snowflake.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/spark.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/spark2.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/sqlite.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/starrocks.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/tableau.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/teradata.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/trino.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/dialects/tsql.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/diff.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/errors.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/executor/__init__.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/executor/context.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/executor/env.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/executor/python.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/executor/table.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/expressions.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/generator.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/helper.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/jsonpath.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/lineage.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/__init__.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/canonicalize.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/eliminate_ctes.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/eliminate_joins.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/eliminate_subqueries.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/isolate_table_selects.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/merge_subqueries.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/normalize.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/normalize_identifiers.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/optimize_joins.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/optimizer.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/pushdown_predicates.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/pushdown_projections.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/qualify.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/qualify_columns.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/qualify_tables.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/scope.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/simplify.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/optimizer/unnest_subqueries.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/parser.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/planner.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/py.typed +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/schema.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/serde.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/time.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/tokens.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/transforms.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot/trie.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot.egg-info/SOURCES.txt +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot.egg-info/dependency_links.txt +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot.egg-info/requires.txt +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot.egg-info/top_level.txt +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglot.png +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglotrs/Cargo.lock +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglotrs/Cargo.toml +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglotrs/benches/dialect_settings.json +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglotrs/benches/long.rs +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglotrs/benches/token_type_settings.json +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglotrs/benches/tokenizer_dialect_settings.json +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglotrs/benches/tokenizer_settings.json +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglotrs/pyproject.toml +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglotrs/src/lib.rs +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglotrs/src/settings.rs +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglotrs/src/token.rs +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglotrs/src/tokenizer.rs +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/sqlglotrs/src/trie.rs +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/__init__.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/__init__.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_athena.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_bigquery.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_clickhouse.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_databricks.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_dialect.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_doris.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_dremio.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_drill.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_druid.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_duckdb.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_dune.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_exasol.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_fabric.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_hive.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_materialize.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_mysql.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_oracle.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_pipe_syntax.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_postgres.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_presto.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_prql.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_redshift.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_risingwave.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_singlestore.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_snowflake.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_spark.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_sqlite.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_starrocks.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_tableau.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_teradata.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_trino.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/dialects/test_tsql.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/identity.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/jsonpath/LICENSE +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/jsonpath/cts.json +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/annotate_functions.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/annotate_types.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/canonicalize.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/eliminate_ctes.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/eliminate_joins.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/eliminate_subqueries.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/isolate_table_selects.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/merge_subqueries.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/normalize.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/normalize_identifiers.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/optimize_joins.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/optimizer.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/pushdown_cte_alias_columns.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/pushdown_predicates.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/pushdown_projections.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/qualify_columns.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/qualify_columns__invalid.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/qualify_columns__with_invisible.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/qualify_columns_ddl.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/qualify_tables.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/quote_identifiers.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/simplify.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/call_center.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/catalog_page.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/catalog_returns.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/catalog_sales.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/customer.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/customer_address.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/date_dim.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/household_demographics.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/income_band.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/inventory.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/item.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/promotion.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/reason.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/ship_mode.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/store.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/store_returns.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/store_sales.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/time_dim.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/tpc-ds.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/warehouse.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/web_page.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/web_returns.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/web_sales.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/web_site.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-h/customer.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-h/lineitem.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-h/nation.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-h/orders.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-h/part.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-h/partsupp.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-h/region.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-h/supplier.csv.gz +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-h/tpc-h.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/unnest_subqueries.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/partial.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/pretty.sql +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/gen_fixtures.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/helpers.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_build.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_dialect_imports.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_diff.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_docs.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_executor.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_expressions.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_generator.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_helper.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_jsonpath.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_lineage.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_optimizer.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_parser.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_schema.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_serde.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_time.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_tokens.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_transforms.py +0 -0
- {sqlglot-27.16.1 → sqlglot-27.16.2}/tests/test_transpile.py +0 -0
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
## [v27.16.1] - 2025-09-18
|
|
5
|
+
### :bug: Bug Fixes
|
|
6
|
+
- [`0e256b3`](https://github.com/tobymao/sqlglot/commit/0e256b3f864bc2d026817bd08e89ee89f44ad256) - edge case with parsing `interval` as identifier *(commit by [@georgesittas](https://github.com/georgesittas))*
|
|
7
|
+
|
|
8
|
+
|
|
4
9
|
## [v27.16.0] - 2025-09-18
|
|
5
10
|
### :boom: BREAKING CHANGES
|
|
6
11
|
- due to [`5a973e9`](https://github.com/tobymao/sqlglot/commit/5a973e9a88fa7f522a9bf91dc60fb0f6effef53d) - annotate types for Snowflake AI_CLASSIFY function *(PR [#5909](https://github.com/tobymao/sqlglot/pull/5909) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*:
|
|
@@ -7375,3 +7380,4 @@ Changelog
|
|
|
7375
7380
|
[v27.15.2]: https://github.com/tobymao/sqlglot/compare/v27.15.1...v27.15.2
|
|
7376
7381
|
[v27.15.3]: https://github.com/tobymao/sqlglot/compare/v27.15.2...v27.15.3
|
|
7377
7382
|
[v27.16.0]: https://github.com/tobymao/sqlglot/compare/v27.15.3...v27.16.0
|
|
7383
|
+
[v27.16.1]: https://github.com/tobymao/sqlglot/compare/v27.16.0...v27.16.1
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '27.16.
|
|
32
|
-
__version_tuple__ = version_tuple = (27, 16,
|
|
31
|
+
__version__ = version = '27.16.2'
|
|
32
|
+
__version_tuple__ = version_tuple = (27, 16, 2)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g837890c7e'
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import functools
|
|
4
|
+
import logging
|
|
4
5
|
import typing as t
|
|
5
6
|
|
|
6
7
|
from sqlglot import exp
|
|
@@ -26,6 +27,8 @@ if t.TYPE_CHECKING:
|
|
|
26
27
|
|
|
27
28
|
from sqlglot.dialects.dialect import DialectType, AnnotatorsType
|
|
28
29
|
|
|
30
|
+
logger = logging.getLogger("sqlglot")
|
|
31
|
+
|
|
29
32
|
|
|
30
33
|
def annotate_types(
|
|
31
34
|
expression: E,
|
|
@@ -424,6 +427,12 @@ class TypeAnnotator(metaclass=_TypeAnnotator):
|
|
|
424
427
|
self._annotate_args(expression)
|
|
425
428
|
|
|
426
429
|
left, right = expression.left, expression.right
|
|
430
|
+
if not left or not right:
|
|
431
|
+
expression_sql = expression.sql(self.schema.dialect)
|
|
432
|
+
logger.warning(f"Failed to annotate badly formed binary expression: {expression_sql}")
|
|
433
|
+
self._set_type(expression, None)
|
|
434
|
+
return expression
|
|
435
|
+
|
|
427
436
|
left_type, right_type = left.type.this, right.type.this # type: ignore
|
|
428
437
|
|
|
429
438
|
if isinstance(expression, (exp.Connector, exp.Predicate)):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/qualify_columns__with_invisible.sql
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
|
{sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz
RENAMED
|
File without changes
|
|
File without changes
|
{sqlglot-27.16.1 → sqlglot-27.16.2}/tests/fixtures/optimizer/tpc-ds/household_demographics.csv.gz
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|