sqlglot 27.28.0__tar.gz → 27.28.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.
Potentially problematic release.
This version of sqlglot might be problematic. Click here for more details.
- {sqlglot-27.28.0 → sqlglot-27.28.1}/CHANGELOG.md +162 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/PKG-INFO +1 -1
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/_version.py +3 -3
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot.egg-info/PKG-INFO +1 -1
- {sqlglot-27.28.0 → sqlglot-27.28.1}/.gitignore +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/.gitpod.yml +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/.pre-commit-config.yaml +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/CONTRIBUTING.md +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/LICENSE +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/MANIFEST.in +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/Makefile +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/README.md +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/pyproject.toml +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/setup.cfg +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/setup.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/__init__.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/__main__.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/_typing.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/__init__.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/athena.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/bigquery.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/clickhouse.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/databricks.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/dialect.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/doris.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/dremio.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/drill.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/druid.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/duckdb.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/dune.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/exasol.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/fabric.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/hive.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/materialize.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/mysql.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/oracle.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/postgres.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/presto.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/prql.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/redshift.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/risingwave.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/singlestore.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/snowflake.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/solr.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/spark.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/spark2.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/sqlite.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/starrocks.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/tableau.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/teradata.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/trino.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/dialects/tsql.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/diff.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/errors.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/executor/__init__.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/executor/context.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/executor/env.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/executor/python.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/executor/table.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/expressions.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/generator.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/helper.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/jsonpath.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/lineage.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/__init__.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/annotate_types.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/canonicalize.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/eliminate_ctes.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/eliminate_joins.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/eliminate_subqueries.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/isolate_table_selects.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/merge_subqueries.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/normalize.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/normalize_identifiers.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/optimize_joins.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/optimizer.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/pushdown_predicates.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/pushdown_projections.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/qualify.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/qualify_columns.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/qualify_tables.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/scope.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/simplify.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/optimizer/unnest_subqueries.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/parser.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/planner.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/py.typed +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/schema.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/serde.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/time.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/tokens.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/transforms.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot/trie.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot.egg-info/SOURCES.txt +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot.egg-info/dependency_links.txt +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot.egg-info/requires.txt +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot.egg-info/top_level.txt +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglot.png +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglotrs/Cargo.lock +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglotrs/Cargo.toml +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglotrs/benches/dialect_settings.json +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglotrs/benches/long.rs +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglotrs/benches/token_type_settings.json +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglotrs/benches/tokenizer_dialect_settings.json +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglotrs/benches/tokenizer_settings.json +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglotrs/pyproject.toml +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglotrs/src/lib.rs +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglotrs/src/settings.rs +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglotrs/src/token.rs +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglotrs/src/tokenizer.rs +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/sqlglotrs/src/trie.rs +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/__init__.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/__init__.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_athena.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_bigquery.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_clickhouse.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_databricks.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_dialect.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_doris.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_dremio.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_drill.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_druid.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_duckdb.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_dune.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_exasol.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_fabric.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_hive.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_materialize.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_mysql.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_oracle.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_pipe_syntax.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_postgres.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_presto.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_prql.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_redshift.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_risingwave.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_singlestore.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_snowflake.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_solr.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_spark.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_sqlite.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_starrocks.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_tableau.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_teradata.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_trino.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/dialects/test_tsql.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/identity.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/jsonpath/LICENSE +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/jsonpath/cts.json +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/annotate_functions.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/annotate_types.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/canonicalize.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/eliminate_ctes.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/eliminate_joins.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/eliminate_subqueries.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/isolate_table_selects.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/merge_subqueries.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/normalize.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/normalize_identifiers.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/optimize_joins.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/optimizer.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/pushdown_cte_alias_columns.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/pushdown_predicates.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/pushdown_projections.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/qualify_columns.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/qualify_columns__invalid.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/qualify_columns__with_invisible.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/qualify_columns_ddl.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/qualify_tables.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/quote_identifiers.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/simplify.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/call_center.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/catalog_page.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/catalog_returns.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/catalog_sales.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/customer.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/customer_address.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/date_dim.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/household_demographics.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/income_band.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/inventory.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/item.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/promotion.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/reason.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/ship_mode.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/store.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/store_returns.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/store_sales.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/time_dim.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/tpc-ds.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/warehouse.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/web_page.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/web_returns.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/web_sales.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/web_site.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-h/customer.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-h/lineitem.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-h/nation.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-h/orders.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-h/part.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-h/partsupp.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-h/region.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-h/supplier.csv.gz +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-h/tpc-h.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/unnest_subqueries.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/partial.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/fixtures/pretty.sql +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/gen_fixtures.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/helpers.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_build.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_dialect_imports.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_diff.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_docs.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_executor.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_expressions.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_generator.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_helper.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_jsonpath.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_lineage.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_optimizer.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_parser.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_schema.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_serde.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_time.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_tokens.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_transforms.py +0 -0
- {sqlglot-27.28.0 → sqlglot-27.28.1}/tests/test_transpile.py +0 -0
|
@@ -1,6 +1,167 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
## [v27.28.0] - 2025-10-21
|
|
5
|
+
### :boom: BREAKING CHANGES
|
|
6
|
+
- due to [`2238ac2`](https://github.com/tobymao/sqlglot/commit/2238ac27478bd272ba39928bbec1075c4191ee1b) - transpile timestamp literals in datediff fixes [#6083](https://github.com/tobymao/sqlglot/pull/6083) *(PR [#6086](https://github.com/tobymao/sqlglot/pull/6086) by [@georgesittas](https://github.com/georgesittas))*:
|
|
7
|
+
|
|
8
|
+
transpile timestamp literals in datediff fixes #6083 (#6086)
|
|
9
|
+
|
|
10
|
+
- due to [`c49ba0e`](https://github.com/tobymao/sqlglot/commit/c49ba0eee21f7776703d2a26c6641b4a32a1cff7) - Annotate type for snowflake WIDTH_BUCKET function *(PR [#6078](https://github.com/tobymao/sqlglot/pull/6078) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
|
|
11
|
+
|
|
12
|
+
Annotate type for snowflake WIDTH_BUCKET function (#6078)
|
|
13
|
+
|
|
14
|
+
- due to [`fbc1f13`](https://github.com/tobymao/sqlglot/commit/fbc1f1335eecaaaab4fc93ddbb74611a4df0aea7) - annotate type for Snowflake CONVERT_TIMEZONE function *(PR [#6076](https://github.com/tobymao/sqlglot/pull/6076) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*:
|
|
15
|
+
|
|
16
|
+
annotate type for Snowflake CONVERT_TIMEZONE function (#6076)
|
|
17
|
+
|
|
18
|
+
- due to [`70e977c`](https://github.com/tobymao/sqlglot/commit/70e977c5edfb495529d38a9096cb40762a9b5d7b) - annotate type for Snowflake DATE_TRUNC function *(PR [#6080](https://github.com/tobymao/sqlglot/pull/6080) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*:
|
|
19
|
+
|
|
20
|
+
annotate type for Snowflake DATE_TRUNC function (#6080)
|
|
21
|
+
|
|
22
|
+
- due to [`e9cf146`](https://github.com/tobymao/sqlglot/commit/e9cf146a4a6cd78f6a59c195e7ec12240b836e5e) - annotate type for Snowflake DATE_PART function *(PR [#6079](https://github.com/tobymao/sqlglot/pull/6079) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*:
|
|
23
|
+
|
|
24
|
+
annotate type for Snowflake DATE_PART function (#6079)
|
|
25
|
+
|
|
26
|
+
- due to [`5109890`](https://github.com/tobymao/sqlglot/commit/510989043d18baa17502a971262462814a2eb5be) - VALUES with ORDER BY/LIMIT/OFFSET *(PR [#6094](https://github.com/tobymao/sqlglot/pull/6094) by [@geooo109](https://github.com/geooo109))*:
|
|
27
|
+
|
|
28
|
+
VALUES with ORDER BY/LIMIT/OFFSET (#6094)
|
|
29
|
+
|
|
30
|
+
- due to [`6fe5824`](https://github.com/tobymao/sqlglot/commit/6fe58247888c326093618657fb027e482d82d107) - Annotate type for hour, minute, second functions *(PR [#6100](https://github.com/tobymao/sqlglot/pull/6100) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
|
|
31
|
+
|
|
32
|
+
Annotate type for hour, minute, second functions (#6100)
|
|
33
|
+
|
|
34
|
+
- due to [`a4d07a0`](https://github.com/tobymao/sqlglot/commit/a4d07a07eefbdaf88d30df2310a9533afdc75a82) - Annotate type for snowflake EXTRACT function *(PR [#6099](https://github.com/tobymao/sqlglot/pull/6099) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
|
|
35
|
+
|
|
36
|
+
Annotate type for snowflake EXTRACT function (#6099)
|
|
37
|
+
|
|
38
|
+
- due to [`483770b`](https://github.com/tobymao/sqlglot/commit/483770b816fab14b7eb7222974ed2c99045302a7) - Annotate type for snowflake TIME_SLICE function *(PR [#6098](https://github.com/tobymao/sqlglot/pull/6098) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
|
|
39
|
+
|
|
40
|
+
Annotate type for snowflake TIME_SLICE function (#6098)
|
|
41
|
+
|
|
42
|
+
- due to [`06f40f9`](https://github.com/tobymao/sqlglot/commit/06f40f900ce693ba4203514e422cba8cda0dbb07) - don't simplify x XOR x due to NULL semantics *(PR [#6115](https://github.com/tobymao/sqlglot/pull/6115) by [@geooo109](https://github.com/geooo109))*:
|
|
43
|
+
|
|
44
|
+
don't simplify x XOR x due to NULL semantics (#6115)
|
|
45
|
+
|
|
46
|
+
- due to [`c286cee`](https://github.com/tobymao/sqlglot/commit/c286cee54ab93e1fd0b3be658f7e767e3e00afe9) - Annotate type for snowflake MONTHNAME function *(PR [#6116](https://github.com/tobymao/sqlglot/pull/6116) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
|
|
47
|
+
|
|
48
|
+
Annotate type for snowflake MONTHNAME function (#6116)
|
|
49
|
+
|
|
50
|
+
- due to [`1a34788`](https://github.com/tobymao/sqlglot/commit/1a34788025bdd8a018c4bb9214f72152e68bdd14) - Annotate type for snowflake PREVIOUS_DAY function *(PR [#6117](https://github.com/tobymao/sqlglot/pull/6117) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
|
|
51
|
+
|
|
52
|
+
Annotate type for snowflake PREVIOUS_DAY function (#6117)
|
|
53
|
+
|
|
54
|
+
- due to [`533faf8`](https://github.com/tobymao/sqlglot/commit/533faf87b6df351070b565dd1fe9ce4e13b6c46e) - transpile duckdb `READ_PARQUET` to `parquet.<path>` closes [#6122](https://github.com/tobymao/sqlglot/pull/6122) *(commit by [@georgesittas](https://github.com/georgesittas))*:
|
|
55
|
+
|
|
56
|
+
transpile duckdb `READ_PARQUET` to `parquet.<path>` closes #6122
|
|
57
|
+
|
|
58
|
+
- due to [`cd4e557`](https://github.com/tobymao/sqlglot/commit/cd4e557658b1384f36c9a1ef9da5a09b893229b1) - Annotate type for snowflake RANDOM function *(PR [#6124](https://github.com/tobymao/sqlglot/pull/6124) by [@fivetran-felixhuang](https://github.com/fivetran-felixhuang))*:
|
|
59
|
+
|
|
60
|
+
Annotate type for snowflake RANDOM function (#6124)
|
|
61
|
+
|
|
62
|
+
- due to [`fe63d84`](https://github.com/tobymao/sqlglot/commit/fe63d84f1bd365b22221f348d79c0546aa3118b0) - annotate type for Snowflake MONTHS_BETWEEN function *(PR [#6120](https://github.com/tobymao/sqlglot/pull/6120) by [@fivetran-MichaelLee](https://github.com/fivetran-MichaelLee))*:
|
|
63
|
+
|
|
64
|
+
annotate type for Snowflake MONTHS_BETWEEN function (#6120)
|
|
65
|
+
|
|
66
|
+
- due to [`598d09b`](https://github.com/tobymao/sqlglot/commit/598d09b036d938c90a44955d67175ea868090ba2) - annotate type for Snowflake DATEADD function *(PR [#6089](https://github.com/tobymao/sqlglot/pull/6089) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*:
|
|
67
|
+
|
|
68
|
+
annotate type for Snowflake DATEADD function (#6089)
|
|
69
|
+
|
|
70
|
+
- due to [`b98bcee`](https://github.com/tobymao/sqlglot/commit/b98bcee148ba426816e166dbfa9ba8e0979aae21) - Annotate type for snowflake next_day function *(PR [#6125](https://github.com/tobymao/sqlglot/pull/6125) by [@fivetran-ashashankar](https://github.com/fivetran-ashashankar))*:
|
|
71
|
+
|
|
72
|
+
Annotate type for snowflake next_day function (#6125)
|
|
73
|
+
|
|
74
|
+
- due to [`e2129c6`](https://github.com/tobymao/sqlglot/commit/e2129c6766ca1f10ff6663bec98be984abb33c91) - Do not consider BIT_COUNT an aggregate function *(PR [#6135](https://github.com/tobymao/sqlglot/pull/6135) by [@VaggelisD](https://github.com/VaggelisD))*:
|
|
75
|
+
|
|
76
|
+
Do not consider BIT_COUNT an aggregate function (#6135)
|
|
77
|
+
|
|
78
|
+
- due to [`d136414`](https://github.com/tobymao/sqlglot/commit/d136414e520270ac9ab2fd8e9df4691d269b3af0) - avoid simplifying AND with NULL *(PR [#6148](https://github.com/tobymao/sqlglot/pull/6148) by [@geooo109](https://github.com/geooo109))*:
|
|
79
|
+
|
|
80
|
+
avoid simplifying AND with NULL (#6148)
|
|
81
|
+
|
|
82
|
+
- due to [`3a334f3`](https://github.com/tobymao/sqlglot/commit/3a334f376b9766b6b99fdf195ae763bb44976ec4) - annotate type for boolnot snowflake function *(PR [#6141](https://github.com/tobymao/sqlglot/pull/6141) by [@fivetran-felixhuang](https://github.com/fivetran-felixhuang))*:
|
|
83
|
+
|
|
84
|
+
annotate type for boolnot snowflake function (#6141)
|
|
85
|
+
|
|
86
|
+
- due to [`99949cc`](https://github.com/tobymao/sqlglot/commit/99949ccd3ff81b524edeae437d874b86250dbb5b) - avoid needlessly copying in lineage *(PR [#6150](https://github.com/tobymao/sqlglot/pull/6150) by [@georgesittas](https://github.com/georgesittas))*:
|
|
87
|
+
|
|
88
|
+
avoid needlessly copying in lineage (#6150)
|
|
89
|
+
|
|
90
|
+
- due to [`4e36f9d`](https://github.com/tobymao/sqlglot/commit/4e36f9dd6a854b378c9bbf6b2e9811045affc63d) - Annotate type for snowflake TIMEADD function *(PR [#6134](https://github.com/tobymao/sqlglot/pull/6134) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
|
|
91
|
+
|
|
92
|
+
Annotate type for snowflake TIMEADD function (#6134)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
### :sparkles: New Features
|
|
96
|
+
- [`c49ba0e`](https://github.com/tobymao/sqlglot/commit/c49ba0eee21f7776703d2a26c6641b4a32a1cff7) - **optimizer**: Annotate type for snowflake WIDTH_BUCKET function *(PR [#6078](https://github.com/tobymao/sqlglot/pull/6078) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
97
|
+
- [`fbc1f13`](https://github.com/tobymao/sqlglot/commit/fbc1f1335eecaaaab4fc93ddbb74611a4df0aea7) - **optimizer**: annotate type for Snowflake CONVERT_TIMEZONE function *(PR [#6076](https://github.com/tobymao/sqlglot/pull/6076) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*
|
|
98
|
+
- [`70e977c`](https://github.com/tobymao/sqlglot/commit/70e977c5edfb495529d38a9096cb40762a9b5d7b) - **optimizer**: annotate type for Snowflake DATE_TRUNC function *(PR [#6080](https://github.com/tobymao/sqlglot/pull/6080) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*
|
|
99
|
+
- [`e9cf146`](https://github.com/tobymao/sqlglot/commit/e9cf146a4a6cd78f6a59c195e7ec12240b836e5e) - **optimizer**: annotate type for Snowflake DATE_PART function *(PR [#6079](https://github.com/tobymao/sqlglot/pull/6079) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*
|
|
100
|
+
- [`cdf3b1b`](https://github.com/tobymao/sqlglot/commit/cdf3b1b34dc044064d0a5ba7ff22723b8ae33e5d) - **optimizer**: Annotate type for snowflake add_months function *(PR [#6097](https://github.com/tobymao/sqlglot/pull/6097) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
101
|
+
- [`6fe5824`](https://github.com/tobymao/sqlglot/commit/6fe58247888c326093618657fb027e482d82d107) - **optimizer**: Annotate type for hour, minute, second functions *(PR [#6100](https://github.com/tobymao/sqlglot/pull/6100) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
102
|
+
- [`483770b`](https://github.com/tobymao/sqlglot/commit/483770b816fab14b7eb7222974ed2c99045302a7) - **optimizer**: Annotate type for snowflake TIME_SLICE function *(PR [#6098](https://github.com/tobymao/sqlglot/pull/6098) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
103
|
+
- [`071a995`](https://github.com/tobymao/sqlglot/commit/071a9954aad220c1e13ba7a6714a083058a8e03f) - **tsql**: add support for iso_week on DATEPART *(PR [#6111](https://github.com/tobymao/sqlglot/pull/6111) by [@lBilali](https://github.com/lBilali))*
|
|
104
|
+
- :arrow_lower_right: *addresses issue [#6110](https://github.com/tobymao/sqlglot/issues/6110) opened by [@lBilali](https://github.com/lBilali)*
|
|
105
|
+
- [`c286cee`](https://github.com/tobymao/sqlglot/commit/c286cee54ab93e1fd0b3be658f7e767e3e00afe9) - **optimizer**: Annotate type for snowflake MONTHNAME function *(PR [#6116](https://github.com/tobymao/sqlglot/pull/6116) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
106
|
+
- [`1a34788`](https://github.com/tobymao/sqlglot/commit/1a34788025bdd8a018c4bb9214f72152e68bdd14) - **optimizer**: Annotate type for snowflake PREVIOUS_DAY function *(PR [#6117](https://github.com/tobymao/sqlglot/pull/6117) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
107
|
+
- [`533faf8`](https://github.com/tobymao/sqlglot/commit/533faf87b6df351070b565dd1fe9ce4e13b6c46e) - **spark**: transpile duckdb `READ_PARQUET` to `parquet.<path>` closes [#6122](https://github.com/tobymao/sqlglot/pull/6122) *(commit by [@georgesittas](https://github.com/georgesittas))*
|
|
108
|
+
- [`cd4e557`](https://github.com/tobymao/sqlglot/commit/cd4e557658b1384f36c9a1ef9da5a09b893229b1) - **optimizer**: Annotate type for snowflake RANDOM function *(PR [#6124](https://github.com/tobymao/sqlglot/pull/6124) by [@fivetran-felixhuang](https://github.com/fivetran-felixhuang))*
|
|
109
|
+
- [`fe63d84`](https://github.com/tobymao/sqlglot/commit/fe63d84f1bd365b22221f348d79c0546aa3118b0) - **optimizer**: annotate type for Snowflake MONTHS_BETWEEN function *(PR [#6120](https://github.com/tobymao/sqlglot/pull/6120) by [@fivetran-MichaelLee](https://github.com/fivetran-MichaelLee))*
|
|
110
|
+
- [`7cb7598`](https://github.com/tobymao/sqlglot/commit/7cb7598e13260aa45c851dc620b4994ddfa089fe) - **optimizer**: Annotate type for snowflake TIME_FROM_PARTS function *(PR [#6119](https://github.com/tobymao/sqlglot/pull/6119) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
111
|
+
- [`598d09b`](https://github.com/tobymao/sqlglot/commit/598d09b036d938c90a44955d67175ea868090ba2) - **optimizer**: annotate type for Snowflake DATEADD function *(PR [#6089](https://github.com/tobymao/sqlglot/pull/6089) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*
|
|
112
|
+
- [`b98bcee`](https://github.com/tobymao/sqlglot/commit/b98bcee148ba426816e166dbfa9ba8e0979aae21) - **optimizer**: Annotate type for snowflake next_day function *(PR [#6125](https://github.com/tobymao/sqlglot/pull/6125) by [@fivetran-ashashankar](https://github.com/fivetran-ashashankar))*
|
|
113
|
+
- [`fe1927f`](https://github.com/tobymao/sqlglot/commit/fe1927f28600e2d8863a4e7f06e6a21bf6ff7f9c) - **duckdb**: Transpile unix_micros to epoch_us *(PR [#6127](https://github.com/tobymao/sqlglot/pull/6127) by [@vchan](https://github.com/vchan))*
|
|
114
|
+
- [`a531f10`](https://github.com/tobymao/sqlglot/commit/a531f107235c29ac6a7e627a323f00b8ecf7023d) - **duckdb**: transpile TimeSub *(PR [#6142](https://github.com/tobymao/sqlglot/pull/6142) by [@toriwei](https://github.com/toriwei))*
|
|
115
|
+
- [`b1a9dff`](https://github.com/tobymao/sqlglot/commit/b1a9dfff52a0ffbb0b7c8bfedb0a90e245b97851) - make qualify faster by owly resetting scope when needed *(PR [#6081](https://github.com/tobymao/sqlglot/pull/6081) by [@tobymao](https://github.com/tobymao))*
|
|
116
|
+
- [`3a334f3`](https://github.com/tobymao/sqlglot/commit/3a334f376b9766b6b99fdf195ae763bb44976ec4) - **optimizer**: annotate type for boolnot snowflake function *(PR [#6141](https://github.com/tobymao/sqlglot/pull/6141) by [@fivetran-felixhuang](https://github.com/fivetran-felixhuang))*
|
|
117
|
+
- [`4e36f9d`](https://github.com/tobymao/sqlglot/commit/4e36f9dd6a854b378c9bbf6b2e9811045affc63d) - **optimizer**: Annotate type for snowflake TIMEADD function *(PR [#6134](https://github.com/tobymao/sqlglot/pull/6134) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
118
|
+
|
|
119
|
+
### :bug: Bug Fixes
|
|
120
|
+
- [`2238ac2`](https://github.com/tobymao/sqlglot/commit/2238ac27478bd272ba39928bbec1075c4191ee1b) - **duckdb**: transpile timestamp literals in datediff fixes [#6083](https://github.com/tobymao/sqlglot/pull/6083) *(PR [#6086](https://github.com/tobymao/sqlglot/pull/6086) by [@georgesittas](https://github.com/georgesittas))*
|
|
121
|
+
- [`bef541c`](https://github.com/tobymao/sqlglot/commit/bef541cec36f8c4295f815c3f5cd22491738901b) - **parser**: query mods and set ops in FROM-first syntax *(PR [#6092](https://github.com/tobymao/sqlglot/pull/6092) by [@geooo109](https://github.com/geooo109))*
|
|
122
|
+
- :arrow_lower_right: *fixes issue [#6088](https://github.com/tobymao/sqlglot/issues/6088) opened by [@denis-komarov](https://github.com/denis-komarov)*
|
|
123
|
+
- :arrow_lower_right: *fixes issue [#6091](https://github.com/tobymao/sqlglot/issues/6091) opened by [@denis-komarov](https://github.com/denis-komarov)*
|
|
124
|
+
- :arrow_lower_right: *fixes issue [#6093](https://github.com/tobymao/sqlglot/issues/6093) opened by [@denis-komarov](https://github.com/denis-komarov)*
|
|
125
|
+
- [`5109890`](https://github.com/tobymao/sqlglot/commit/510989043d18baa17502a971262462814a2eb5be) - **parser**: VALUES with ORDER BY/LIMIT/OFFSET *(PR [#6094](https://github.com/tobymao/sqlglot/pull/6094) by [@geooo109](https://github.com/geooo109))*
|
|
126
|
+
- :arrow_lower_right: *fixes issue [#6087](https://github.com/tobymao/sqlglot/issues/6087) opened by [@denis-komarov](https://github.com/denis-komarov)*
|
|
127
|
+
- [`4b062c8`](https://github.com/tobymao/sqlglot/commit/4b062c850bd9867be0d622f3f526762fa2b72302) - consume more syntax for cubes/rollups fixes [#6101](https://github.com/tobymao/sqlglot/pull/6101) *(commit by [@georgesittas](https://github.com/georgesittas))*
|
|
128
|
+
- [`f00866a`](https://github.com/tobymao/sqlglot/commit/f00866aeb8b7f51e27173c688225fe16d777eb1a) - **duckdb**: 1 arg FORMAT func *(PR [#6109](https://github.com/tobymao/sqlglot/pull/6109) by [@geooo109](https://github.com/geooo109))*
|
|
129
|
+
- :arrow_lower_right: *fixes issue [#6108](https://github.com/tobymao/sqlglot/issues/6108) opened by [@erindru](https://github.com/erindru)*
|
|
130
|
+
- [`77dfd5a`](https://github.com/tobymao/sqlglot/commit/77dfd5a41bb9ce5450e0f6b7a78c953c8ade14d5) - lineage does not modify sql input if expression *(PR [#6113](https://github.com/tobymao/sqlglot/pull/6113) by [@snovik75](https://github.com/snovik75))*
|
|
131
|
+
- :arrow_lower_right: *fixes issue [#6112](https://github.com/tobymao/sqlglot/issues/6112) opened by [@snovik75](https://github.com/snovik75)*
|
|
132
|
+
- [`06f40f9`](https://github.com/tobymao/sqlglot/commit/06f40f900ce693ba4203514e422cba8cda0dbb07) - **optimizer**: don't simplify x XOR x due to NULL semantics *(PR [#6115](https://github.com/tobymao/sqlglot/pull/6115) by [@geooo109](https://github.com/geooo109))*
|
|
133
|
+
- :arrow_lower_right: *fixes issue [#6104](https://github.com/tobymao/sqlglot/issues/6104) opened by [@dllggyx](https://github.com/dllggyx)*
|
|
134
|
+
- [`03e2dff`](https://github.com/tobymao/sqlglot/commit/03e2dff9b074dc228cf3854ff1f4357e091aa9b3) - allow parsing `analyze` as an identifier fixes [#6123](https://github.com/tobymao/sqlglot/pull/6123) *(commit by [@georgesittas](https://github.com/georgesittas))*
|
|
135
|
+
- [`8744431`](https://github.com/tobymao/sqlglot/commit/874443148c8ec2a773dfaca5da10d3587a49de3e) - transpile bigquery DATETIME_DIFF to duckdb *(PR [#6126](https://github.com/tobymao/sqlglot/pull/6126) by [@toriwei](https://github.com/toriwei))*
|
|
136
|
+
- :arrow_lower_right: *fixes issue [#6107](https://github.com/tobymao/sqlglot/issues/6107) opened by [@izeigerman](https://github.com/izeigerman)*
|
|
137
|
+
- [`b94e81b`](https://github.com/tobymao/sqlglot/commit/b94e81b42b89c75625b2da779c0f53777d9b6b48) - **optimizer**: avoid removing string literals from WHERE clause *(PR [#6131](https://github.com/tobymao/sqlglot/pull/6131) by [@geooo109](https://github.com/geooo109))*
|
|
138
|
+
- :arrow_lower_right: *fixes issue [#6128](https://github.com/tobymao/sqlglot/issues/6128) opened by [@dllggyx](https://github.com/dllggyx)*
|
|
139
|
+
- [`e2129c6`](https://github.com/tobymao/sqlglot/commit/e2129c6766ca1f10ff6663bec98be984abb33c91) - **optimizer**: Do not consider BIT_COUNT an aggregate function *(PR [#6135](https://github.com/tobymao/sqlglot/pull/6135) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
140
|
+
- :arrow_lower_right: *fixes issue [#6130](https://github.com/tobymao/sqlglot/issues/6130) opened by [@dllggyx](https://github.com/dllggyx)*
|
|
141
|
+
- [`03bfeed`](https://github.com/tobymao/sqlglot/commit/03bfeed56c5c2f143ce2e1be38d519f902d19961) - **starrocks**: disable IS TRUE/FALSE syntax support *(PR [#6145](https://github.com/tobymao/sqlglot/pull/6145) by [@petrikoro](https://github.com/petrikoro))*
|
|
142
|
+
- :arrow_lower_right: *fixes issue [#6144](https://github.com/tobymao/sqlglot/issues/6144) opened by [@petrikoro](https://github.com/petrikoro)*
|
|
143
|
+
- [`d136414`](https://github.com/tobymao/sqlglot/commit/d136414e520270ac9ab2fd8e9df4691d269b3af0) - **optimizer**: avoid simplifying AND with NULL *(PR [#6148](https://github.com/tobymao/sqlglot/pull/6148) by [@geooo109](https://github.com/geooo109))*
|
|
144
|
+
- :arrow_lower_right: *fixes issue [#6136](https://github.com/tobymao/sqlglot/issues/6136) opened by [@dllggyx](https://github.com/dllggyx)*
|
|
145
|
+
- [`1fd9991`](https://github.com/tobymao/sqlglot/commit/1fd99911a60f0543fbc79221a8c6a6f232ed0a2a) - **clickhouse**: NOT + IN precedence *(PR [#6149](https://github.com/tobymao/sqlglot/pull/6149) by [@georgesittas](https://github.com/georgesittas))*
|
|
146
|
+
- :arrow_lower_right: *fixes issue [#6143](https://github.com/tobymao/sqlglot/issues/6143) opened by [@mlipiev](https://github.com/mlipiev)*
|
|
147
|
+
|
|
148
|
+
### :recycle: Refactors
|
|
149
|
+
- [`58dbce3`](https://github.com/tobymao/sqlglot/commit/58dbce30da5ab94af82247ab8a7eb85200d9b8af) - bq static type annotators *(PR [#6103](https://github.com/tobymao/sqlglot/pull/6103) by [@geooo109](https://github.com/geooo109))*
|
|
150
|
+
- [`c970235`](https://github.com/tobymao/sqlglot/commit/c97023549623fe5974d6bff57e64339eff74187e) - clean up MONTHNAME test *(commit by [@geooo109](https://github.com/geooo109))*
|
|
151
|
+
|
|
152
|
+
### :wrench: Chores
|
|
153
|
+
- [`d36ba87`](https://github.com/tobymao/sqlglot/commit/d36ba8774a2a4b53c122e3b78086ce0f09e77244) - **optimizer**: add tests for Snowflake DATE_FROM_PARTS function *(PR [#6077](https://github.com/tobymao/sqlglot/pull/6077) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*
|
|
154
|
+
- [`2bc05cf`](https://github.com/tobymao/sqlglot/commit/2bc05cf3bd53b874a1505c747e38f8a6a1dbf8c7) - **optimizer**: add tests for Snowflake DATEDIFF function *(PR [#6090](https://github.com/tobymao/sqlglot/pull/6090) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*
|
|
155
|
+
- [`a4d07a0`](https://github.com/tobymao/sqlglot/commit/a4d07a07eefbdaf88d30df2310a9533afdc75a82) - **optimizer**: Annotate type for snowflake EXTRACT function *(PR [#6099](https://github.com/tobymao/sqlglot/pull/6099) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
156
|
+
- [`ab1da2e`](https://github.com/tobymao/sqlglot/commit/ab1da2e54a83e29d708047d4b3f8abcc1094229d) - **optimizer**: add type annotation tests for snowflake LAST_DAY function *(PR [#6105](https://github.com/tobymao/sqlglot/pull/6105) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
157
|
+
- [`4e24c0a`](https://github.com/tobymao/sqlglot/commit/4e24c0ad92e7071a1f1537886173e29999b46f72) - **optimizer**: add type annotation tests for snowflake TIMESTAMPDIFF function *(PR [#6138](https://github.com/tobymao/sqlglot/pull/6138) by [@fivetran-MichaelLee](https://github.com/fivetran-MichaelLee))*
|
|
158
|
+
- [`ae8571f`](https://github.com/tobymao/sqlglot/commit/ae8571fdec71587188e45fe087e1967f5ba641bc) - **optimizer**: add type annotation tests for snowflake TIMEDIFF *(PR [#6140](https://github.com/tobymao/sqlglot/pull/6140) by [@fivetran-felixhuang](https://github.com/fivetran-felixhuang))*
|
|
159
|
+
- [`3059320`](https://github.com/tobymao/sqlglot/commit/30593202b30001933f05747937975013754b75fa) - copy by default in `lineage` *(commit by [@georgesittas](https://github.com/georgesittas))*
|
|
160
|
+
- [`99949cc`](https://github.com/tobymao/sqlglot/commit/99949ccd3ff81b524edeae437d874b86250dbb5b) - avoid needlessly copying in lineage *(PR [#6150](https://github.com/tobymao/sqlglot/pull/6150) by [@georgesittas](https://github.com/georgesittas))*
|
|
161
|
+
- [`e7756d8`](https://github.com/tobymao/sqlglot/commit/e7756d8e9f347bfba3f861463890bf57e532cc54) - **optimizer**: add annotation tests for snowflake's BOOLXOR *(PR [#6154](https://github.com/tobymao/sqlglot/pull/6154) by [@fivetran-felixhuang](https://github.com/fivetran-felixhuang))*
|
|
162
|
+
- [`72e43e3`](https://github.com/tobymao/sqlglot/commit/72e43e3ea08f9dce5a32654060a56f2ee31bea8f) - **optimizer**: add type annotation tests for snowflake's TIMESTAMPADD function *(PR [#6146](https://github.com/tobymao/sqlglot/pull/6146) by [@fivetran-ashashankar](https://github.com/fivetran-ashashankar))*
|
|
163
|
+
|
|
164
|
+
|
|
4
165
|
## [v27.27.0] - 2025-10-13
|
|
5
166
|
### :boom: BREAKING CHANGES
|
|
6
167
|
- due to [`c67276d`](https://github.com/tobymao/sqlglot/commit/c67276d5be970252e14d1817d8498fc9985222d9) - Annotate type for snowflake RADIANS function. *(PR [#6064](https://github.com/tobymao/sqlglot/pull/6064) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
|
|
@@ -7885,3 +8046,4 @@ Changelog
|
|
|
7885
8046
|
[v27.25.0]: https://github.com/tobymao/sqlglot/compare/v27.24.2...v27.25.0
|
|
7886
8047
|
[v27.26.0]: https://github.com/tobymao/sqlglot/compare/v27.25.2...v27.26.0
|
|
7887
8048
|
[v27.27.0]: https://github.com/tobymao/sqlglot/compare/v27.26.0...v27.27.0
|
|
8049
|
+
[v27.28.0]: https://github.com/tobymao/sqlglot/compare/v27.27.0...v27.28.0
|
|
@@ -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.28.
|
|
32
|
-
__version_tuple__ = version_tuple = (27, 28,
|
|
31
|
+
__version__ = version = '27.28.1'
|
|
32
|
+
__version_tuple__ = version_tuple = (27, 28, 1)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g0c5387499'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.28.0 → sqlglot-27.28.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.28.0 → sqlglot-27.28.1}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz
RENAMED
|
File without changes
|
|
File without changes
|
{sqlglot-27.28.0 → sqlglot-27.28.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
|