sqlglot 27.5.0__tar.gz → 27.5.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sqlglot-27.5.0 → sqlglot-27.5.1}/CHANGELOG.md +35 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/PKG-INFO +1 -1
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/_version.py +2 -2
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/expressions.py +6 -3
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot.egg-info/PKG-INFO +1 -1
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_dialect.py +5 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/.gitignore +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/.gitpod.yml +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/.pre-commit-config.yaml +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/CONTRIBUTING.md +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/LICENSE +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/MANIFEST.in +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/Makefile +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/README.md +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/pyproject.toml +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/setup.cfg +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/setup.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/__init__.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/__main__.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/_typing.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/__init__.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/athena.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/bigquery.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/clickhouse.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/databricks.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/dialect.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/doris.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/dremio.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/drill.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/druid.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/duckdb.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/dune.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/exasol.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/fabric.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/hive.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/materialize.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/mysql.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/oracle.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/postgres.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/presto.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/prql.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/redshift.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/risingwave.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/singlestore.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/snowflake.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/spark.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/spark2.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/sqlite.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/starrocks.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/tableau.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/teradata.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/trino.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/dialects/tsql.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/diff.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/errors.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/executor/__init__.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/executor/context.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/executor/env.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/executor/python.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/executor/table.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/generator.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/helper.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/jsonpath.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/lineage.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/__init__.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/annotate_types.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/canonicalize.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/eliminate_ctes.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/eliminate_joins.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/eliminate_subqueries.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/isolate_table_selects.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/merge_subqueries.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/normalize.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/normalize_identifiers.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/optimize_joins.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/optimizer.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/pushdown_predicates.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/pushdown_projections.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/qualify.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/qualify_columns.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/qualify_tables.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/scope.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/simplify.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/optimizer/unnest_subqueries.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/parser.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/planner.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/py.typed +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/schema.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/serde.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/time.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/tokens.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/transforms.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot/trie.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot.egg-info/SOURCES.txt +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot.egg-info/dependency_links.txt +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot.egg-info/requires.txt +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot.egg-info/top_level.txt +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglot.png +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglotrs/Cargo.lock +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglotrs/Cargo.toml +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglotrs/benches/dialect_settings.json +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglotrs/benches/long.rs +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglotrs/benches/token_type_settings.json +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglotrs/benches/tokenizer_dialect_settings.json +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglotrs/benches/tokenizer_settings.json +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglotrs/pyproject.toml +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglotrs/src/lib.rs +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglotrs/src/settings.rs +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglotrs/src/token.rs +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglotrs/src/tokenizer.rs +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/sqlglotrs/src/trie.rs +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/__init__.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/__init__.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_athena.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_bigquery.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_clickhouse.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_databricks.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_doris.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_dremio.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_drill.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_druid.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_duckdb.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_dune.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_exasol.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_fabric.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_hive.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_materialize.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_mysql.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_oracle.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_pipe_syntax.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_postgres.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_presto.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_prql.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_redshift.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_risingwave.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_singlestore.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_snowflake.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_spark.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_sqlite.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_starrocks.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_tableau.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_teradata.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_trino.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/dialects/test_tsql.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/identity.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/jsonpath/LICENSE +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/jsonpath/cts.json +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/annotate_functions.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/annotate_types.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/canonicalize.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/eliminate_ctes.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/eliminate_joins.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/eliminate_subqueries.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/isolate_table_selects.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/merge_subqueries.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/normalize.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/normalize_identifiers.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/optimize_joins.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/optimizer.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/pushdown_cte_alias_columns.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/pushdown_predicates.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/pushdown_projections.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/qualify_columns.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/qualify_columns__invalid.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/qualify_columns__with_invisible.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/qualify_columns_ddl.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/qualify_tables.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/quote_identifiers.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/simplify.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/call_center.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/catalog_page.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/catalog_returns.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/catalog_sales.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/customer.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/customer_address.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/date_dim.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/household_demographics.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/income_band.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/inventory.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/item.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/promotion.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/reason.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/ship_mode.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/store.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/store_returns.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/store_sales.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/time_dim.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/tpc-ds.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/warehouse.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/web_page.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/web_returns.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/web_sales.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/web_site.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-h/customer.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-h/lineitem.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-h/nation.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-h/orders.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-h/part.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-h/partsupp.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-h/region.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-h/supplier.csv.gz +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-h/tpc-h.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/unnest_subqueries.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/partial.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/pretty.sql +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/gen_fixtures.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/helpers.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_build.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_dialect_imports.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_diff.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_docs.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_executor.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_expressions.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_generator.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_helper.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_jsonpath.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_lineage.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_optimizer.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_parser.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_schema.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_serde.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_time.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_tokens.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_transforms.py +0 -0
- {sqlglot-27.5.0 → sqlglot-27.5.1}/tests/test_transpile.py +0 -0
|
@@ -1,6 +1,40 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
## [v27.5.0] - 2025-07-30
|
|
5
|
+
### :boom: BREAKING CHANGES
|
|
6
|
+
- due to [`002286e`](https://github.com/tobymao/sqlglot/commit/002286ee05a608e303a2238a9a74ab963709b5da) - remove AM/PM entries from postgres, oracle `TIME_MAPPING` *(PR [#5491](https://github.com/tobymao/sqlglot/pull/5491) by [@georgesittas](https://github.com/georgesittas))*:
|
|
7
|
+
|
|
8
|
+
remove AM/PM entries from postgres, oracle `TIME_MAPPING` (#5491)
|
|
9
|
+
|
|
10
|
+
- due to [`ad78db6`](https://github.com/tobymao/sqlglot/commit/ad78db6c9002a5bf9188d66f0080dfefd070f77b) - Refactor `LIKE ANY` and support `ALL | SOME` quantifiers *(PR [#5493](https://github.com/tobymao/sqlglot/pull/5493) by [@VaggelisD](https://github.com/VaggelisD))*:
|
|
11
|
+
|
|
12
|
+
Refactor `LIKE ANY` and support `ALL | SOME` quantifiers (#5493)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### :sparkles: New Features
|
|
16
|
+
- [`8cdd9e8`](https://github.com/tobymao/sqlglot/commit/8cdd9e8715b4cf67c200c723940743ed69bbfd80) - **mysql**: Parse UNIQUE INDEX constraint similar to UNIQUE KEY *(PR [#5489](https://github.com/tobymao/sqlglot/pull/5489) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
17
|
+
- :arrow_lower_right: *addresses issue [#5479](https://github.com/tobymao/sqlglot/issues/5479) opened by [@nathanchapman](https://github.com/nathanchapman)*
|
|
18
|
+
- [`787d167`](https://github.com/tobymao/sqlglot/commit/787d167d694b557d6e43ed391f59847a888fa572) - **exasol**: add support for REGEXP_SUBSTR in exasol dialect *(PR [#5487](https://github.com/tobymao/sqlglot/pull/5487) by [@nnamdi16](https://github.com/nnamdi16))*
|
|
19
|
+
- [`0963f60`](https://github.com/tobymao/sqlglot/commit/0963f60987c267c64f2fcfbde469b8b28911a14b) - **singlestore**: Fixed time formatting *(PR [#5476](https://github.com/tobymao/sqlglot/pull/5476) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
20
|
+
- [`488d2e4`](https://github.com/tobymao/sqlglot/commit/488d2e4bf9d4eb148356d1fd6c2360bbf77f283c) - **singlestore**: Added RESERVED_KEYWORDS *(PR [#5497](https://github.com/tobymao/sqlglot/pull/5497) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
21
|
+
- [`fad9992`](https://github.com/tobymao/sqlglot/commit/fad9992a00478a964552f72802b95ca3918c4377) - **exasol**: Add support for TRUNC, TRUNCATE and DATE_TRUNC function… *(PR [#5490](https://github.com/tobymao/sqlglot/pull/5490) by [@nnamdi16](https://github.com/nnamdi16))*
|
|
22
|
+
- [`ad78db6`](https://github.com/tobymao/sqlglot/commit/ad78db6c9002a5bf9188d66f0080dfefd070f77b) - Refactor `LIKE ANY` and support `ALL | SOME` quantifiers *(PR [#5493](https://github.com/tobymao/sqlglot/pull/5493) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
23
|
+
- :arrow_lower_right: *addresses issue [#5484](https://github.com/tobymao/sqlglot/issues/5484) opened by [@mazum21](https://github.com/mazum21)*
|
|
24
|
+
- [`a7a6f16`](https://github.com/tobymao/sqlglot/commit/a7a6f167d30ac19383ad15931c26751c66a61976) - **singlestore**: Added Tokenizer *(PR [#5492](https://github.com/tobymao/sqlglot/pull/5492) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
25
|
+
|
|
26
|
+
### :bug: Bug Fixes
|
|
27
|
+
- [`3982653`](https://github.com/tobymao/sqlglot/commit/3982653e62a42ca1be2bdd8722119e27bd1ba680) - Do not consume BUCKET/TRUNCATE as partitioning keywords *(PR [#5488](https://github.com/tobymao/sqlglot/pull/5488) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
28
|
+
- :arrow_lower_right: *fixes issue [#5485](https://github.com/tobymao/sqlglot/issues/5485) opened by [@chenkovsky](https://github.com/chenkovsky)*
|
|
29
|
+
- [`002286e`](https://github.com/tobymao/sqlglot/commit/002286ee05a608e303a2238a9a74ab963709b5da) - remove AM/PM entries from postgres, oracle `TIME_MAPPING` *(PR [#5491](https://github.com/tobymao/sqlglot/pull/5491) by [@georgesittas](https://github.com/georgesittas))*
|
|
30
|
+
- [`74f278a`](https://github.com/tobymao/sqlglot/commit/74f278a226058e196270042e2a9664b9acded28a) - **optimizer**: Fix SEMI/ANTI join handling in optimizer rules *(PR [#5498](https://github.com/tobymao/sqlglot/pull/5498) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
31
|
+
- :arrow_lower_right: *fixes issue [#5481](https://github.com/tobymao/sqlglot/issues/5481) opened by [@themattmorris](https://github.com/themattmorris)*
|
|
32
|
+
- [`42633fb`](https://github.com/tobymao/sqlglot/commit/42633fb49b3c04eeea42e061e33ee08e61960cb4) - dont print (A)SYMMETRIC keyword in BETWEEN for postgres subclasses *(PR [#5503](https://github.com/tobymao/sqlglot/pull/5503) by [@georgesittas](https://github.com/georgesittas))*
|
|
33
|
+
|
|
34
|
+
### :wrench: Chores
|
|
35
|
+
- [`18b7d0f`](https://github.com/tobymao/sqlglot/commit/18b7d0fe19708d88b224770d844a8f6a74fe2aa7) - fix deprecated 'license' specification format *(PR [#5494](https://github.com/tobymao/sqlglot/pull/5494) by [@loonies](https://github.com/loonies))*
|
|
36
|
+
|
|
37
|
+
|
|
4
38
|
## [v27.4.1] - 2025-07-27
|
|
5
39
|
### :bug: Bug Fixes
|
|
6
40
|
- [`ba2b3e2`](https://github.com/tobymao/sqlglot/commit/ba2b3e21ca5454402808b68697ea4eb62963d341) - **bigquery**: make exp.Array type inference more robust *(PR [#5483](https://github.com/tobymao/sqlglot/pull/5483) by [@georgesittas](https://github.com/georgesittas))*
|
|
@@ -6338,3 +6372,4 @@ Changelog
|
|
|
6338
6372
|
[v27.3.1]: https://github.com/tobymao/sqlglot/compare/v27.3.0...v27.3.1
|
|
6339
6373
|
[v27.4.0]: https://github.com/tobymao/sqlglot/compare/v27.3.1...v27.4.0
|
|
6340
6374
|
[v27.4.1]: https://github.com/tobymao/sqlglot/compare/v27.4.0...v27.4.1
|
|
6375
|
+
[v27.5.0]: https://github.com/tobymao/sqlglot/compare/v27.4.1...v27.5.0
|
|
@@ -940,15 +940,18 @@ class Expression(metaclass=_Expression):
|
|
|
940
940
|
low: t.Any,
|
|
941
941
|
high: t.Any,
|
|
942
942
|
copy: bool = True,
|
|
943
|
-
symmetric: t.Optional[bool] =
|
|
943
|
+
symmetric: t.Optional[bool] = None,
|
|
944
944
|
**opts,
|
|
945
945
|
) -> Between:
|
|
946
|
-
|
|
946
|
+
between = Between(
|
|
947
947
|
this=maybe_copy(self, copy),
|
|
948
948
|
low=convert(low, copy=copy, **opts),
|
|
949
949
|
high=convert(high, copy=copy, **opts),
|
|
950
|
-
symmetric=symmetric,
|
|
951
950
|
)
|
|
951
|
+
if symmetric is not None:
|
|
952
|
+
between.set("symmetric", symmetric)
|
|
953
|
+
|
|
954
|
+
return between
|
|
952
955
|
|
|
953
956
|
def is_(self, other: ExpOrStr) -> Is:
|
|
954
957
|
return self._binop(Is, other)
|
|
@@ -3657,6 +3657,11 @@ FROM subquery2""",
|
|
|
3657
3657
|
)
|
|
3658
3658
|
|
|
3659
3659
|
def test_between(self):
|
|
3660
|
+
between = exp.column("x").between(1, 2)
|
|
3661
|
+
self.assertEqual(between.sql("postgres"), "x BETWEEN 1 AND 2")
|
|
3662
|
+
self.assertEqual(between.sql("redshift"), "x BETWEEN 1 AND 2")
|
|
3663
|
+
self.assertFalse("symmetric" in between.args)
|
|
3664
|
+
|
|
3660
3665
|
self.validate_all(
|
|
3661
3666
|
"SELECT x BETWEEN 2 AND 10",
|
|
3662
3667
|
read={
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/qualify_columns__with_invisible.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz
RENAMED
|
File without changes
|
|
File without changes
|
{sqlglot-27.5.0 → sqlglot-27.5.1}/tests/fixtures/optimizer/tpc-ds/household_demographics.csv.gz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|