sqlglot 27.4.0__tar.gz → 27.4.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sqlglot-27.4.0 → sqlglot-27.4.1}/CHANGELOG.md +26 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/PKG-INFO +1 -1
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/_version.py +2 -2
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/bigquery.py +4 -2
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot.egg-info/PKG-INFO +1 -1
- {sqlglot-27.4.0 → sqlglot-27.4.1}/.gitignore +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/.gitpod.yml +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/.pre-commit-config.yaml +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/CONTRIBUTING.md +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/LICENSE +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/MANIFEST.in +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/Makefile +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/README.md +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/pyproject.toml +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/setup.cfg +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/setup.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/__init__.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/__main__.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/_typing.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/__init__.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/athena.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/clickhouse.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/databricks.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/dialect.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/doris.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/dremio.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/drill.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/druid.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/duckdb.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/dune.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/exasol.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/fabric.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/hive.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/materialize.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/mysql.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/oracle.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/postgres.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/presto.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/prql.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/redshift.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/risingwave.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/singlestore.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/snowflake.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/spark.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/spark2.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/sqlite.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/starrocks.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/tableau.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/teradata.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/trino.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/dialects/tsql.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/diff.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/errors.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/executor/__init__.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/executor/context.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/executor/env.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/executor/python.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/executor/table.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/expressions.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/generator.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/helper.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/jsonpath.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/lineage.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/__init__.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/annotate_types.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/canonicalize.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/eliminate_ctes.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/eliminate_joins.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/eliminate_subqueries.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/isolate_table_selects.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/merge_subqueries.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/normalize.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/normalize_identifiers.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/optimize_joins.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/optimizer.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/pushdown_predicates.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/pushdown_projections.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/qualify.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/qualify_columns.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/qualify_tables.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/scope.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/simplify.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/optimizer/unnest_subqueries.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/parser.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/planner.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/py.typed +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/schema.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/serde.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/time.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/tokens.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/transforms.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot/trie.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot.egg-info/SOURCES.txt +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot.egg-info/dependency_links.txt +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot.egg-info/requires.txt +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot.egg-info/top_level.txt +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglot.png +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/Cargo.lock +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/Cargo.toml +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/benches/dialect_settings.json +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/benches/long.rs +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/benches/token_type_settings.json +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/benches/tokenizer_dialect_settings.json +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/benches/tokenizer_settings.json +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/pyproject.toml +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/src/lib.rs +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/src/settings.rs +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/src/token.rs +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/src/tokenizer.rs +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/sqlglotrs/src/trie.rs +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/__init__.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/__init__.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_athena.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_bigquery.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_clickhouse.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_databricks.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_dialect.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_doris.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_dremio.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_drill.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_druid.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_duckdb.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_dune.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_exasol.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_fabric.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_hive.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_materialize.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_mysql.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_oracle.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_pipe_syntax.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_postgres.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_presto.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_prql.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_redshift.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_risingwave.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_singlestore.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_snowflake.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_spark.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_sqlite.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_starrocks.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_tableau.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_teradata.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_trino.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/dialects/test_tsql.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/identity.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/jsonpath/LICENSE +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/jsonpath/cts.json +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/annotate_functions.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/annotate_types.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/canonicalize.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/eliminate_ctes.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/eliminate_joins.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/eliminate_subqueries.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/isolate_table_selects.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/merge_subqueries.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/normalize.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/normalize_identifiers.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/optimize_joins.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/optimizer.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/pushdown_cte_alias_columns.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/pushdown_predicates.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/pushdown_projections.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/qualify_columns.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/qualify_columns__invalid.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/qualify_columns__with_invisible.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/qualify_columns_ddl.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/qualify_tables.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/quote_identifiers.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/simplify.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/call_center.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/catalog_page.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/catalog_returns.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/catalog_sales.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/customer.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/customer_address.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/date_dim.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/household_demographics.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/income_band.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/inventory.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/item.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/promotion.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/reason.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/ship_mode.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/store.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/store_returns.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/store_sales.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/time_dim.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/tpc-ds.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/warehouse.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/web_page.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/web_returns.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/web_sales.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/web_site.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/customer.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/lineitem.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/nation.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/orders.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/part.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/partsupp.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/region.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/supplier.csv.gz +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-h/tpc-h.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/unnest_subqueries.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/partial.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/fixtures/pretty.sql +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/gen_fixtures.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/helpers.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_build.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_dialect_imports.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_diff.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_docs.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_executor.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_expressions.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_generator.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_helper.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_jsonpath.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_lineage.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_optimizer.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_parser.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_schema.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_serde.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_time.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_tokens.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_transforms.py +0 -0
- {sqlglot-27.4.0 → sqlglot-27.4.1}/tests/test_transpile.py +0 -0
|
@@ -1,6 +1,31 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
## [v27.4.0] - 2025-07-25
|
|
5
|
+
### :boom: BREAKING CHANGES
|
|
6
|
+
- due to [`4f348bd`](https://github.com/tobymao/sqlglot/commit/4f348bddda21b18841fd2d728fe486e95cdaa549) - store Query schemas in meta dict instead of type attr *(PR [#5480](https://github.com/tobymao/sqlglot/pull/5480) by [@georgesittas](https://github.com/georgesittas))*:
|
|
7
|
+
|
|
8
|
+
store Query schemas in meta dict instead of type attr (#5480)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### :sparkles: New Features
|
|
12
|
+
- [`7961ece`](https://github.com/tobymao/sqlglot/commit/7961ece058f3771364aad5beedba9484e3a2e27c) - **exasol**: Add support for HASH_SHA1 function *(PR [#5468](https://github.com/tobymao/sqlglot/pull/5468) by [@nnamdi16](https://github.com/nnamdi16))*
|
|
13
|
+
- [`406815d`](https://github.com/tobymao/sqlglot/commit/406815de21f0fdc9874ff46155d4ee0274aa6337) - **exasol**: support HASH_SHA1 *(commit by [@georgesittas](https://github.com/georgesittas))*
|
|
14
|
+
- [`e6f4fc9`](https://github.com/tobymao/sqlglot/commit/e6f4fc9c6d59d96777b2a2ec5dcc360e53639f8d) - **sqlite**: support ATTACH/DETACH DATABASE *(PR [#5469](https://github.com/tobymao/sqlglot/pull/5469) by [@geooo109](https://github.com/geooo109))*
|
|
15
|
+
- :arrow_lower_right: *addresses issue [#5459](https://github.com/tobymao/sqlglot/issues/5459) opened by [@mariofox](https://github.com/mariofox)*
|
|
16
|
+
- [`8aa3498`](https://github.com/tobymao/sqlglot/commit/8aa349890673dccdd4daa0aea6ca5fcb9fdaf46f) - **hive, spark**: Add support for LOCATION in ADD PARTITION *(PR [#5472](https://github.com/tobymao/sqlglot/pull/5472) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
17
|
+
- :arrow_lower_right: *addresses issue [#5457](https://github.com/tobymao/sqlglot/issues/5457) opened by [@tsamaras](https://github.com/tsamaras)*
|
|
18
|
+
- [`44adfc0`](https://github.com/tobymao/sqlglot/commit/44adfc0e74da9d1b05a5a8a67b81fb7c67634c70) - **exasol**: add HASH_MD5 functionality to exasol dialect *(PR [#5473](https://github.com/tobymao/sqlglot/pull/5473) by [@nnamdi16](https://github.com/nnamdi16))*
|
|
19
|
+
- [`05e1c4d`](https://github.com/tobymao/sqlglot/commit/05e1c4dbf795915448173a894a89a33b289a3b5b) - **snowflake**: Transpile BQ's `STRUCT` dot access *(PR [#5471](https://github.com/tobymao/sqlglot/pull/5471) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
20
|
+
- [`3c5ecdf`](https://github.com/tobymao/sqlglot/commit/3c5ecdf7f27629c01f0f3402e64a9dedf0583851) - **exasol**: Add HASHTYPE_MD5 functions to Exasol dialect *(PR [#5474](https://github.com/tobymao/sqlglot/pull/5474) by [@nnamdi16](https://github.com/nnamdi16))*
|
|
21
|
+
- [`1d640d2`](https://github.com/tobymao/sqlglot/commit/1d640d2278288b9a39a65b2532a13bc17e06c4e8) - **exasol**: add support for HASH_SHA256 and HASH_SHA512 hashing *(PR [#5475](https://github.com/tobymao/sqlglot/pull/5475) by [@nnamdi16](https://github.com/nnamdi16))*
|
|
22
|
+
|
|
23
|
+
### :bug: Bug Fixes
|
|
24
|
+
- [`e1819d6`](https://github.com/tobymao/sqlglot/commit/e1819d6451fec0eb3a1f77c90fd8d5c5b0d89889) - only strip kind from joins when it is inner|outer *(PR [#5477](https://github.com/tobymao/sqlglot/pull/5477) by [@themattmorris](https://github.com/themattmorris))*
|
|
25
|
+
- :arrow_lower_right: *fixes issue [#5470](https://github.com/tobymao/sqlglot/issues/5470) opened by [@themattmorris](https://github.com/themattmorris)*
|
|
26
|
+
- [`4f348bd`](https://github.com/tobymao/sqlglot/commit/4f348bddda21b18841fd2d728fe486e95cdaa549) - **bigquery**: store Query schemas in meta dict instead of type attr *(PR [#5480](https://github.com/tobymao/sqlglot/pull/5480) by [@georgesittas](https://github.com/georgesittas))*
|
|
27
|
+
|
|
28
|
+
|
|
4
29
|
## [v27.3.1] - 2025-07-24
|
|
5
30
|
### :boom: BREAKING CHANGES
|
|
6
31
|
- due to [`48703c4`](https://github.com/tobymao/sqlglot/commit/48703c4fadd9f24de151a63d1bfa74f4b8e71133) - temporarily move VARCHAR length inference logic to Fabric *(commit by [@georgesittas](https://github.com/georgesittas))*:
|
|
@@ -6306,3 +6331,4 @@ Changelog
|
|
|
6306
6331
|
[v27.2.0]: https://github.com/tobymao/sqlglot/compare/v27.1.0...v27.2.0
|
|
6307
6332
|
[v27.3.0]: https://github.com/tobymao/sqlglot/compare/v27.0.1...v27.3.0
|
|
6308
6333
|
[v27.3.1]: https://github.com/tobymao/sqlglot/compare/v27.3.0...v27.3.1
|
|
6334
|
+
[v27.4.0]: https://github.com/tobymao/sqlglot/compare/v27.3.1...v27.4.0
|
|
@@ -378,11 +378,13 @@ def _annotate_array(self: TypeAnnotator, expression: exp.Array) -> exp.Array:
|
|
|
378
378
|
and (query_type := select.meta.get("query_type")) is not None
|
|
379
379
|
and query_type.is_type(exp.DataType.Type.STRUCT)
|
|
380
380
|
and len(query_type.expressions) == 1
|
|
381
|
+
and isinstance(col_def := query_type.expressions[0], exp.ColumnDef)
|
|
382
|
+
and (projection_type := col_def.kind) is not None
|
|
383
|
+
and not projection_type.is_type(exp.DataType.Type.UNKNOWN)
|
|
381
384
|
):
|
|
382
|
-
projection_type = query_type.expressions[0].kind.copy()
|
|
383
385
|
array_type = exp.DataType(
|
|
384
386
|
this=exp.DataType.Type.ARRAY,
|
|
385
|
-
expressions=[projection_type],
|
|
387
|
+
expressions=[projection_type.copy()],
|
|
386
388
|
nested=True,
|
|
387
389
|
)
|
|
388
390
|
return self._annotate_with_type(expression, array_type)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.4.0 → sqlglot-27.4.1}/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.4.0 → sqlglot-27.4.1}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz
RENAMED
|
File without changes
|
|
File without changes
|
{sqlglot-27.4.0 → sqlglot-27.4.1}/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
|