sqlglot 27.13.0__tar.gz → 27.13.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.13.0 → sqlglot-27.13.1}/CHANGELOG.md +53 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/PKG-INFO +1 -1
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/_version.py +3 -3
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/generator.py +2 -1
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/parser.py +11 -6
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/tokens.py +0 -2
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot.egg-info/PKG-INFO +1 -1
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_postgres.py +4 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_snowflake.py +3 -1
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/identity.sql +2 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/.gitignore +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/.gitpod.yml +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/.pre-commit-config.yaml +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/CONTRIBUTING.md +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/LICENSE +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/MANIFEST.in +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/Makefile +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/README.md +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/pyproject.toml +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/setup.cfg +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/setup.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/__init__.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/__main__.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/_typing.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/__init__.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/athena.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/bigquery.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/clickhouse.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/databricks.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/dialect.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/doris.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/dremio.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/drill.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/druid.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/duckdb.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/dune.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/exasol.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/fabric.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/hive.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/materialize.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/mysql.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/oracle.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/postgres.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/presto.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/prql.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/redshift.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/risingwave.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/singlestore.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/snowflake.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/spark.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/spark2.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/sqlite.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/starrocks.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/tableau.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/teradata.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/trino.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/dialects/tsql.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/diff.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/errors.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/executor/__init__.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/executor/context.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/executor/env.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/executor/python.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/executor/table.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/expressions.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/helper.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/jsonpath.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/lineage.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/__init__.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/annotate_types.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/canonicalize.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/eliminate_ctes.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/eliminate_joins.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/eliminate_subqueries.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/isolate_table_selects.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/merge_subqueries.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/normalize.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/normalize_identifiers.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/optimize_joins.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/optimizer.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/pushdown_predicates.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/pushdown_projections.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/qualify.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/qualify_columns.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/qualify_tables.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/scope.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/simplify.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/optimizer/unnest_subqueries.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/planner.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/py.typed +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/schema.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/serde.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/time.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/transforms.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot/trie.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot.egg-info/SOURCES.txt +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot.egg-info/dependency_links.txt +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot.egg-info/requires.txt +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot.egg-info/top_level.txt +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglot.png +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglotrs/Cargo.lock +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglotrs/Cargo.toml +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglotrs/benches/dialect_settings.json +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglotrs/benches/long.rs +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglotrs/benches/token_type_settings.json +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglotrs/benches/tokenizer_dialect_settings.json +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglotrs/benches/tokenizer_settings.json +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglotrs/pyproject.toml +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglotrs/src/lib.rs +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglotrs/src/settings.rs +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglotrs/src/token.rs +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglotrs/src/tokenizer.rs +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/sqlglotrs/src/trie.rs +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/__init__.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/__init__.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_athena.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_bigquery.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_clickhouse.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_databricks.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_dialect.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_doris.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_dremio.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_drill.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_druid.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_duckdb.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_dune.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_exasol.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_fabric.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_hive.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_materialize.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_mysql.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_oracle.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_pipe_syntax.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_presto.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_prql.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_redshift.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_risingwave.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_singlestore.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_spark.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_sqlite.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_starrocks.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_tableau.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_teradata.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_trino.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/dialects/test_tsql.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/jsonpath/LICENSE +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/jsonpath/cts.json +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/annotate_functions.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/annotate_types.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/canonicalize.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/eliminate_ctes.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/eliminate_joins.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/eliminate_subqueries.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/isolate_table_selects.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/merge_subqueries.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/normalize.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/normalize_identifiers.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/optimize_joins.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/optimizer.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/pushdown_cte_alias_columns.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/pushdown_predicates.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/pushdown_projections.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/qualify_columns.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/qualify_columns__invalid.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/qualify_columns__with_invisible.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/qualify_columns_ddl.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/qualify_tables.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/quote_identifiers.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/simplify.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/call_center.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/catalog_page.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/catalog_returns.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/catalog_sales.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/customer.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/customer_address.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/date_dim.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/household_demographics.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/income_band.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/inventory.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/item.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/promotion.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/reason.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/ship_mode.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/store.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/store_returns.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/store_sales.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/time_dim.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/tpc-ds.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/warehouse.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/web_page.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/web_returns.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/web_sales.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/web_site.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-h/customer.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-h/lineitem.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-h/nation.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-h/orders.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-h/part.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-h/partsupp.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-h/region.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-h/supplier.csv.gz +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-h/tpc-h.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/unnest_subqueries.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/partial.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/fixtures/pretty.sql +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/gen_fixtures.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/helpers.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_build.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_dialect_imports.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_diff.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_docs.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_executor.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_expressions.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_generator.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_helper.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_jsonpath.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_lineage.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_optimizer.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_parser.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_schema.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_serde.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_time.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_tokens.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_transforms.py +0 -0
- {sqlglot-27.13.0 → sqlglot-27.13.1}/tests/test_transpile.py +0 -0
|
@@ -1,6 +1,58 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
## [v27.13.0] - 2025-09-08
|
|
5
|
+
### :boom: BREAKING CHANGES
|
|
6
|
+
- due to [`3726b33`](https://github.com/tobymao/sqlglot/commit/3726b33bb6b4ab286617f510e96e1fbd27c429f3) - support nulls_first arg for array_sort *(PR [#5802](https://github.com/tobymao/sqlglot/pull/5802) by [@treysp](https://github.com/treysp))*:
|
|
7
|
+
|
|
8
|
+
support nulls_first arg for array_sort (#5802)
|
|
9
|
+
|
|
10
|
+
- due to [`cf1d1e3`](https://github.com/tobymao/sqlglot/commit/cf1d1e3e0ef9e6cd1b1c6128c63ddf06c30f1339) - annotate type for snowflake's REVERSE function *(PR [#5803](https://github.com/tobymao/sqlglot/pull/5803) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*:
|
|
11
|
+
|
|
12
|
+
annotate type for snowflake's REVERSE function (#5803)
|
|
13
|
+
|
|
14
|
+
- due to [`ad0b407`](https://github.com/tobymao/sqlglot/commit/ad0b407098e1611d4fc0e1f0916511337b9aefdb) - Mark 'BEGIN' as TokenType.BEGIN for transactions *(PR [#5826](https://github.com/tobymao/sqlglot/pull/5826) by [@VaggelisD](https://github.com/VaggelisD))*:
|
|
15
|
+
|
|
16
|
+
Mark 'BEGIN' as TokenType.BEGIN for transactions (#5826)
|
|
17
|
+
|
|
18
|
+
- due to [`0198282`](https://github.com/tobymao/sqlglot/commit/0198282a82bbf3e81476e164718d63fd1210acdc) - : Update tests for concat string function *(PR [#5809](https://github.com/tobymao/sqlglot/pull/5809) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
|
|
19
|
+
|
|
20
|
+
: Update tests for concat string function (#5809)
|
|
21
|
+
|
|
22
|
+
- due to [`db2c430`](https://github.com/tobymao/sqlglot/commit/db2c4303237a1244070c359245c398a724df6de2) - annoate the "contains" function *(PR [#5829](https://github.com/tobymao/sqlglot/pull/5829) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*:
|
|
23
|
+
|
|
24
|
+
annoate the "contains" function (#5829)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### :sparkles: New Features
|
|
28
|
+
- [`cf1d1e3`](https://github.com/tobymao/sqlglot/commit/cf1d1e3e0ef9e6cd1b1c6128c63ddf06c30f1339) - **optimizer**: annotate type for snowflake's REVERSE function *(PR [#5803](https://github.com/tobymao/sqlglot/pull/5803) by [@fivetran-BradfordPaskewitz](https://github.com/fivetran-BradfordPaskewitz))*
|
|
29
|
+
- [`1d07c52`](https://github.com/tobymao/sqlglot/commit/1d07c52badb2e392e6895cbb275d2224789366c9) - **SingleStore**: Implemented generation of CURRENT_DATETIME *(PR [#5816](https://github.com/tobymao/sqlglot/pull/5816) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
30
|
+
- [`cad4fd0`](https://github.com/tobymao/sqlglot/commit/cad4fd0c5b0ec90e693fa6883af0ab287b921019) - **singlestore**: Added handling of exp.JSONObject *(PR [#5817](https://github.com/tobymao/sqlglot/pull/5817) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
31
|
+
- [`e3cb076`](https://github.com/tobymao/sqlglot/commit/e3cb0766bd5c3ccb31ea52cfc76201f548798dc1) - **singlestore**: Implemented generation of exp.StandardHash *(PR [#5823](https://github.com/tobymao/sqlglot/pull/5823) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
32
|
+
- [`0198282`](https://github.com/tobymao/sqlglot/commit/0198282a82bbf3e81476e164718d63fd1210acdc) - **optimizer**: : Update tests for concat string function *(PR [#5809](https://github.com/tobymao/sqlglot/pull/5809) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
33
|
+
- [`4e8a436`](https://github.com/tobymao/sqlglot/commit/4e8a436c16f487a72bd1ac2432bcb1c46599d901) - **singlestore**: Added generation of exp.JSONExists *(PR [#5820](https://github.com/tobymao/sqlglot/pull/5820) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
34
|
+
- [`82bea49`](https://github.com/tobymao/sqlglot/commit/82bea49978ae459492b5127a2a52049826e2fd06) - **singlestore**: Refactored parsing of JSON_BUILD_OBJECT *(PR [#5828](https://github.com/tobymao/sqlglot/pull/5828) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
35
|
+
- [`f7d38c3`](https://github.com/tobymao/sqlglot/commit/f7d38c3a10c505346f04e39a2712d60b4c96370f) - **singlestore**: Implemented generation of exp.Stuff *(PR [#5825](https://github.com/tobymao/sqlglot/pull/5825) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
36
|
+
- [`030a5b5`](https://github.com/tobymao/sqlglot/commit/030a5b5ea03ecee869b07cfd27f4ea044732822e) - **singlestore**: Added generation of exp.JSONBExists *(PR [#5821](https://github.com/tobymao/sqlglot/pull/5821) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
37
|
+
- [`e58fef1`](https://github.com/tobymao/sqlglot/commit/e58fef1d6dc654a3b36461bcbea21c99cdc96477) - **singlestore**: Implemented parsing and generation of exp.MatchAgainst *(PR [#5822](https://github.com/tobymao/sqlglot/pull/5822) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
38
|
+
- [`e94f530`](https://github.com/tobymao/sqlglot/commit/e94f530af0e0cdad995b4c8dc5ed86953490d37f) - **singlestore**: Added handling of exp.JSONArray *(PR [#5818](https://github.com/tobymao/sqlglot/pull/5818) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
39
|
+
- [`1c42ef4`](https://github.com/tobymao/sqlglot/commit/1c42ef4374aeab8a1ee9848892d7f8c4511c7f04) - **singlestore**: Fixed parsing/generation of exp.JSONArrayAgg *(PR [#5819](https://github.com/tobymao/sqlglot/pull/5819) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
40
|
+
- [`67219f0`](https://github.com/tobymao/sqlglot/commit/67219f0606231514f430e146e2fdb99e796f718b) - **singlestore**: Added support of UTC_TIMESTAMP and CURRENT_TIMESTAMP *(PR [#5808](https://github.com/tobymao/sqlglot/pull/5808) by [@AdalbertMemSQL](https://github.com/AdalbertMemSQL))*
|
|
41
|
+
- [`db2c430`](https://github.com/tobymao/sqlglot/commit/db2c4303237a1244070c359245c398a724df6de2) - **optimizer**: annoate the "contains" function *(PR [#5829](https://github.com/tobymao/sqlglot/pull/5829) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
42
|
+
|
|
43
|
+
### :bug: Bug Fixes
|
|
44
|
+
- [`3726b33`](https://github.com/tobymao/sqlglot/commit/3726b33bb6b4ab286617f510e96e1fbd27c429f3) - **snowflake**: support nulls_first arg for array_sort *(PR [#5802](https://github.com/tobymao/sqlglot/pull/5802) by [@treysp](https://github.com/treysp))*
|
|
45
|
+
- [`3408de0`](https://github.com/tobymao/sqlglot/commit/3408de09e50d2510c1a6f511dc2dec357059044f) - parsing quoted built-in data types *(PR [#5810](https://github.com/tobymao/sqlglot/pull/5810) by [@treysp](https://github.com/treysp))*
|
|
46
|
+
- [`ad0b407`](https://github.com/tobymao/sqlglot/commit/ad0b407098e1611d4fc0e1f0916511337b9aefdb) - **postgres**: Mark 'BEGIN' as TokenType.BEGIN for transactions *(PR [#5826](https://github.com/tobymao/sqlglot/pull/5826) by [@VaggelisD](https://github.com/VaggelisD))*
|
|
47
|
+
- :arrow_lower_right: *fixes issue [#5815](https://github.com/tobymao/sqlglot/issues/5815) opened by [@karakanb](https://github.com/karakanb)*
|
|
48
|
+
- [`e1a1b5b`](https://github.com/tobymao/sqlglot/commit/e1a1b5befefb0ca30ac1310cecb82a44f6089034) - **snowflake**: transpile BigQuery's `&` to `BITAND` *(PR [#5827](https://github.com/tobymao/sqlglot/pull/5827) by [@YuvalOmerRep](https://github.com/YuvalOmerRep))*
|
|
49
|
+
- [`32d0278`](https://github.com/tobymao/sqlglot/commit/32d027827eaa7aa0cd9faf2ac1f84739f914050f) - parse and generation of BITWISE AGG funcs across dialects *(PR [#5831](https://github.com/tobymao/sqlglot/pull/5831) by [@geooo109](https://github.com/geooo109))*
|
|
50
|
+
- [`5f39a83`](https://github.com/tobymao/sqlglot/commit/5f39a83f1ff957aca57eb4745f83c296436acaac) - **bigquery**: properly generate `LIMIT` for `STRING_AGG` *(PR [#5830](https://github.com/tobymao/sqlglot/pull/5830) by [@georgesittas](https://github.com/georgesittas))*
|
|
51
|
+
|
|
52
|
+
### :wrench: Chores
|
|
53
|
+
- [`164fec1`](https://github.com/tobymao/sqlglot/commit/164fec1b36e3c7df41e2e5a5ad6b226fc5f76305) - **optimizer**: test type annotation for snowflake CHARINDEX function *(PR [#5805](https://github.com/tobymao/sqlglot/pull/5805) by [@fivetran-amrutabhimsenayachit](https://github.com/fivetran-amrutabhimsenayachit))*
|
|
54
|
+
|
|
55
|
+
|
|
4
56
|
## [v27.12.0] - 2025-09-04
|
|
5
57
|
### :boom: BREAKING CHANGES
|
|
6
58
|
- due to [`1c551d5`](https://github.com/tobymao/sqlglot/commit/1c551d5ed3315e314013c1f063deabd9d8613e5d) - parse and annotate type for bq TO_JSON *(PR [#5768](https://github.com/tobymao/sqlglot/pull/5768) by [@geooo109](https://github.com/geooo109))*:
|
|
@@ -7110,3 +7162,4 @@ Changelog
|
|
|
7110
7162
|
[v27.10.0]: https://github.com/tobymao/sqlglot/compare/v27.9.0...v27.10.0
|
|
7111
7163
|
[v27.11.0]: https://github.com/tobymao/sqlglot/compare/v27.10.0...v27.11.0
|
|
7112
7164
|
[v27.12.0]: https://github.com/tobymao/sqlglot/compare/v27.11.0...v27.12.0
|
|
7165
|
+
[v27.13.0]: https://github.com/tobymao/sqlglot/compare/v27.12.0...v27.13.0
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '27.13.
|
|
32
|
-
__version_tuple__ = version_tuple = (27, 13,
|
|
31
|
+
__version__ = version = '27.13.1'
|
|
32
|
+
__version_tuple__ = version_tuple = (27, 13, 1)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'gc00f73bac'
|
|
@@ -5243,7 +5243,8 @@ class Generator(metaclass=_Generator):
|
|
|
5243
5243
|
metrics = self.seg(f"METRICS {metrics}") if metrics else ""
|
|
5244
5244
|
where = self.sql(expression, "where")
|
|
5245
5245
|
where = self.seg(f"WHERE {where}") if where else ""
|
|
5246
|
-
|
|
5246
|
+
body = self.indent(this + metrics + dimensions + where, skip_first=True)
|
|
5247
|
+
return f"SEMANTIC_VIEW({body}{self.seg(')', sep='')}"
|
|
5247
5248
|
|
|
5248
5249
|
def getextract_sql(self, expression: exp.GetExtract) -> str:
|
|
5249
5250
|
this = expression.this
|
|
@@ -5397,7 +5397,7 @@ class Parser(metaclass=_Parser):
|
|
|
5397
5397
|
if type_token == TokenType.VECTOR and len(expressions) == 2:
|
|
5398
5398
|
expressions[0] = exp.DataType.build(expressions[0].name, dialect=self.dialect)
|
|
5399
5399
|
|
|
5400
|
-
if not
|
|
5400
|
+
if not self._match(TokenType.R_PAREN):
|
|
5401
5401
|
self._retreat(index)
|
|
5402
5402
|
return None
|
|
5403
5403
|
|
|
@@ -6464,6 +6464,11 @@ class Parser(metaclass=_Parser):
|
|
|
6464
6464
|
return this
|
|
6465
6465
|
|
|
6466
6466
|
def _parse_case(self) -> t.Optional[exp.Expression]:
|
|
6467
|
+
if self._match(TokenType.DOT, advance=False):
|
|
6468
|
+
# Avoid raising on valid expressions like case.*, supported by, e.g., spark & snowflake
|
|
6469
|
+
self._retreat(self._index - 1)
|
|
6470
|
+
return None
|
|
6471
|
+
|
|
6467
6472
|
ifs = []
|
|
6468
6473
|
default = None
|
|
6469
6474
|
|
|
@@ -7079,8 +7084,8 @@ class Parser(metaclass=_Parser):
|
|
|
7079
7084
|
if kind:
|
|
7080
7085
|
self._match(TokenType.BETWEEN)
|
|
7081
7086
|
start = self._parse_window_spec()
|
|
7082
|
-
|
|
7083
|
-
end = self._parse_window_spec()
|
|
7087
|
+
|
|
7088
|
+
end = self._parse_window_spec() if self._match(TokenType.AND) else {}
|
|
7084
7089
|
exclude = (
|
|
7085
7090
|
self._parse_var_from_options(self.WINDOW_EXCLUDE_OPTIONS)
|
|
7086
7091
|
if self._match_text_seq("EXCLUDE")
|
|
@@ -7092,8 +7097,8 @@ class Parser(metaclass=_Parser):
|
|
|
7092
7097
|
kind=kind,
|
|
7093
7098
|
start=start["value"],
|
|
7094
7099
|
start_side=start["side"],
|
|
7095
|
-
end=end
|
|
7096
|
-
end_side=end
|
|
7100
|
+
end=end.get("value"),
|
|
7101
|
+
end_side=end.get("side"),
|
|
7097
7102
|
exclude=exclude,
|
|
7098
7103
|
)
|
|
7099
7104
|
else:
|
|
@@ -7131,7 +7136,7 @@ class Parser(metaclass=_Parser):
|
|
|
7131
7136
|
"value": (
|
|
7132
7137
|
(self._match_text_seq("UNBOUNDED") and "UNBOUNDED")
|
|
7133
7138
|
or (self._match_text_seq("CURRENT", "ROW") and "CURRENT ROW")
|
|
7134
|
-
or self.
|
|
7139
|
+
or self._parse_type()
|
|
7135
7140
|
),
|
|
7136
7141
|
"side": self._match_texts(self.WINDOW_SIDES) and self._prev.text,
|
|
7137
7142
|
}
|
|
@@ -234,7 +234,6 @@ class TokenType(AutoName):
|
|
|
234
234
|
# keywords
|
|
235
235
|
ALIAS = auto()
|
|
236
236
|
ALTER = auto()
|
|
237
|
-
ALWAYS = auto()
|
|
238
237
|
ALL = auto()
|
|
239
238
|
ANTI = auto()
|
|
240
239
|
ANY = auto()
|
|
@@ -713,7 +712,6 @@ class Tokenizer(metaclass=_Tokenizer):
|
|
|
713
712
|
"~~*": TokenType.ILIKE,
|
|
714
713
|
"~*": TokenType.IRLIKE,
|
|
715
714
|
"ALL": TokenType.ALL,
|
|
716
|
-
"ALWAYS": TokenType.ALWAYS,
|
|
717
715
|
"AND": TokenType.AND,
|
|
718
716
|
"ANTI": TokenType.ANTI,
|
|
719
717
|
"ANY": TokenType.ANY,
|
|
@@ -8,6 +8,10 @@ class TestPostgres(Validator):
|
|
|
8
8
|
dialect = "postgres"
|
|
9
9
|
|
|
10
10
|
def test_postgres(self):
|
|
11
|
+
self.validate_identity(
|
|
12
|
+
"select count() OVER(partition by a order by a range offset preceding exclude current row)",
|
|
13
|
+
"SELECT COUNT() OVER (PARTITION BY a ORDER BY a range BETWEEN offset preceding AND CURRENT ROW EXCLUDE CURRENT ROW)",
|
|
14
|
+
)
|
|
11
15
|
expr = self.parse_one("SELECT * FROM r CROSS JOIN LATERAL UNNEST(ARRAY[1]) AS s(location)")
|
|
12
16
|
unnest = expr.args["joins"][0].this.this
|
|
13
17
|
unnest.assert_is(exp.Unnest)
|
|
@@ -11,6 +11,8 @@ class TestSnowflake(Validator):
|
|
|
11
11
|
dialect = "snowflake"
|
|
12
12
|
|
|
13
13
|
def test_snowflake(self):
|
|
14
|
+
self.validate_identity("x::nvarchar()", "CAST(x AS VARCHAR)")
|
|
15
|
+
|
|
14
16
|
ast = self.parse_one("DATEADD(DAY, n, d)")
|
|
15
17
|
ast.set("unit", exp.Literal.string("MONTH"))
|
|
16
18
|
self.assertEqual(ast.sql("snowflake"), "DATEADD(MONTH, n, d)")
|
|
@@ -3030,7 +3032,7 @@ SINGLE = TRUE""",
|
|
|
3030
3032
|
"SELECT * FROM SEMANTIC_VIEW(foo METRICS a.b, a.c DIMENSIONS a.b, a.c WHERE a.b > '1995-01-01')",
|
|
3031
3033
|
"""SELECT
|
|
3032
3034
|
*
|
|
3033
|
-
FROM SEMANTIC_VIEW(
|
|
3035
|
+
FROM SEMANTIC_VIEW(
|
|
3034
3036
|
foo
|
|
3035
3037
|
METRICS a.b, a.c
|
|
3036
3038
|
DIMENSIONS a.b, a.c
|
|
@@ -284,6 +284,7 @@ SELECT * FROM test FETCH FIRST ROWS ONLY
|
|
|
284
284
|
SELECT * FROM test FETCH FIRST 1 ROWS ONLY
|
|
285
285
|
SELECT * FROM test ORDER BY id DESC FETCH FIRST 10 ROWS WITH TIES
|
|
286
286
|
SELECT * FROM test ORDER BY id DESC FETCH FIRST 10 PERCENT ROWS WITH TIES
|
|
287
|
+
SELECT * FROM test ORDER BY always DESC
|
|
287
288
|
SELECT * FROM test FETCH NEXT 1 ROWS ONLY
|
|
288
289
|
SELECT (1 > 2) AS x FROM test
|
|
289
290
|
SELECT NOT (1 > 2) FROM test
|
|
@@ -929,3 +930,4 @@ SELECT SINH(x)
|
|
|
929
930
|
SELECT COSINE_DISTANCE(v1, v2)
|
|
930
931
|
SELECT EUCLIDEAN_DISTANCE(v1, v2)
|
|
931
932
|
FOO(values.c)
|
|
933
|
+
case.*
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.13.0 → sqlglot-27.13.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.13.0 → sqlglot-27.13.1}/tests/fixtures/optimizer/tpc-ds/customer_demographics.csv.gz
RENAMED
|
File without changes
|
|
File without changes
|
{sqlglot-27.13.0 → sqlglot-27.13.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
|