From c0a1f1a3a880bdc747ef4e4b9ad5d8828aad75ca Mon Sep 17 00:00:00 2001 From: suryaiyer95 Date: Wed, 6 May 2026 21:58:56 -0700 Subject: [PATCH] chore: bump `sqlglot` pin to `sqlglot[c]==30.7.0` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Match the version being adopted in altimate-dags PR #1024 so all downstream consumers (`altimate-dags`, airflow workers via `altimate-datapilot-cli`) resolve to the same C-accelerated sqlglot release. The 6.8x parsing speedup landing in altimate-dags benefits any DAG path that reaches into datapilot-cli's `SqlCheck`. `SqlCheck` (`src/datapilot/core/platforms/dbt/insights/sql/sql_check.py`) is the only place that imports `sqlglot`. Its optimizer-rule pipeline (`pushdown_projections`, `normalize`, `unnest_subqueries`, `eliminate_subqueries`, `eliminate_joins`, `eliminate_ctes`) inspects each rule via `inspect.getfullargspec(rule).args`. Verified that sqlglot[c] 30.7.0 still exposes proper signatures via mypyc — no compat shim required. Non-breaking validation: - Existing test suite: **77/77 pass** on both 25.30.0 (old pin) and 30.7.0 (new pin). - SqlCheck output is byte-identical between 25.30.0 and 30.7.0 on a 7-query fixture covering filter pushdown, CTE chains, unused joins, IN-subqueries, DISTINCT dedup, OR/AND filters, and a no-op query. Same 6 insights, same recommended optimized SQL, same rule names. Refs: AltimateAI/altimate-dags#1024 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index e0700b5..2b0c2e6 100755 --- a/setup.py +++ b/setup.py @@ -67,7 +67,7 @@ def read(*names, **kwargs): "ruamel.yaml~=0.18.6", "tabulate~=0.9.0", "requests>=2.31", - "sqlglot~=25.30.0", + "sqlglot[c]==30.7.0", "mcp~=1.9.0", "pyperclip~=1.8.2", "python-dotenv~=1.0.0",