sqlglot 27.8.0__tar.gz → 27.11.0__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.8.0 → sqlglot-27.11.0}/CHANGELOG.md +278 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/CONTRIBUTING.md +4 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/PKG-INFO +42 -2
- {sqlglot-27.8.0 → sqlglot-27.11.0}/README.md +39 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/pyproject.toml +1 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/_version.py +3 -3
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/bigquery.py +210 -15
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/clickhouse.py +11 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/dialect.py +2 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/doris.py +77 -9
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/dremio.py +101 -16
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/duckdb.py +13 -3
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/exasol.py +23 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/mysql.py +0 -33
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/postgres.py +0 -1
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/redshift.py +1 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/singlestore.py +340 -20
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/snowflake.py +1 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/spark2.py +2 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/sqlite.py +1 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/tsql.py +2 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/expressions.py +221 -7
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/generator.py +135 -31
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/qualify_columns.py +1 -1
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/scope.py +1 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/parser.py +83 -19
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/tokens.py +3 -1
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot.egg-info/PKG-INFO +42 -2
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot.egg-info/requires.txt +1 -1
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglotrs/Cargo.lock +1 -1
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglotrs/Cargo.toml +1 -1
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglotrs/src/tokenizer.rs +1 -1
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_bigquery.py +139 -26
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_clickhouse.py +45 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_databricks.py +9 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_dialect.py +219 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_doris.py +21 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_dremio.py +40 -14
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_duckdb.py +49 -1
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_exasol.py +14 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_hive.py +13 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_mysql.py +15 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_oracle.py +28 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_postgres.py +75 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_redshift.py +19 -0
- sqlglot-27.11.0/tests/dialects/test_singlestore.py +687 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_snowflake.py +18 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_spark.py +11 -1
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_tsql.py +20 -2
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/identity.sql +11 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/annotate_functions.sql +402 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/qualify_columns.sql +8 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_parser.py +13 -0
- sqlglot-27.8.0/tests/dialects/test_singlestore.py +0 -195
- {sqlglot-27.8.0 → sqlglot-27.11.0}/.gitignore +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/.gitpod.yml +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/.pre-commit-config.yaml +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/LICENSE +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/MANIFEST.in +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/Makefile +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/setup.cfg +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/setup.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/__init__.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/__main__.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/_typing.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/__init__.py +1 -1
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/athena.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/databricks.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/drill.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/druid.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/dune.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/fabric.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/hive.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/materialize.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/oracle.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/presto.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/prql.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/risingwave.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/spark.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/starrocks.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/tableau.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/teradata.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/dialects/trino.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/diff.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/errors.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/executor/__init__.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/executor/context.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/executor/env.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/executor/python.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/executor/table.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/helper.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/jsonpath.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/lineage.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/__init__.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/annotate_types.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/canonicalize.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/eliminate_ctes.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/eliminate_joins.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/eliminate_subqueries.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/isolate_table_selects.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/merge_subqueries.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/normalize.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/normalize_identifiers.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/optimize_joins.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/optimizer.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/pushdown_predicates.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/pushdown_projections.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/qualify.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/qualify_tables.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/simplify.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/optimizer/unnest_subqueries.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/planner.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/py.typed +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/schema.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/serde.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/time.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/transforms.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot/trie.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot.egg-info/SOURCES.txt +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot.egg-info/dependency_links.txt +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot.egg-info/top_level.txt +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglot.png +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglotrs/benches/dialect_settings.json +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglotrs/benches/long.rs +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglotrs/benches/token_type_settings.json +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglotrs/benches/tokenizer_dialect_settings.json +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglotrs/benches/tokenizer_settings.json +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglotrs/pyproject.toml +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglotrs/src/lib.rs +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglotrs/src/settings.rs +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglotrs/src/token.rs +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/sqlglotrs/src/trie.rs +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/__init__.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/__init__.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_athena.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_drill.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_druid.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_dune.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_fabric.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_materialize.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_pipe_syntax.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_presto.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_prql.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_risingwave.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_sqlite.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_starrocks.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_tableau.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_teradata.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/dialects/test_trino.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/jsonpath/LICENSE +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/jsonpath/cts.json +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/annotate_types.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/canonicalize.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/eliminate_ctes.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/eliminate_joins.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/eliminate_subqueries.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/isolate_table_selects.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/merge_subqueries.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/normalize.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/normalize_identifiers.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/optimize_joins.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/optimizer.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/pushdown_cte_alias_columns.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/pushdown_predicates.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/pushdown_projections.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/qualify_columns__invalid.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/qualify_columns__with_invisible.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/qualify_columns_ddl.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/qualify_tables.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/quote_identifiers.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/simplify.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/call_center.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/catalog_page.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/catalog_returns.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/catalog_sales.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/customer.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/customer_address.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/date_dim.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/household_demographics.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/income_band.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/inventory.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/item.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/promotion.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/reason.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/ship_mode.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/store.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/store_returns.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/store_sales.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/time_dim.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/tpc-ds.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/warehouse.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/web_page.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/web_returns.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/web_sales.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-ds/web_site.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-h/customer.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-h/lineitem.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-h/nation.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-h/orders.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-h/part.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-h/partsupp.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-h/region.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-h/supplier.csv.gz +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/tpc-h/tpc-h.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/optimizer/unnest_subqueries.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/partial.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/fixtures/pretty.sql +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/gen_fixtures.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/helpers.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_build.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_dialect_imports.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_diff.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_docs.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_executor.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_expressions.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_generator.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_helper.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_jsonpath.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_lineage.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_optimizer.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_schema.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_serde.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_time.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_tokens.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_transforms.py +0 -0
- {sqlglot-27.8.0 → sqlglot-27.11.0}/tests/test_transpile.py +0 -0
|
@@ -1,6 +1,281 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
## [v27.10.0] - 2025-08-28
|
|
5
|
+
### :boom: BREAKING CHANGES
|
|
6
|
+
- due to [`de2fe15`](https://github.com/tobymao/sqlglot/commit/de2fe1503b5bb003431d1f0c7b9ae87932a6cc1c) - annotate type for bq CONTAINS_SUBSTR *(PR [#5705](https://github.com/tobymao/sqlglot/pull/5705) by [@geooo109](https://github.com/geooo109))*:
|
|
7
|
+
|
|
8
|
+
annotate type for bq CONTAINS_SUBSTR (#5705)
|
|
9
|
+
|
|
10
|
+
- due to [`770888f`](https://github.com/tobymao/sqlglot/commit/770888f4e9a9061329e3c416f968f7dd9639fb81) - annotate type for bq NORMALIZE *(PR [#5711](https://github.com/tobymao/sqlglot/pull/5711) by [@geooo109](https://github.com/geooo109))*:
|
|
11
|
+
|
|
12
|
+
annotate type for bq NORMALIZE (#5711)
|
|
13
|
+
|
|
14
|
+
- due to [`506033f`](https://github.com/tobymao/sqlglot/commit/506033f299f7a4c28f6efd8bf715be5dcf73e929) - parse and annotate type for bq NORMALIZE_AND_CASEFOLD *(PR [#5712](https://github.com/tobymao/sqlglot/pull/5712) by [@geooo109](https://github.com/geooo109))*:
|
|
15
|
+
|
|
16
|
+
parse and annotate type for bq NORMALIZE_AND_CASEFOLD (#5712)
|
|
17
|
+
|
|
18
|
+
- due to [`848aea1`](https://github.com/tobymao/sqlglot/commit/848aea1dbaaeb580b633796dcca06c28314b9c3e) - parse and annotate type for bq OCTET_LENGTH *(PR [#5713](https://github.com/tobymao/sqlglot/pull/5713) by [@geooo109](https://github.com/geooo109))*:
|
|
19
|
+
|
|
20
|
+
parse and annotate type for bq OCTET_LENGTH (#5713)
|
|
21
|
+
|
|
22
|
+
- due to [`727bf83`](https://github.com/tobymao/sqlglot/commit/727bf8378f232188d35834d980b035552999ea3b) - add support for REVOKE DDL *(PR [#5703](https://github.com/tobymao/sqlglot/pull/5703) by [@newtonapple](https://github.com/newtonapple))*:
|
|
23
|
+
|
|
24
|
+
add support for REVOKE DDL (#5703)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### :sparkles: New Features
|
|
28
|
+
- [`f6f8f56`](https://github.com/tobymao/sqlglot/commit/f6f8f56a59d550dfc7dfcab0c3b9a6885c7e758a) - **singlestore**: Fixed parsing/generation of exp.JSONFormat *(PR [#5706](https://github.com/tobymao/sqlglot/pull/5706) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
29
|
+
- [`de2fe15`](https://github.com/tobymao/sqlglot/commit/de2fe1503b5bb003431d1f0c7b9ae87932a6cc1c) - **optimizer**: annotate type for bq CONTAINS_SUBSTR *(PR [#5705](https://github.com/tobymao/sqlglot/pull/5705) by [@geooo109](https://github.com/geooo109))*
|
|
30
|
+
- [`a78146e`](https://github.com/tobymao/sqlglot/commit/a78146e37bfc972050b4467c39769407061e9bc3) - **singlestore**: Fixed parsing/generation of exp.DateBin *(PR [#5709](https://github.com/tobymao/sqlglot/pull/5709) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
31
|
+
- [`ab0c985`](https://github.com/tobymao/sqlglot/commit/ab0c985424ae9d9340eafd15ecdc9b31bdd8837c) - **singlestore**: Marked exp.Reduce finish argument as unsupported *(PR [#5707](https://github.com/tobymao/sqlglot/pull/5707) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
32
|
+
- [`770888f`](https://github.com/tobymao/sqlglot/commit/770888f4e9a9061329e3c416f968f7dd9639fb81) - **optimizer**: annotate type for bq NORMALIZE *(PR [#5711](https://github.com/tobymao/sqlglot/pull/5711) by [@geooo109](https://github.com/geooo109))*
|
|
33
|
+
- [`506033f`](https://github.com/tobymao/sqlglot/commit/506033f299f7a4c28f6efd8bf715be5dcf73e929) - **optimizer**: parse and annotate type for bq NORMALIZE_AND_CASEFOLD *(PR [#5712](https://github.com/tobymao/sqlglot/pull/5712) by [@geooo109](https://github.com/geooo109))*
|
|
34
|
+
- [`848aea1`](https://github.com/tobymao/sqlglot/commit/848aea1dbaaeb580b633796dcca06c28314b9c3e) - **optimizer**: parse and annotate type for bq OCTET_LENGTH *(PR [#5713](https://github.com/tobymao/sqlglot/pull/5713) by [@geooo109](https://github.com/geooo109))*
|
|
35
|
+
- [`727bf83`](https://github.com/tobymao/sqlglot/commit/727bf8378f232188d35834d980b035552999ea3b) - add support for REVOKE DDL *(PR [#5703](https://github.com/tobymao/sqlglot/pull/5703) by [@newtonapple](https://github.com/newtonapple))*
|
|
36
|
+
|
|
37
|
+
### :bug: Bug Fixes
|
|
38
|
+
- [`0427c7b`](https://github.com/tobymao/sqlglot/commit/0427c7b7aa9f8161324085a98c5f531fa35c8b0c) - **optimizer**: qualify columns for AggFunc with DISTINCT *(PR [#5708](https://github.com/tobymao/sqlglot/pull/5708) by [@geooo109](https://github.com/geooo109))*
|
|
39
|
+
- :arrow_lower_right: *fixes issue [#5698](https://github.com/tobymao/sqlglot/issues/5698) opened by [@georgesittas](https://github.com/georgesittas)*
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## [v27.9.0] - 2025-08-27
|
|
43
|
+
### :boom: BREAKING CHANGES
|
|
44
|
+
- due to [`7b180bd`](https://github.com/tobymao/sqlglot/commit/7b180bdc3da9e39946c22970bd2523f7d8beaf29) - raise if query modifier is specified multiple times *(PR [#5608](https://github.com/tobymao/sqlglot/pull/5608) by [@georgesittas](https://github.com/georgesittas))*:
|
|
45
|
+
|
|
46
|
+
raise if query modifier is specified multiple times (#5608)
|
|
47
|
+
|
|
48
|
+
- due to [`36602a2`](https://github.com/tobymao/sqlglot/commit/36602a2ecc9ffca98e89044d23e40f33c6ed71e4) - parse LIST_FILTER into ArrayFilter closes [#5633](https://github.com/tobymao/sqlglot/pull/5633) *(commit by [@georgesittas](https://github.com/georgesittas))*:
|
|
49
|
+
|
|
50
|
+
parse LIST_FILTER into ArrayFilter closes #5633
|
|
51
|
+
|
|
52
|
+
- due to [`0188d21`](https://github.com/tobymao/sqlglot/commit/0188d21d443c991a528eb9d220459890b7dca477) - parse LIST_TRANSFORM into Transform closes [#5634](https://github.com/tobymao/sqlglot/pull/5634) *(commit by [@georgesittas](https://github.com/georgesittas))*:
|
|
53
|
+
|
|
54
|
+
parse LIST_TRANSFORM into Transform closes #5634
|
|
55
|
+
|
|
56
|
+
- due to [`3ab1d44`](https://github.com/tobymao/sqlglot/commit/3ab1d4487279cab3be2d3764e51516c6db21629d) - Wrap CONCAT items with COALESCE less aggressively *(PR [#5641](https://github.com/tobymao/sqlglot/pull/5641) by [@VaggelisD](https://github.com/VaggelisD))*:
|
|
57
|
+
|
|
58
|
+
Wrap CONCAT items with COALESCE less aggressively (#5641)
|
|
59
|
+
|
|
60
|
+
- due to [`af0b299`](https://github.com/tobymao/sqlglot/commit/af0b299561914953b30ab36004e53dcb92d39e1c) - Qualify columns generated by exp.Aliases *(PR [#5647](https://github.com/tobymao/sqlglot/pull/5647) by [@VaggelisD](https://github.com/VaggelisD))*:
|
|
61
|
+
|
|
62
|
+
Qualify columns generated by exp.Aliases (#5647)
|
|
63
|
+
|
|
64
|
+
- due to [`53aa8fe`](https://github.com/tobymao/sqlglot/commit/53aa8fe7f188012f765066f32c4179035fff036d) - support alter table with check closes [#5649](https://github.com/tobymao/sqlglot/pull/5649) *(commit by [@georgesittas](https://github.com/georgesittas))*:
|
|
65
|
+
|
|
66
|
+
support alter table with check closes #5649
|
|
67
|
+
|
|
68
|
+
- due to [`1a60a5a`](https://github.com/tobymao/sqlglot/commit/1a60a5a845c7431d7d3d7ccb71119699316f4b41) - Added parsing/generation of JSON_ARRAY_CONTAINS function *(PR [#5661](https://github.com/tobymao/sqlglot/pull/5661) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*:
|
|
69
|
+
|
|
70
|
+
Added parsing/generation of JSON_ARRAY_CONTAINS function (#5661)
|
|
71
|
+
|
|
72
|
+
- due to [`e0db0a9`](https://github.com/tobymao/sqlglot/commit/e0db0a95d3cb7614242dbd1b439d408e7e7bd475) - add parse and annotate type for bigquery FARM_FINGERPRINT *(PR [#5667](https://github.com/tobymao/sqlglot/pull/5667) by [@geooo109](https://github.com/geooo109))*:
|
|
73
|
+
|
|
74
|
+
add parse and annotate type for bigquery FARM_FINGERPRINT (#5667)
|
|
75
|
+
|
|
76
|
+
- due to [`56588c7`](https://github.com/tobymao/sqlglot/commit/56588c7e22b4db4f0e44696a460483ca1e549163) - Add support for vector_search function. Move predict to BigQuery dialect. *(PR [#5660](https://github.com/tobymao/sqlglot/pull/5660) by [@rloredo](https://github.com/rloredo))*:
|
|
77
|
+
|
|
78
|
+
Add support for vector_search function. Move predict to BigQuery dialect. (#5660)
|
|
79
|
+
|
|
80
|
+
- due to [`a688a0f`](https://github.com/tobymao/sqlglot/commit/a688a0f0d70f87139e531d1419b338b695bec384) - parse and annotate type for bigquery APPROX_TOP_COUNT *(PR [#5670](https://github.com/tobymao/sqlglot/pull/5670) by [@geooo109](https://github.com/geooo109))*:
|
|
81
|
+
|
|
82
|
+
parse and annotate type for bigquery APPROX_TOP_COUNT (#5670)
|
|
83
|
+
|
|
84
|
+
- due to [`3c93fcc`](https://github.com/tobymao/sqlglot/commit/3c93fcce96ec82e78753f6c9dd5fb0e730a82058) - parse and annotate type for bigquery APPROX_TOP_SUM *(PR [#5675](https://github.com/tobymao/sqlglot/pull/5675) by [@geooo109](https://github.com/geooo109))*:
|
|
85
|
+
|
|
86
|
+
parse and annotate type for bigquery APPROX_TOP_SUM (#5675)
|
|
87
|
+
|
|
88
|
+
- due to [`741d45a`](https://github.com/tobymao/sqlglot/commit/741d45a0ca7c1bad67da4393cd10cc9cfa49ea68) - parse and annotate type for bigquery FROM/TO_BASE32 *(PR [#5676](https://github.com/tobymao/sqlglot/pull/5676) by [@geooo109](https://github.com/geooo109))*:
|
|
89
|
+
|
|
90
|
+
parse and annotate type for bigquery FROM/TO_BASE32 (#5676)
|
|
91
|
+
|
|
92
|
+
- due to [`9ae045c`](https://github.com/tobymao/sqlglot/commit/9ae045c0405e43b148e3b9261825288ebf09100c) - parse and annotate type for bigquery FROM_HEX *(PR [#5679](https://github.com/tobymao/sqlglot/pull/5679) by [@geooo109](https://github.com/geooo109))*:
|
|
93
|
+
|
|
94
|
+
parse and annotate type for bigquery FROM_HEX (#5679)
|
|
95
|
+
|
|
96
|
+
- due to [`5a22a25`](https://github.com/tobymao/sqlglot/commit/5a22a254143978989027f6e7f6163019a34f112a) - annotate type for bigquery TO_HEX *(PR [#5680](https://github.com/tobymao/sqlglot/pull/5680) by [@geooo109](https://github.com/geooo109))*:
|
|
97
|
+
|
|
98
|
+
annotate type for bigquery TO_HEX (#5680)
|
|
99
|
+
|
|
100
|
+
- due to [`5c1eb2d`](https://github.com/tobymao/sqlglot/commit/5c1eb2df5dd3dcc6ed2c8204cec56b5c3d276f87) - parse and annotate type for bq PARSE_BIG/NUMERIC *(PR [#5690](https://github.com/tobymao/sqlglot/pull/5690) by [@geooo109](https://github.com/geooo109))*:
|
|
101
|
+
|
|
102
|
+
parse and annotate type for bq PARSE_BIG/NUMERIC (#5690)
|
|
103
|
+
|
|
104
|
+
- due to [`311373d`](https://github.com/tobymao/sqlglot/commit/311373d22134de906d1c1cef019541e85e2f7c9f) - parse and annotate type for bq CODE_POINTS_TO_BYTES *(PR [#5686](https://github.com/tobymao/sqlglot/pull/5686) by [@geooo109](https://github.com/geooo109))*:
|
|
105
|
+
|
|
106
|
+
parse and annotate type for bq CODE_POINTS_TO_BYTES (#5686)
|
|
107
|
+
|
|
108
|
+
- due to [`79d9de1`](https://github.com/tobymao/sqlglot/commit/79d9de1745598f8f3ae2c82c1389dd455c946a09) - parse and annotate type for bq TO_CODE_POINTS *(PR [#5685](https://github.com/tobymao/sqlglot/pull/5685) by [@geooo109](https://github.com/geooo109))*:
|
|
109
|
+
|
|
110
|
+
parse and annotate type for bq TO_CODE_POINTS (#5685)
|
|
111
|
+
|
|
112
|
+
- due to [`5df3ea9`](https://github.com/tobymao/sqlglot/commit/5df3ea92f59125955124ea1883b777b489db3042) - parse and annotate type for bq SAFE_CONVERT_BYTES_TO_STRING *(PR [#5681](https://github.com/tobymao/sqlglot/pull/5681) by [@geooo109](https://github.com/geooo109))*:
|
|
113
|
+
|
|
114
|
+
parse and annotate type for bq SAFE_CONVERT_BYTES_TO_STRING (#5681)
|
|
115
|
+
|
|
116
|
+
- due to [`c832746`](https://github.com/tobymao/sqlglot/commit/c832746018fbc2c531d5b2a7c7f8cd5d78e511ff) - parse and annotate type for bigquery APPROX_QUANTILES *(PR [#5678](https://github.com/tobymao/sqlglot/pull/5678) by [@geooo109](https://github.com/geooo109))*:
|
|
117
|
+
|
|
118
|
+
parse and annotate type for bigquery APPROX_QUANTILES (#5678)
|
|
119
|
+
|
|
120
|
+
- due to [`99e169e`](https://github.com/tobymao/sqlglot/commit/99e169ea13d5be3712a47f6b55b98a4764a3c24d) - parse and annotate type for bq BOOL *(PR [#5697](https://github.com/tobymao/sqlglot/pull/5697) by [@geooo109](https://github.com/geooo109))*:
|
|
121
|
+
|
|
122
|
+
parse and annotate type for bq BOOL (#5697)
|
|
123
|
+
|
|
124
|
+
- due to [`3f31770`](https://github.com/tobymao/sqlglot/commit/3f31770c793f464fcac1ce2b8dfa03d4b7f0231c) - parse and annotate type for bq FLOAT64 *(PR [#5700](https://github.com/tobymao/sqlglot/pull/5700) by [@geooo109](https://github.com/geooo109))*:
|
|
125
|
+
|
|
126
|
+
parse and annotate type for bq FLOAT64 (#5700)
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
### :sparkles: New Features
|
|
130
|
+
- [`02e60e7`](https://github.com/tobymao/sqlglot/commit/02e60e73fc0c2dae815aa225be247a17ccdf4b82) - **singlestore**: desugarize DAYNAME into DATE_FORMAT *(PR [#5610](https://github.com/tobymao/sqlglot/pull/5610) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
131
|
+
- [`7b180bd`](https://github.com/tobymao/sqlglot/commit/7b180bdc3da9e39946c22970bd2523f7d8beaf29) - **parser**: raise if query modifier is specified multiple times *(PR [#5608](https://github.com/tobymao/sqlglot/pull/5608) by [@georgesittas](https://github.com/georgesittas))*
|
|
132
|
+
- :arrow_lower_right: *addresses issue [#5604](https://github.com/tobymao/sqlglot/issues/5604) opened by [@bricct](https://github.com/bricct)*
|
|
133
|
+
- [`442eafc`](https://github.com/tobymao/sqlglot/commit/442eafcb00a2650930bd6023aa9a5febfebbe796) - **singlestore**: Added parsing of HOUR function *(PR [#5612](https://github.com/tobymao/sqlglot/pull/5612) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
134
|
+
- [`5320359`](https://github.com/tobymao/sqlglot/commit/532035978605efd1d43de75aafca750e2894c0b9) - **singlestore**: Added parsing of MICROSECOND function *(PR [#5619](https://github.com/tobymao/sqlglot/pull/5619) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
135
|
+
- [`db1db97`](https://github.com/tobymao/sqlglot/commit/db1db9732352187629df853ad937ebaf4abfe487) - **doris**: update exp.UniqueKeyProperty SQL generation logic *(PR [#5613](https://github.com/tobymao/sqlglot/pull/5613) by [@xinge-ji](https://github.com/xinge-ji))*
|
|
136
|
+
- [`54623a6`](https://github.com/tobymao/sqlglot/commit/54623a6b85432272703f12a197b05ced78529f90) - **singlestore**: Added parsing of MINUTE function *(PR [#5620](https://github.com/tobymao/sqlglot/pull/5620) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
137
|
+
- [`565c9f8`](https://github.com/tobymao/sqlglot/commit/565c9f8c55cfbef5d3a9e1470551f1dc4416825e) - **singlestore**: Added generation of DAYOFWEEK_ISO function *(PR [#5627](https://github.com/tobymao/sqlglot/pull/5627) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
138
|
+
- [`8db916e`](https://github.com/tobymao/sqlglot/commit/8db916e2f2ce241bdff130d626f98df182b48f3e) - **singlestore**: Added parsing of WEEKDAY function *(PR [#5624](https://github.com/tobymao/sqlglot/pull/5624) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
139
|
+
- [`aa6274a`](https://github.com/tobymao/sqlglot/commit/aa6274a0ea647df1251563945635260a6ddd4972) - **singlestore**: Fixed generation of DAY_OF_MONTH function *(PR [#5629](https://github.com/tobymao/sqlglot/pull/5629) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
140
|
+
- [`dee44b8`](https://github.com/tobymao/sqlglot/commit/dee44b8c1d70ca6079867896fb68cad256909dad) - **singlestore**: Added parsing of MONTHNAME function *(PR [#5623](https://github.com/tobymao/sqlglot/pull/5623) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
141
|
+
- [`deebf0c`](https://github.com/tobymao/sqlglot/commit/deebf0c3cc379e28c4ab66b6bb7a9c84c14e88c6) - **singlestore**: Added parsing of SECOND function *(PR [#5621](https://github.com/tobymao/sqlglot/pull/5621) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
142
|
+
- [`12a60b9`](https://github.com/tobymao/sqlglot/commit/12a60b99b6b2b0673b57218c691794deb67aa3a5) - **singlestore**: Removed redundant deletions from TRANSFORMS *(PR [#5632](https://github.com/tobymao/sqlglot/pull/5632) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
143
|
+
- [`36602a2`](https://github.com/tobymao/sqlglot/commit/36602a2ecc9ffca98e89044d23e40f33c6ed71e4) - **duckdb**: parse LIST_FILTER into ArrayFilter closes [#5633](https://github.com/tobymao/sqlglot/pull/5633) *(commit by [@georgesittas](https://github.com/georgesittas))*
|
|
144
|
+
- [`0188d21`](https://github.com/tobymao/sqlglot/commit/0188d21d443c991a528eb9d220459890b7dca477) - **duckdb**: parse LIST_TRANSFORM into Transform closes [#5634](https://github.com/tobymao/sqlglot/pull/5634) *(commit by [@georgesittas](https://github.com/georgesittas))*
|
|
145
|
+
- [`b117d59`](https://github.com/tobymao/sqlglot/commit/b117d59f3c43f6f44cd0ccdf22717f7bcd990889) - **dremio**: add dremio date_add and date_sub parsing *(PR [#5617](https://github.com/tobymao/sqlglot/pull/5617) by [@jasonthomassql](https://github.com/jasonthomassql))*
|
|
146
|
+
- [`999b9e7`](https://github.com/tobymao/sqlglot/commit/999b9e793c0819a4d2af6400fc924946d26b3e6f) - **singlestore**: Changed generation of exp.TsOrDsToDate to handle case when format is not provided *(PR [#5639](https://github.com/tobymao/sqlglot/pull/5639) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
147
|
+
- [`b556e97`](https://github.com/tobymao/sqlglot/commit/b556e97f8cfbde21c0a921ac1c01c9e4f2ec2535) - **singlestore**: Marked exp.All as unsupported *(PR [#5640](https://github.com/tobymao/sqlglot/pull/5640) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
148
|
+
- [`c076694`](https://github.com/tobymao/sqlglot/commit/c0766946e6799fb61c38e855fd18812d08a5c251) - **clickhouse**: support custom partition key expressions *(PR [#5645](https://github.com/tobymao/sqlglot/pull/5645) by [@GaliFFun](https://github.com/GaliFFun))*
|
|
149
|
+
- [`cab62b0`](https://github.com/tobymao/sqlglot/commit/cab62b06ce926e3116a6a45a9c57e4901cd8a281) - **doris**: add support for BUILD and REFRESH properties in materialized view *(PR [#5614](https://github.com/tobymao/sqlglot/pull/5614) by [@xinge-ji](https://github.com/xinge-ji))*
|
|
150
|
+
- [`af0b299`](https://github.com/tobymao/sqlglot/commit/af0b299561914953b30ab36004e53dcb92d39e1c) - **optimizer**: Qualify columns generated by exp.Aliases *(PR [#5647](https://github.com/tobymao/sqlglot/pull/5647) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
151
|
+
- :arrow_lower_right: *addresses issue [#5638](https://github.com/tobymao/sqlglot/issues/5638) opened by [@catlynkong](https://github.com/catlynkong)*
|
|
152
|
+
- [`981e0e7`](https://github.com/tobymao/sqlglot/commit/981e0e70a304665e746158c859bcc81f99384685) - **doris**: add support for PARTITION BY LIST *(PR [#5615](https://github.com/tobymao/sqlglot/pull/5615) by [@xinge-ji](https://github.com/xinge-ji))*
|
|
153
|
+
- [`53aa8fe`](https://github.com/tobymao/sqlglot/commit/53aa8fe7f188012f765066f32c4179035fff036d) - **tsql**: support alter table with check closes [#5649](https://github.com/tobymao/sqlglot/pull/5649) *(commit by [@georgesittas](https://github.com/georgesittas))*
|
|
154
|
+
- [`23cac6c`](https://github.com/tobymao/sqlglot/commit/23cac6c58099a9ac818ac5d3970a427ca3579cca) - **exasol**: Add support for GROUP_CONCAT and LISTAGG functions *(PR [#5646](https://github.com/tobymao/sqlglot/pull/5646) by [@nnamdi16](https://github.com/nnamdi16))*
|
|
155
|
+
- [`d087ac8`](https://github.com/tobymao/sqlglot/commit/d087ac89376df5ab16de99c8b67f99060f0a6170) - **bigquery**: Add support for ml.generate_embedding function *(PR [#5652](https://github.com/tobymao/sqlglot/pull/5652) by [@rloredo](https://github.com/rloredo))*
|
|
156
|
+
- [`e71bcb5`](https://github.com/tobymao/sqlglot/commit/e71bcb51181de63c8ad13004216506529fcf9644) - **dremio**: support array_generate_range *(PR [#5653](https://github.com/tobymao/sqlglot/pull/5653) by [@jasonthomassql](https://github.com/jasonthomassql))*
|
|
157
|
+
- [`edbd04b`](https://github.com/tobymao/sqlglot/commit/edbd04b6a91b1a6f76e4fa938098ba5ed581ba72) - **singlestore**: Fixed generation of exp.RegexpLike *(PR [#5663](https://github.com/tobymao/sqlglot/pull/5663) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
158
|
+
- [`4992edb`](https://github.com/tobymao/sqlglot/commit/4992edbb79f4922917cc5ce5aa687e6f7da7798c) - **singlestore**: Fixed exp.Xor generation *(PR [#5662](https://github.com/tobymao/sqlglot/pull/5662) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
159
|
+
- [`20de3d3`](https://github.com/tobymao/sqlglot/commit/20de3d37cdae0705c67f80fbacbe024a62f34657) - **singlestore**: Fixed parsing/generation of exp.Hll *(PR [#5664](https://github.com/tobymao/sqlglot/pull/5664) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
160
|
+
- [`1a60a5a`](https://github.com/tobymao/sqlglot/commit/1a60a5a845c7431d7d3d7ccb71119699316f4b41) - **singlestore**: Added parsing/generation of JSON_ARRAY_CONTAINS function *(PR [#5661](https://github.com/tobymao/sqlglot/pull/5661) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
161
|
+
- [`f662dc0`](https://github.com/tobymao/sqlglot/commit/f662dc0b47fd14d00899c14a899756a5ba1fe9da) - **singlestore**: Fixed generation of exp.ApproxDistinct *(PR [#5666](https://github.com/tobymao/sqlglot/pull/5666) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
162
|
+
- [`e0db0a9`](https://github.com/tobymao/sqlglot/commit/e0db0a95d3cb7614242dbd1b439d408e7e7bd475) - **optimizer**: add parse and annotate type for bigquery FARM_FINGERPRINT *(PR [#5667](https://github.com/tobymao/sqlglot/pull/5667) by [@geooo109](https://github.com/geooo109))*
|
|
163
|
+
- [`dcd4ef7`](https://github.com/tobymao/sqlglot/commit/dcd4ef769727ed1227911f2d9a85244d61173003) - **singlestore**: Fixed exp.CountIf generation *(PR [#5668](https://github.com/tobymao/sqlglot/pull/5668) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
164
|
+
- [`e431e85`](https://github.com/tobymao/sqlglot/commit/e431e851c2c5d20f049adbc38e370a64d39c346f) - **singlestore**: Fixed generation of exp.LogicalOr *(PR [#5669](https://github.com/tobymao/sqlglot/pull/5669) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
165
|
+
- [`56588c7`](https://github.com/tobymao/sqlglot/commit/56588c7e22b4db4f0e44696a460483ca1e549163) - **bigquery**: Add support for vector_search function. Move predict to BigQuery dialect. *(PR [#5660](https://github.com/tobymao/sqlglot/pull/5660) by [@rloredo](https://github.com/rloredo))*
|
|
166
|
+
- [`f0d2cc2`](https://github.com/tobymao/sqlglot/commit/f0d2cc2b0f72340172ecd154f632aa6a24c15512) - **singlestore**: Fixed generation of exp.LogicalAnd *(PR [#5671](https://github.com/tobymao/sqlglot/pull/5671) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
167
|
+
- [`a688a0f`](https://github.com/tobymao/sqlglot/commit/a688a0f0d70f87139e531d1419b338b695bec384) - **optimizer**: parse and annotate type for bigquery APPROX_TOP_COUNT *(PR [#5670](https://github.com/tobymao/sqlglot/pull/5670) by [@geooo109](https://github.com/geooo109))*
|
|
168
|
+
- [`fa8d571`](https://github.com/tobymao/sqlglot/commit/fa8d57132b1d21d92eb5de3ba88b41f880e14889) - **singlestore**: Fixed generation/parsing of exp.ApproxQuantile *(PR [#5672](https://github.com/tobymao/sqlglot/pull/5672) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
169
|
+
- [`9955ebe`](https://github.com/tobymao/sqlglot/commit/9955ebe90d3421815738ecb643806add755c5df3) - **singlestore**: Fixed parsing/generation of exp.Variance *(PR [#5673](https://github.com/tobymao/sqlglot/pull/5673) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
170
|
+
- [`3c93fcc`](https://github.com/tobymao/sqlglot/commit/3c93fcce96ec82e78753f6c9dd5fb0e730a82058) - **optimizer**: parse and annotate type for bigquery APPROX_TOP_SUM *(PR [#5675](https://github.com/tobymao/sqlglot/pull/5675) by [@geooo109](https://github.com/geooo109))*
|
|
171
|
+
- [`60cbb9d`](https://github.com/tobymao/sqlglot/commit/60cbb9d0e3c9b5a36c1368c9b5bb05def8ce8658) - **dremio**: add CURRENT_DATE_UTC *(PR [#5674](https://github.com/tobymao/sqlglot/pull/5674) by [@jasonthomassql](https://github.com/jasonthomassql))*
|
|
172
|
+
- :arrow_lower_right: *addresses issue [#5655](https://github.com/tobymao/sqlglot/issues/5655) opened by [@jasonthomassql](https://github.com/jasonthomassql)*
|
|
173
|
+
- [`741d45a`](https://github.com/tobymao/sqlglot/commit/741d45a0ca7c1bad67da4393cd10cc9cfa49ea68) - **optimizer**: parse and annotate type for bigquery FROM/TO_BASE32 *(PR [#5676](https://github.com/tobymao/sqlglot/pull/5676) by [@geooo109](https://github.com/geooo109))*
|
|
174
|
+
- [`9ae045c`](https://github.com/tobymao/sqlglot/commit/9ae045c0405e43b148e3b9261825288ebf09100c) - **optimizer**: parse and annotate type for bigquery FROM_HEX *(PR [#5679](https://github.com/tobymao/sqlglot/pull/5679) by [@geooo109](https://github.com/geooo109))*
|
|
175
|
+
- [`5a22a25`](https://github.com/tobymao/sqlglot/commit/5a22a254143978989027f6e7f6163019a34f112a) - **optimizer**: annotate type for bigquery TO_HEX *(PR [#5680](https://github.com/tobymao/sqlglot/pull/5680) by [@geooo109](https://github.com/geooo109))*
|
|
176
|
+
- [`d920ac3`](https://github.com/tobymao/sqlglot/commit/d920ac3886ce006d76616bc31884ee2f5c4162bc) - **singlestore**: Fixed parsing/generation of exp.RegexpExtractAll *(PR [#5692](https://github.com/tobymao/sqlglot/pull/5692) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
177
|
+
- [`260c72b`](https://github.com/tobymao/sqlglot/commit/260c72befc0510ebe1d007284c0eef9343de20d7) - **singlestore**: Fixed parsing/generation of exp.Contains *(PR [#5684](https://github.com/tobymao/sqlglot/pull/5684) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
178
|
+
- [`081dc67`](https://github.com/tobymao/sqlglot/commit/081dc673b89d3d8d0709b29e359142297ff64536) - **singlestore**: Fixed generaion/parsing of exp.VariancePop *(PR [#5682](https://github.com/tobymao/sqlglot/pull/5682) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
179
|
+
- [`eb538bf`](https://github.com/tobymao/sqlglot/commit/eb538bf225645d0a54d614733e447c13cf91a37a) - **singlestore**: Fixed generation of exp.Chr *(PR [#5683](https://github.com/tobymao/sqlglot/pull/5683) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
180
|
+
- [`32d9dd1`](https://github.com/tobymao/sqlglot/commit/32d9dd1309ce0876114f57993596c4456aa1d50f) - **singlestore**: Fixed exp.MD5Digest generation *(PR [#5688](https://github.com/tobymao/sqlglot/pull/5688) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
181
|
+
- [`5c1eb2d`](https://github.com/tobymao/sqlglot/commit/5c1eb2df5dd3dcc6ed2c8204cec56b5c3d276f87) - **optimizer**: parse and annotate type for bq PARSE_BIG/NUMERIC *(PR [#5690](https://github.com/tobymao/sqlglot/pull/5690) by [@geooo109](https://github.com/geooo109))*
|
|
182
|
+
- [`6f88500`](https://github.com/tobymao/sqlglot/commit/6f885007a075339cf20034459571a6ae821c61c0) - **singlestore**: Fixed exp.IsAscii generation *(PR [#5687](https://github.com/tobymao/sqlglot/pull/5687) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
183
|
+
- [`311373d`](https://github.com/tobymao/sqlglot/commit/311373d22134de906d1c1cef019541e85e2f7c9f) - **optimizer**: parse and annotate type for bq CODE_POINTS_TO_BYTES *(PR [#5686](https://github.com/tobymao/sqlglot/pull/5686) by [@geooo109](https://github.com/geooo109))*
|
|
184
|
+
- [`79d9de1`](https://github.com/tobymao/sqlglot/commit/79d9de1745598f8f3ae2c82c1389dd455c946a09) - **optimizer**: parse and annotate type for bq TO_CODE_POINTS *(PR [#5685](https://github.com/tobymao/sqlglot/pull/5685) by [@geooo109](https://github.com/geooo109))*
|
|
185
|
+
- [`5df3ea9`](https://github.com/tobymao/sqlglot/commit/5df3ea92f59125955124ea1883b777b489db3042) - **optimizer**: parse and annotate type for bq SAFE_CONVERT_BYTES_TO_STRING *(PR [#5681](https://github.com/tobymao/sqlglot/pull/5681) by [@geooo109](https://github.com/geooo109))*
|
|
186
|
+
- [`c832746`](https://github.com/tobymao/sqlglot/commit/c832746018fbc2c531d5b2a7c7f8cd5d78e511ff) - **optimizer**: parse and annotate type for bigquery APPROX_QUANTILES *(PR [#5678](https://github.com/tobymao/sqlglot/pull/5678) by [@geooo109](https://github.com/geooo109))*
|
|
187
|
+
- [`8fa5ae8`](https://github.com/tobymao/sqlglot/commit/8fa5ae8a61c698abaea265b4950390ea3ddfa7e9) - **singlestore**: Fixed generation/parsing of exp.RegexpExtract *(PR [#5691](https://github.com/tobymao/sqlglot/pull/5691) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
188
|
+
- [`d6d409a`](https://github.com/tobymao/sqlglot/commit/d6d409a548042063f80d02dfaf5b61a0096d1d50) - **singlestore**: Fixed generaion of exp.Repeat *(PR [#5693](https://github.com/tobymao/sqlglot/pull/5693) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
189
|
+
- [`b7db08b`](https://github.com/tobymao/sqlglot/commit/b7db08b96c7d7d02ec54f26b8749b3d57f021d8b) - **singlestore**: Fixed generation of exp.StartsWith *(PR [#5694](https://github.com/tobymao/sqlglot/pull/5694) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
190
|
+
- [`87b04ef`](https://github.com/tobymao/sqlglot/commit/87b04ef0fc2df5064be9e6b75b264cff0639face) - **singlestore**: Fixed generation of exp.FromBase *(PR [#5695](https://github.com/tobymao/sqlglot/pull/5695) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
191
|
+
- [`9c1d0fd`](https://github.com/tobymao/sqlglot/commit/9c1d0fdac9acd3fb3109ca3d3cae9c9ffaed1a7d) - **duckdb**: transpile array unique aggregation closes [#5689](https://github.com/tobymao/sqlglot/pull/5689) *(commit by [@georgesittas](https://github.com/georgesittas))*
|
|
192
|
+
- [`99e169e`](https://github.com/tobymao/sqlglot/commit/99e169ea13d5be3712a47f6b55b98a4764a3c24d) - **optimizer**: parse and annotate type for bq BOOL *(PR [#5697](https://github.com/tobymao/sqlglot/pull/5697) by [@geooo109](https://github.com/geooo109))*
|
|
193
|
+
- [`3f31770`](https://github.com/tobymao/sqlglot/commit/3f31770c793f464fcac1ce2b8dfa03d4b7f0231c) - **optimizer**: parse and annotate type for bq FLOAT64 *(PR [#5700](https://github.com/tobymao/sqlglot/pull/5700) by [@geooo109](https://github.com/geooo109))*
|
|
194
|
+
|
|
195
|
+
### :bug: Bug Fixes
|
|
196
|
+
- [`f1269f5`](https://github.com/tobymao/sqlglot/commit/f1269f5ecfccfee4cdeeda5bfd10eb1c47994fad) - **tsql**: do not attach limit modifier to set operation *(PR [#5609](https://github.com/tobymao/sqlglot/pull/5609) by [@georgesittas](https://github.com/georgesittas))*
|
|
197
|
+
- [`a6edf8e`](https://github.com/tobymao/sqlglot/commit/a6edf8ee3273a7736ed801ef8dea302613b119da) - **tsql**: Remove ORDER from set op modifiers too *(PR [#5626](https://github.com/tobymao/sqlglot/pull/5626) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
198
|
+
- :arrow_lower_right: *fixes issue [#5618](https://github.com/tobymao/sqlglot/issues/5618) opened by [@MQMMMQM](https://github.com/MQMMMQM)*
|
|
199
|
+
- [`ce5840e`](https://github.com/tobymao/sqlglot/commit/ce5840ed615e162a93cd911ab6207160878fcc64) - **exasol**: update several dialect properties to correctly reflect semantics *(PR [#5642](https://github.com/tobymao/sqlglot/pull/5642) by [@nnamdi16](https://github.com/nnamdi16))*
|
|
200
|
+
- [`3ab1d44`](https://github.com/tobymao/sqlglot/commit/3ab1d4487279cab3be2d3764e51516c6db21629d) - **generator**: Wrap CONCAT items with COALESCE less aggressively *(PR [#5641](https://github.com/tobymao/sqlglot/pull/5641) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
201
|
+
- [`045d2f0`](https://github.com/tobymao/sqlglot/commit/045d2f02649b0e6dc178c079e4e0db201ed9bf08) - **duckdb**: Transpile Spark's FIRST(col, TRUE) *(PR [#5644](https://github.com/tobymao/sqlglot/pull/5644) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
202
|
+
- :arrow_lower_right: *fixes issue [#5643](https://github.com/tobymao/sqlglot/issues/5643) opened by [@michal-clutch](https://github.com/michal-clutch)*
|
|
203
|
+
|
|
204
|
+
### :wrench: Chores
|
|
205
|
+
- [`4c04c0c`](https://github.com/tobymao/sqlglot/commit/4c04c0ce859ab8314ed36fb8779f14c0fc2f1094) - use a valid SPDX identifier as license classifier *(PR [#5606](https://github.com/tobymao/sqlglot/pull/5606) by [@ecederstrand](https://github.com/ecederstrand))*
|
|
206
|
+
- [`249f638`](https://github.com/tobymao/sqlglot/commit/249f638877ddd2a1732d1e6bc859793f3bc0622d) - add table to document dialect support level *(PR [#5628](https://github.com/tobymao/sqlglot/pull/5628) by [@georgesittas](https://github.com/georgesittas))*
|
|
207
|
+
- [`3357125`](https://github.com/tobymao/sqlglot/commit/33571250d172d64a3e0450738b3ad330e5c0a795) - **doris**: refactor unique key prop generation *(PR [#5625](https://github.com/tobymao/sqlglot/pull/5625) by [@georgesittas](https://github.com/georgesittas))*
|
|
208
|
+
- [`545f1ac`](https://github.com/tobymao/sqlglot/commit/545f1acd76bdc4e537209266984137f6c69ce622) - Clean up of PR5614 *(PR [#5648](https://github.com/tobymao/sqlglot/pull/5648) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
## [v27.8.0] - 2025-08-19
|
|
212
|
+
### :boom: BREAKING CHANGES
|
|
213
|
+
- due to [`2a33339`](https://github.com/tobymao/sqlglot/commit/2a333395cde71936df911488afcff92cae735e11) - annotate type for bigquery REPLACE *(PR [#5572](https://github.com/tobymao/sqlglot/pull/5572) by [@geooo109](https://github.com/geooo109))*:
|
|
214
|
+
|
|
215
|
+
annotate type for bigquery REPLACE (#5572)
|
|
216
|
+
|
|
217
|
+
- due to [`1e6f813`](https://github.com/tobymao/sqlglot/commit/1e6f81343de641e588f1a05ce7dc01bed72bd849) - annotate type for bigquery REGEXP_EXTRACT_ALL *(PR [#5573](https://github.com/tobymao/sqlglot/pull/5573) by [@geooo109](https://github.com/geooo109))*:
|
|
218
|
+
|
|
219
|
+
annotate type for bigquery REGEXP_EXTRACT_ALL (#5573)
|
|
220
|
+
|
|
221
|
+
- due to [`d0d62ed`](https://github.com/tobymao/sqlglot/commit/d0d62ede6320b3fd0eee04b7073f5708676dc58c) - support `TO_CHAR` with numeric inputs *(PR [#5570](https://github.com/tobymao/sqlglot/pull/5570) by [@jasonthomassql](https://github.com/jasonthomassql))*:
|
|
222
|
+
|
|
223
|
+
support `TO_CHAR` with numeric inputs (#5570)
|
|
224
|
+
|
|
225
|
+
- due to [`7928985`](https://github.com/tobymao/sqlglot/commit/7928985a655c3d0244bc9175a37f502b19a5c5f0) - allow dashes in JSONPath keys *(PR [#5574](https://github.com/tobymao/sqlglot/pull/5574) by [@georgesittas](https://github.com/georgesittas))*:
|
|
226
|
+
|
|
227
|
+
allow dashes in JSONPath keys (#5574)
|
|
228
|
+
|
|
229
|
+
- due to [`eb09e6e`](https://github.com/tobymao/sqlglot/commit/eb09e6e32491a05846488de7b72b1dca0e0a2669) - parse and annotate type for bigquery TRANSLATE *(PR [#5575](https://github.com/tobymao/sqlglot/pull/5575) by [@geooo109](https://github.com/geooo109))*:
|
|
230
|
+
|
|
231
|
+
parse and annotate type for bigquery TRANSLATE (#5575)
|
|
232
|
+
|
|
233
|
+
- due to [`f9a522b`](https://github.com/tobymao/sqlglot/commit/f9a522b26cd5d643b8b18fa64d70f2a3f0ff2d2c) - parse and annotate type for bigquery SOUNDEX *(PR [#5576](https://github.com/tobymao/sqlglot/pull/5576) by [@geooo109](https://github.com/geooo109))*:
|
|
234
|
+
|
|
235
|
+
parse and annotate type for bigquery SOUNDEX (#5576)
|
|
236
|
+
|
|
237
|
+
- due to [`51da41b`](https://github.com/tobymao/sqlglot/commit/51da41b90ce421b154e45add28353ac044640a1c) - annotate type for bigquery MD5 *(PR [#5577](https://github.com/tobymao/sqlglot/pull/5577) by [@geooo109](https://github.com/geooo109))*:
|
|
238
|
+
|
|
239
|
+
annotate type for bigquery MD5 (#5577)
|
|
240
|
+
|
|
241
|
+
- due to [`bcf302f`](https://github.com/tobymao/sqlglot/commit/bcf302ff6ad2d0adfc29f708a8b53b5c0e547619) - annotate type for bigquery MIN/MAX BY *(PR [#5579](https://github.com/tobymao/sqlglot/pull/5579) by [@geooo109](https://github.com/geooo109))*:
|
|
242
|
+
|
|
243
|
+
annotate type for bigquery MIN/MAX BY (#5579)
|
|
244
|
+
|
|
245
|
+
- due to [`c501d9e`](https://github.com/tobymao/sqlglot/commit/c501d9e6f58e4880e4d23f21f53f72dcb5fdaa8c) - parse and annotate type for bigquery GROUPING *(PR [#5581](https://github.com/tobymao/sqlglot/pull/5581) by [@geooo109](https://github.com/geooo109))*:
|
|
246
|
+
|
|
247
|
+
parse and annotate type for bigquery GROUPING (#5581)
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
### :sparkles: New Features
|
|
251
|
+
- [`2a33339`](https://github.com/tobymao/sqlglot/commit/2a333395cde71936df911488afcff92cae735e11) - **optimizer**: annotate type for bigquery REPLACE *(PR [#5572](https://github.com/tobymao/sqlglot/pull/5572) by [@geooo109](https://github.com/geooo109))*
|
|
252
|
+
- [`1e6f813`](https://github.com/tobymao/sqlglot/commit/1e6f81343de641e588f1a05ce7dc01bed72bd849) - **optimizer**: annotate type for bigquery REGEXP_EXTRACT_ALL *(PR [#5573](https://github.com/tobymao/sqlglot/pull/5573) by [@geooo109](https://github.com/geooo109))*
|
|
253
|
+
- [`eb09e6e`](https://github.com/tobymao/sqlglot/commit/eb09e6e32491a05846488de7b72b1dca0e0a2669) - **optimizer**: parse and annotate type for bigquery TRANSLATE *(PR [#5575](https://github.com/tobymao/sqlglot/pull/5575) by [@geooo109](https://github.com/geooo109))*
|
|
254
|
+
- [`f9a522b`](https://github.com/tobymao/sqlglot/commit/f9a522b26cd5d643b8b18fa64d70f2a3f0ff2d2c) - **optimizer**: parse and annotate type for bigquery SOUNDEX *(PR [#5576](https://github.com/tobymao/sqlglot/pull/5576) by [@geooo109](https://github.com/geooo109))*
|
|
255
|
+
- [`51da41b`](https://github.com/tobymao/sqlglot/commit/51da41b90ce421b154e45add28353ac044640a1c) - **optimizer**: annotate type for bigquery MD5 *(PR [#5577](https://github.com/tobymao/sqlglot/pull/5577) by [@geooo109](https://github.com/geooo109))*
|
|
256
|
+
- [`bcf302f`](https://github.com/tobymao/sqlglot/commit/bcf302ff6ad2d0adfc29f708a8b53b5c0e547619) - **optimizer**: annotate type for bigquery MIN/MAX BY *(PR [#5579](https://github.com/tobymao/sqlglot/pull/5579) by [@geooo109](https://github.com/geooo109))*
|
|
257
|
+
- [`c501d9e`](https://github.com/tobymao/sqlglot/commit/c501d9e6f58e4880e4d23f21f53f72dcb5fdaa8c) - **optimizer**: parse and annotate type for bigquery GROUPING *(PR [#5581](https://github.com/tobymao/sqlglot/pull/5581) by [@geooo109](https://github.com/geooo109))*
|
|
258
|
+
- [`8612825`](https://github.com/tobymao/sqlglot/commit/86128253f911b733d45b073356e3b8ddf261c22b) - **spark**: generate date/time ops as interval binary ops *(commit by [@georgesittas](https://github.com/georgesittas))*
|
|
259
|
+
- [`8fda774`](https://github.com/tobymao/sqlglot/commit/8fda774b7a9b0c66948349dfe030d3c122ff6eee) - **singlestore**: Added parsing and generation of JSON_EXTRACT *(PR [#5555](https://github.com/tobymao/sqlglot/pull/5555) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
260
|
+
- [`82cc954`](https://github.com/tobymao/sqlglot/commit/82cc9549a875211a400e5c4e818b05ca48a0a9f4) - **exasol**: map div function to IntDiv in exasol dialect *(PR [#5593](https://github.com/tobymao/sqlglot/pull/5593) by [@nnamdi16](https://github.com/nnamdi16))*
|
|
261
|
+
- [`eb0fe68`](https://github.com/tobymao/sqlglot/commit/eb0fe68d6b5977053c871badf2f5c1895b3e1c66) - **trino**: add JSON_VALUE function support with RETURNING clause *(PR [#5590](https://github.com/tobymao/sqlglot/pull/5590) by [@rev-rwasilewski](https://github.com/rev-rwasilewski))*
|
|
262
|
+
- [`9e95c11`](https://github.com/tobymao/sqlglot/commit/9e95c115ea0304d9ccb4cb0be8389f5ff5f2a952) - **exasol**: mapped weekofyear to week in Exasol dialect *(PR [#5594](https://github.com/tobymao/sqlglot/pull/5594) by [@nnamdi16](https://github.com/nnamdi16))*
|
|
263
|
+
- [`8f013c3`](https://github.com/tobymao/sqlglot/commit/8f013c37a412ca5978889c1e47b0c6f7add0715d) - **singlestore**: Fixed parsing of DATE function *(PR [#5601](https://github.com/tobymao/sqlglot/pull/5601) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
264
|
+
- [`a4a299a`](https://github.com/tobymao/sqlglot/commit/a4a299acbaf4461f0c2b470bc4e9e9590515eda7) - transpile `TO_CHAR` from Dremio to Databricks *(PR [#5598](https://github.com/tobymao/sqlglot/pull/5598) by [@jasonthomassql](https://github.com/jasonthomassql))*
|
|
265
|
+
- [`093f35c`](https://github.com/tobymao/sqlglot/commit/093f35c201c3c22c3a14c6f8de26c06246bdf19c) - **dremio**: handle `DATE_FORMAT`, `TO_DATE`, and `TO_TIMESTAMP` *(PR [#5597](https://github.com/tobymao/sqlglot/pull/5597) by [@jasonthomassql](https://github.com/jasonthomassql))*
|
|
266
|
+
|
|
267
|
+
### :bug: Bug Fixes
|
|
268
|
+
- [`d0d62ed`](https://github.com/tobymao/sqlglot/commit/d0d62ede6320b3fd0eee04b7073f5708676dc58c) - **dremio**: support `TO_CHAR` with numeric inputs *(PR [#5570](https://github.com/tobymao/sqlglot/pull/5570) by [@jasonthomassql](https://github.com/jasonthomassql))*
|
|
269
|
+
- [`7928985`](https://github.com/tobymao/sqlglot/commit/7928985a655c3d0244bc9175a37f502b19a5c5f0) - **bigquery**: allow dashes in JSONPath keys *(PR [#5574](https://github.com/tobymao/sqlglot/pull/5574) by [@georgesittas](https://github.com/georgesittas))*
|
|
270
|
+
- [`866042d`](https://github.com/tobymao/sqlglot/commit/866042d0268da0cebce042c0868878c0fb39c3d1) - Remove TokenType.APPLY from table alias tokens *(PR [#5592](https://github.com/tobymao/sqlglot/pull/5592) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
271
|
+
- :arrow_lower_right: *fixes issue [#5591](https://github.com/tobymao/sqlglot/issues/5591) opened by [@saadbelgi](https://github.com/saadbelgi)*
|
|
272
|
+
- [`b485f66`](https://github.com/tobymao/sqlglot/commit/b485f6666fa8625b7da45ef832b5d666fbb707ea) - **dremio**: improve `TO_CHAR` transpilability *(PR [#5580](https://github.com/tobymao/sqlglot/pull/5580) by [@jasonthomassql](https://github.com/jasonthomassql))*
|
|
273
|
+
- [`81874e9`](https://github.com/tobymao/sqlglot/commit/81874e9c3aafcc2cf8fb443f65146c5b3598b9b3) - handle unknown types in `unit_to_str` *(commit by [@georgesittas](https://github.com/georgesittas))*
|
|
274
|
+
|
|
275
|
+
### :wrench: Chores
|
|
276
|
+
- [`173e442`](https://github.com/tobymao/sqlglot/commit/173e4425b692728abffa8542324690823f984303) - refactor JSON_VALUE handling for MySQL and Trino *(commit by [@georgesittas](https://github.com/georgesittas))*
|
|
277
|
+
|
|
278
|
+
|
|
4
279
|
## [v27.7.0] - 2025-08-13
|
|
5
280
|
### :boom: BREAKING CHANGES
|
|
6
281
|
- due to [`938f4b6`](https://github.com/tobymao/sqlglot/commit/938f4b6ebc1c0d26bd3c1400883978c79a435189) - annotate type for LAST_DAY *(PR [#5528](https://github.com/tobymao/sqlglot/pull/5528) by [@geooo109](https://github.com/geooo109))*:
|
|
@@ -6535,3 +6810,6 @@ Changelog
|
|
|
6535
6810
|
[v27.5.1]: https://github.com/tobymao/sqlglot/compare/v27.5.0...v27.5.1
|
|
6536
6811
|
[v27.6.0]: https://github.com/tobymao/sqlglot/compare/v27.5.1...v27.6.0
|
|
6537
6812
|
[v27.7.0]: https://github.com/tobymao/sqlglot/compare/v27.6.0...v27.7.0
|
|
6813
|
+
[v27.8.0]: https://github.com/tobymao/sqlglot/compare/v27.7.0...v27.8.0
|
|
6814
|
+
[v27.9.0]: https://github.com/tobymao/sqlglot/compare/v27.8.0...v27.9.0
|
|
6815
|
+
[v27.10.0]: https://github.com/tobymao/sqlglot/compare/v27.9.0...v27.10.0
|
|
@@ -39,6 +39,10 @@ to share any relevant context and increase its chances of getting merged.
|
|
|
39
39
|
|
|
40
40
|
Note: make sure to follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) guidelines when creating a PR.
|
|
41
41
|
|
|
42
|
+
## IMPORTANT: Keep PRs minimal in scope
|
|
43
|
+
|
|
44
|
+
Each pull request should focus on a single, well-defined change. Avoid bundling multiple unrelated fixes or features in one PR. This makes code review faster and more effective, increases the likelihood of acceptance, and helps maintain a clean git history.
|
|
45
|
+
|
|
42
46
|
## Report bugs using GitHub's [issues](https://github.com/tobymao/sqlglot/issues)
|
|
43
47
|
|
|
44
48
|
We use GitHub issues to track public bugs. Report a bug by opening a new issue.
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sqlglot
|
|
3
|
-
Version: 27.
|
|
3
|
+
Version: 27.11.0
|
|
4
4
|
Summary: An easily customizable SQL parser and transpiler
|
|
5
5
|
Author-email: Toby Mao <toby.mao@gmail.com>
|
|
6
|
+
License-Expression: MIT
|
|
6
7
|
Project-URL: Homepage, https://sqlglot.com/
|
|
7
8
|
Project-URL: Documentation, https://sqlglot.com/sqlglot.html
|
|
8
9
|
Project-URL: Repository, https://github.com/tobymao/sqlglot
|
|
@@ -32,7 +33,7 @@ Requires-Dist: typing_extensions; extra == "dev"
|
|
|
32
33
|
Requires-Dist: maturin<2.0,>=1.4; extra == "dev"
|
|
33
34
|
Requires-Dist: pyperf; extra == "dev"
|
|
34
35
|
Provides-Extra: rs
|
|
35
|
-
Requires-Dist: sqlglotrs==0.6.
|
|
36
|
+
Requires-Dist: sqlglotrs==0.6.2; extra == "rs"
|
|
36
37
|
Dynamic: license-file
|
|
37
38
|
Dynamic: provides-extra
|
|
38
39
|
|
|
@@ -72,6 +73,7 @@ Contributions are very welcome in SQLGlot; read the [contribution guide](https:/
|
|
|
72
73
|
* [Run Tests and Lint](#run-tests-and-lint)
|
|
73
74
|
* [Benchmarks](#benchmarks)
|
|
74
75
|
* [Optional Dependencies](#optional-dependencies)
|
|
76
|
+
* [Supported Dialects](#supported-dialects)
|
|
75
77
|
|
|
76
78
|
## Install
|
|
77
79
|
|
|
@@ -584,3 +586,41 @@ SQLGlot uses [dateutil](https://github.com/dateutil/dateutil) to simplify litera
|
|
|
584
586
|
```sql
|
|
585
587
|
x + interval '1' month
|
|
586
588
|
```
|
|
589
|
+
|
|
590
|
+
## Supported Dialects
|
|
591
|
+
|
|
592
|
+
| Dialect | Support Level |
|
|
593
|
+
|---------|---------------|
|
|
594
|
+
| Athena | Official |
|
|
595
|
+
| BigQuery | Official |
|
|
596
|
+
| ClickHouse | Official |
|
|
597
|
+
| Databricks | Official |
|
|
598
|
+
| Doris | Community |
|
|
599
|
+
| Dremio | Community |
|
|
600
|
+
| Drill | Community |
|
|
601
|
+
| Druid | Community |
|
|
602
|
+
| DuckDB | Official |
|
|
603
|
+
| Exasol | Community |
|
|
604
|
+
| Fabric | Community |
|
|
605
|
+
| Hive | Official |
|
|
606
|
+
| Materialize | Community |
|
|
607
|
+
| MySQL | Official |
|
|
608
|
+
| Oracle | Official |
|
|
609
|
+
| Postgres | Official |
|
|
610
|
+
| Presto | Official |
|
|
611
|
+
| PRQL | Community |
|
|
612
|
+
| Redshift | Official |
|
|
613
|
+
| RisingWave | Community |
|
|
614
|
+
| SingleStore | Community |
|
|
615
|
+
| Snowflake | Official |
|
|
616
|
+
| Spark | Official |
|
|
617
|
+
| SQLite | Official |
|
|
618
|
+
| StarRocks | Official |
|
|
619
|
+
| Tableau | Official |
|
|
620
|
+
| Teradata | Community |
|
|
621
|
+
| Trino | Official |
|
|
622
|
+
| TSQL | Official |
|
|
623
|
+
|
|
624
|
+
**Official Dialects** are maintained by the core SQLGlot team with higher priority for bug fixes and feature additions.
|
|
625
|
+
|
|
626
|
+
**Community Dialects** are developed and maintained primarily through community contributions. These are fully functional but may receive lower priority for issue resolution compared to officially supported dialects. We welcome and encourage community contributions to improve these dialects.
|
|
@@ -34,6 +34,7 @@ Contributions are very welcome in SQLGlot; read the [contribution guide](https:/
|
|
|
34
34
|
* [Run Tests and Lint](#run-tests-and-lint)
|
|
35
35
|
* [Benchmarks](#benchmarks)
|
|
36
36
|
* [Optional Dependencies](#optional-dependencies)
|
|
37
|
+
* [Supported Dialects](#supported-dialects)
|
|
37
38
|
|
|
38
39
|
## Install
|
|
39
40
|
|
|
@@ -546,3 +547,41 @@ SQLGlot uses [dateutil](https://github.com/dateutil/dateutil) to simplify litera
|
|
|
546
547
|
```sql
|
|
547
548
|
x + interval '1' month
|
|
548
549
|
```
|
|
550
|
+
|
|
551
|
+
## Supported Dialects
|
|
552
|
+
|
|
553
|
+
| Dialect | Support Level |
|
|
554
|
+
|---------|---------------|
|
|
555
|
+
| Athena | Official |
|
|
556
|
+
| BigQuery | Official |
|
|
557
|
+
| ClickHouse | Official |
|
|
558
|
+
| Databricks | Official |
|
|
559
|
+
| Doris | Community |
|
|
560
|
+
| Dremio | Community |
|
|
561
|
+
| Drill | Community |
|
|
562
|
+
| Druid | Community |
|
|
563
|
+
| DuckDB | Official |
|
|
564
|
+
| Exasol | Community |
|
|
565
|
+
| Fabric | Community |
|
|
566
|
+
| Hive | Official |
|
|
567
|
+
| Materialize | Community |
|
|
568
|
+
| MySQL | Official |
|
|
569
|
+
| Oracle | Official |
|
|
570
|
+
| Postgres | Official |
|
|
571
|
+
| Presto | Official |
|
|
572
|
+
| PRQL | Community |
|
|
573
|
+
| Redshift | Official |
|
|
574
|
+
| RisingWave | Community |
|
|
575
|
+
| SingleStore | Community |
|
|
576
|
+
| Snowflake | Official |
|
|
577
|
+
| Spark | Official |
|
|
578
|
+
| SQLite | Official |
|
|
579
|
+
| StarRocks | Official |
|
|
580
|
+
| Tableau | Official |
|
|
581
|
+
| Teradata | Community |
|
|
582
|
+
| Trino | Official |
|
|
583
|
+
| TSQL | Official |
|
|
584
|
+
|
|
585
|
+
**Official Dialects** are maintained by the core SQLGlot team with higher priority for bug fixes and feature additions.
|
|
586
|
+
|
|
587
|
+
**Community Dialects** are developed and maintained primarily through community contributions. These are fully functional but may receive lower priority for issue resolution compared to officially supported dialects. We welcome and encourage community contributions to improve these dialects.
|
|
@@ -4,6 +4,7 @@ dynamic = ["version", "optional-dependencies"]
|
|
|
4
4
|
description = "An easily customizable SQL parser and transpiler"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [{ name = "Toby Mao", email = "toby.mao@gmail.com" }]
|
|
7
|
+
license = "MIT"
|
|
7
8
|
license-files = ["LICENSE"]
|
|
8
9
|
requires-python = ">= 3.9"
|
|
9
10
|
classifiers = [
|
|
@@ -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.
|
|
32
|
-
__version_tuple__ = version_tuple = (27,
|
|
31
|
+
__version__ = version = '27.11.0'
|
|
32
|
+
__version_tuple__ = version_tuple = (27, 11, 0)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g41521e31b'
|