sqlglot 27.26.0__tar.gz → 27.27.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.
Potentially problematic release.
This version of sqlglot might be problematic. Click here for more details.
- {sqlglot-27.26.0 → sqlglot-27.27.0}/CHANGELOG.md +51 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/PKG-INFO +2 -2
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/_version.py +3 -3
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/dialect.py +1 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/tsql.py +5 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/expressions.py +4 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot.egg-info/PKG-INFO +2 -2
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot.egg-info/requires.txt +1 -1
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/Cargo.lock +1 -1
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/Cargo.toml +1 -1
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_snowflake.py +1 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/identity.sql +1 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/annotate_functions.sql +8 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/.gitignore +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/.gitpod.yml +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/.pre-commit-config.yaml +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/CONTRIBUTING.md +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/LICENSE +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/MANIFEST.in +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/Makefile +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/README.md +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/pyproject.toml +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/setup.cfg +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/setup.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/__init__.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/__main__.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/_typing.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/__init__.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/athena.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/bigquery.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/clickhouse.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/databricks.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/doris.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/dremio.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/drill.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/druid.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/duckdb.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/dune.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/exasol.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/fabric.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/hive.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/materialize.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/mysql.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/oracle.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/postgres.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/presto.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/prql.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/redshift.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/risingwave.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/singlestore.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/snowflake.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/solr.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/spark.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/spark2.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/sqlite.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/starrocks.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/tableau.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/teradata.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/dialects/trino.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/diff.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/errors.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/executor/__init__.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/executor/context.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/executor/env.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/executor/python.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/executor/table.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/generator.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/helper.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/jsonpath.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/lineage.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/__init__.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/annotate_types.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/canonicalize.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/eliminate_ctes.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/eliminate_joins.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/eliminate_subqueries.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/isolate_table_selects.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/merge_subqueries.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/normalize.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/normalize_identifiers.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/optimize_joins.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/optimizer.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/pushdown_predicates.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/pushdown_projections.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/qualify.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/qualify_columns.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/qualify_tables.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/scope.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/simplify.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/optimizer/unnest_subqueries.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/parser.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/planner.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/py.typed +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/schema.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/serde.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/time.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/tokens.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/transforms.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot/trie.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot.egg-info/SOURCES.txt +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot.egg-info/dependency_links.txt +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot.egg-info/top_level.txt +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglot.png +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/benches/dialect_settings.json +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/benches/long.rs +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/benches/token_type_settings.json +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/benches/tokenizer_dialect_settings.json +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/benches/tokenizer_settings.json +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/pyproject.toml +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/src/lib.rs +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/src/settings.rs +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/src/token.rs +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/src/tokenizer.rs +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/sqlglotrs/src/trie.rs +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/__init__.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/__init__.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_athena.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_bigquery.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_clickhouse.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_databricks.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_dialect.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_doris.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_dremio.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_drill.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_druid.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_duckdb.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_dune.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_exasol.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_fabric.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_hive.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_materialize.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_mysql.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_oracle.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_pipe_syntax.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_postgres.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_presto.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_prql.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_redshift.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_risingwave.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_singlestore.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_solr.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_spark.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_sqlite.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_starrocks.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_tableau.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_teradata.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_trino.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/dialects/test_tsql.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/jsonpath/LICENSE +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/jsonpath/cts.json +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/annotate_types.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/canonicalize.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/eliminate_ctes.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/eliminate_joins.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/eliminate_subqueries.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/isolate_table_selects.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/merge_subqueries.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/normalize.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/normalize_identifiers.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/optimize_joins.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/optimizer.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/pushdown_cte_alias_columns.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/pushdown_predicates.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/pushdown_projections.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/qualify_columns.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/qualify_columns__invalid.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/qualify_columns__with_invisible.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/qualify_columns_ddl.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/qualify_tables.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/quote_identifiers.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/simplify.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/call_center.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/catalog_page.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/catalog_returns.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/catalog_sales.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/customer.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/customer_address.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/date_dim.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/household_demographics.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/income_band.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/inventory.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/item.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/promotion.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/reason.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/ship_mode.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/store.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/store_returns.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/store_sales.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/time_dim.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/tpc-ds.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/warehouse.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/web_page.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/web_returns.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/web_sales.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/web_site.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/customer.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/lineitem.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/nation.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/orders.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/part.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/partsupp.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/region.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/supplier.csv.gz +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-h/tpc-h.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/unnest_subqueries.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/partial.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/fixtures/pretty.sql +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/gen_fixtures.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/helpers.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_build.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_dialect_imports.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_diff.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_docs.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_executor.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_expressions.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_generator.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_helper.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_jsonpath.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_lineage.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_optimizer.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_parser.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_schema.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_serde.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_time.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_tokens.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_transforms.py +0 -0
- {sqlglot-27.26.0 → sqlglot-27.27.0}/tests/test_transpile.py +0 -0
|
@@ -1,6 +1,56 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
## [v27.26.0] - 2025-10-10
|
|
5
|
+
### :boom: BREAKING CHANGES
|
|
6
|
+
- due to [`9060f60`](https://github.com/tobymao/sqlglot/commit/9060f603818db863b7570a2c3c50c3eb88155e76) - Annotate type for snowflake ATAN2 function. *(PR [#6060](https://github.com/tobymao/sqlglot/pull/6060) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
|
|
7
|
+
|
|
8
|
+
Annotate type for snowflake ATAN2 function. (#6060)
|
|
9
|
+
|
|
10
|
+
- due to [`b3eb2e4`](https://github.com/tobymao/sqlglot/commit/b3eb2e4ca6177ee61b27675e8ec8b4815587df31) - annotate type for Snowflake SINH function *(PR [#6052](https://github.com/tobymao/sqlglot/pull/6052) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*:
|
|
11
|
+
|
|
12
|
+
annotate type for Snowflake SINH function (#6052)
|
|
13
|
+
|
|
14
|
+
- due to [`157d2fa`](https://github.com/tobymao/sqlglot/commit/157d2fa06ab110ebc760aa7567d7fda801a5ced9) - annotate type for Snowflake CEIL function *(PR [#6051](https://github.com/tobymao/sqlglot/pull/6051) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*:
|
|
15
|
+
|
|
16
|
+
annotate type for Snowflake CEIL function (#6051)
|
|
17
|
+
|
|
18
|
+
- due to [`e7833de`](https://github.com/tobymao/sqlglot/commit/e7833de9744a4aa69d244285e7f6f7281af178ba) - support DELETE with USING and multiple VALUES *(PR [#6072](https://github.com/tobymao/sqlglot/pull/6072) by [@geooo109](https://github.com/geooo109))*:
|
|
19
|
+
|
|
20
|
+
support DELETE with USING and multiple VALUES (#6072)
|
|
21
|
+
|
|
22
|
+
- due to [`354140d`](https://github.com/tobymao/sqlglot/commit/354140d0a279f317439bdb247e1ab9578f9a035d) - Annotate type for snowflake TANH and ATAN functions *(PR [#6069](https://github.com/tobymao/sqlglot/pull/6069) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
|
|
23
|
+
|
|
24
|
+
Annotate type for snowflake TANH and ATAN functions (#6069)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### :sparkles: New Features
|
|
28
|
+
- [`9060f60`](https://github.com/tobymao/sqlglot/commit/9060f603818db863b7570a2c3c50c3eb88155e76) - **optimizer**: Annotate type for snowflake ATAN2 function. *(PR [#6060](https://github.com/tobymao/sqlglot/pull/6060) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
29
|
+
- [`b3eb2e4`](https://github.com/tobymao/sqlglot/commit/b3eb2e4ca6177ee61b27675e8ec8b4815587df31) - **optimizer**: annotate type for Snowflake SINH function *(PR [#6052](https://github.com/tobymao/sqlglot/pull/6052) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*
|
|
30
|
+
- [`440b960`](https://github.com/tobymao/sqlglot/commit/440b960529801674fa23708212485fda95749699) - **duckdb**: support `USING KEY (...)` in recursive DuckDB CTEs *(PR [#6068](https://github.com/tobymao/sqlglot/pull/6068) by [@georgesittas](https://github.com/georgesittas))*
|
|
31
|
+
- :arrow_lower_right: *addresses issue [#6066](https://github.com/tobymao/sqlglot/issues/6066) opened by [@denis-komarov](https://github.com/denis-komarov)*
|
|
32
|
+
- [`157d2fa`](https://github.com/tobymao/sqlglot/commit/157d2fa06ab110ebc760aa7567d7fda801a5ced9) - **optimizer**: annotate type for Snowflake CEIL function *(PR [#6051](https://github.com/tobymao/sqlglot/pull/6051) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*
|
|
33
|
+
- [`eb6d6e7`](https://github.com/tobymao/sqlglot/commit/eb6d6e7ccde37456ab56ad976e7d95cea23c14e3) - **duckdb**: support `DEFAULT VALUES` clause in `INSERT` DML *(PR [#6067](https://github.com/tobymao/sqlglot/pull/6067) by [@georgesittas](https://github.com/georgesittas))*
|
|
34
|
+
- :arrow_lower_right: *addresses issue [#6065](https://github.com/tobymao/sqlglot/issues/6065) opened by [@denis-komarov](https://github.com/denis-komarov)*
|
|
35
|
+
- [`354140d`](https://github.com/tobymao/sqlglot/commit/354140d0a279f317439bdb247e1ab9578f9a035d) - **optimizer**: Annotate type for snowflake TANH and ATAN functions *(PR [#6069](https://github.com/tobymao/sqlglot/pull/6069) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
36
|
+
- [`c94e3e0`](https://github.com/tobymao/sqlglot/commit/c94e3e0e4e20bd76d4cf630123d2c05a0e3044c3) - add ColumnDef expression parser *(PR [#6075](https://github.com/tobymao/sqlglot/pull/6075) by [@geooo109](https://github.com/geooo109))*
|
|
37
|
+
|
|
38
|
+
### :bug: Bug Fixes
|
|
39
|
+
- [`2c7cc29`](https://github.com/tobymao/sqlglot/commit/2c7cc29a329dcbaaa90a6f857d2383d2967ea6cc) - **duckdb**: Transform exp.HexString to BLOB in hex notation *(PR [#6045](https://github.com/tobymao/sqlglot/pull/6045) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
40
|
+
- :arrow_lower_right: *fixes issue [#6035](https://github.com/tobymao/sqlglot/issues/6035) opened by [@kyle-cheung](https://github.com/kyle-cheung)*
|
|
41
|
+
- [`e7833de`](https://github.com/tobymao/sqlglot/commit/e7833de9744a4aa69d244285e7f6f7281af178ba) - **parser**: support DELETE with USING and multiple VALUES *(PR [#6072](https://github.com/tobymao/sqlglot/pull/6072) by [@geooo109](https://github.com/geooo109))*
|
|
42
|
+
- :arrow_lower_right: *fixes issue [#6070](https://github.com/tobymao/sqlglot/issues/6070) opened by [@denis-komarov](https://github.com/denis-komarov)*
|
|
43
|
+
|
|
44
|
+
### :recycle: Refactors
|
|
45
|
+
- [`2c9d15c`](https://github.com/tobymao/sqlglot/commit/2c9d15c92da25c8456b2463c69aa56c8ec47c453) - replace direct arg manipulation *(PR [#6073](https://github.com/tobymao/sqlglot/pull/6073) by [@geooo109](https://github.com/geooo109))*
|
|
46
|
+
|
|
47
|
+
### :wrench: Chores
|
|
48
|
+
- [`75b8d16`](https://github.com/tobymao/sqlglot/commit/75b8d16e41b677ea7e150c89d713795073aae6e3) - remove docs from main branch *(PR [#6057](https://github.com/tobymao/sqlglot/pull/6057) by [@georgesittas](https://github.com/georgesittas))*
|
|
49
|
+
- [`cfa2493`](https://github.com/tobymao/sqlglot/commit/cfa249328eef31ab0e0688dcc03521da3343ce47) - **optimizer**: Annotate type for snowflake SQUARE function *(PR [#6059](https://github.com/tobymao/sqlglot/pull/6059) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
50
|
+
- [`e26c394`](https://github.com/tobymao/sqlglot/commit/e26c3949beb7f73020fcd099237dbe31a4db8d84) - **optimizer**: Annotate type for snowflake POW function *(PR [#6058](https://github.com/tobymao/sqlglot/pull/6058) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
51
|
+
- [`7d303ad`](https://github.com/tobymao/sqlglot/commit/7d303adc5efe9d51eb62aeab80bfa4f844e1911d) - include Python 3.14 in the testing matrix *(PR [#6074](https://github.com/tobymao/sqlglot/pull/6074) by [@georgesittas](https://github.com/georgesittas))*
|
|
52
|
+
|
|
53
|
+
|
|
4
54
|
## [v27.25.0] - 2025-10-09
|
|
5
55
|
### :boom: BREAKING CHANGES
|
|
6
56
|
- due to [`6f31b86`](https://github.com/tobymao/sqlglot/commit/6f31b86599258afe156aa3d9ccc42389cac37021) - Annotate type for snowflake FLOOR function *(PR [#6030](https://github.com/tobymao/sqlglot/pull/6030) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
|
|
@@ -7819,3 +7869,4 @@ Changelog
|
|
|
7819
7869
|
[v27.22.1]: https://github.com/tobymao/sqlglot/compare/v27.22.0...v27.22.1
|
|
7820
7870
|
[v27.22.2]: https://github.com/tobymao/sqlglot/compare/v27.22.1...v27.22.2
|
|
7821
7871
|
[v27.25.0]: https://github.com/tobymao/sqlglot/compare/v27.24.2...v27.25.0
|
|
7872
|
+
[v27.26.0]: https://github.com/tobymao/sqlglot/compare/v27.25.2...v27.26.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sqlglot
|
|
3
|
-
Version: 27.
|
|
3
|
+
Version: 27.27.0
|
|
4
4
|
Summary: An easily customizable SQL parser and transpiler
|
|
5
5
|
Author-email: Toby Mao <toby.mao@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -33,7 +33,7 @@ Requires-Dist: typing_extensions; extra == "dev"
|
|
|
33
33
|
Requires-Dist: maturin<2.0,>=1.4; extra == "dev"
|
|
34
34
|
Requires-Dist: pyperf; extra == "dev"
|
|
35
35
|
Provides-Extra: rs
|
|
36
|
-
Requires-Dist: sqlglotrs==0.7.
|
|
36
|
+
Requires-Dist: sqlglotrs==0.7.3; extra == "rs"
|
|
37
37
|
Dynamic: license-file
|
|
38
38
|
Dynamic: provides-extra
|
|
39
39
|
|
|
@@ -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.27.0'
|
|
32
|
+
__version_tuple__ = version_tuple = (27, 27, 0)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'gdab2a3fbd'
|
|
@@ -412,6 +412,11 @@ class TSQL(Dialect):
|
|
|
412
412
|
|
|
413
413
|
TIME_FORMAT = "'yyyy-mm-dd hh:mm:ss'"
|
|
414
414
|
|
|
415
|
+
ANNOTATORS = {
|
|
416
|
+
**Dialect.ANNOTATORS,
|
|
417
|
+
exp.Radians: lambda self, e: self._annotate_by_args(e, "this"),
|
|
418
|
+
}
|
|
419
|
+
|
|
415
420
|
TIME_MAPPING = {
|
|
416
421
|
"year": "%Y",
|
|
417
422
|
"dayofyear": "%j",
|
|
@@ -7361,6 +7361,10 @@ class Replace(Func):
|
|
|
7361
7361
|
arg_types = {"this": True, "expression": True, "replacement": False}
|
|
7362
7362
|
|
|
7363
7363
|
|
|
7364
|
+
class Radians(Func):
|
|
7365
|
+
pass
|
|
7366
|
+
|
|
7367
|
+
|
|
7364
7368
|
# https://learn.microsoft.com/en-us/sql/t-sql/functions/round-transact-sql?view=sql-server-ver16
|
|
7365
7369
|
# tsql third argument function == trunctaion if not 0
|
|
7366
7370
|
class Round(Func):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sqlglot
|
|
3
|
-
Version: 27.
|
|
3
|
+
Version: 27.27.0
|
|
4
4
|
Summary: An easily customizable SQL parser and transpiler
|
|
5
5
|
Author-email: Toby Mao <toby.mao@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -33,7 +33,7 @@ Requires-Dist: typing_extensions; extra == "dev"
|
|
|
33
33
|
Requires-Dist: maturin<2.0,>=1.4; extra == "dev"
|
|
34
34
|
Requires-Dist: pyperf; extra == "dev"
|
|
35
35
|
Provides-Extra: rs
|
|
36
|
-
Requires-Dist: sqlglotrs==0.7.
|
|
36
|
+
Requires-Dist: sqlglotrs==0.7.3; extra == "rs"
|
|
37
37
|
Dynamic: license-file
|
|
38
38
|
Dynamic: provides-extra
|
|
39
39
|
|
|
@@ -79,6 +79,7 @@ class TestSnowflake(Validator):
|
|
|
79
79
|
self.validate_identity("SELECT PI()")
|
|
80
80
|
self.validate_identity("SELECT DEGREES(PI() / 3)")
|
|
81
81
|
self.validate_identity("SELECT DEGREES(1)")
|
|
82
|
+
self.validate_identity("SELECT RADIANS(180)")
|
|
82
83
|
self.validate_identity("PARSE_URL('https://example.com/path')")
|
|
83
84
|
self.validate_identity("PARSE_URL('https://example.com/path', 1)")
|
|
84
85
|
self.validate_identity("SELECT {*} FROM my_table")
|
|
@@ -1955,6 +1955,10 @@ DOUBLE;
|
|
|
1955
1955
|
POW(tbl.double_col, 2);
|
|
1956
1956
|
DOUBLE;
|
|
1957
1957
|
|
|
1958
|
+
# dialect: snowflake
|
|
1959
|
+
RADIANS(tbl.double_col);
|
|
1960
|
+
DOUBLE;
|
|
1961
|
+
|
|
1958
1962
|
# dialect: snowflake
|
|
1959
1963
|
LOWER(tbl.str_col);
|
|
1960
1964
|
VARCHAR;
|
|
@@ -2566,3 +2570,7 @@ OBJECT;
|
|
|
2566
2570
|
# dialect: tsql
|
|
2567
2571
|
SYSDATETIMEOFFSET();
|
|
2568
2572
|
TIMESTAMPTZ;
|
|
2573
|
+
|
|
2574
|
+
# dialect: tsql
|
|
2575
|
+
RADIANS(90);
|
|
2576
|
+
INT;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.26.0 → sqlglot-27.27.0}/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.26.0 → sqlglot-27.27.0}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz
RENAMED
|
File without changes
|
|
File without changes
|
{sqlglot-27.26.0 → sqlglot-27.27.0}/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
|