Commit History
-
[NOTICKET] SqlCompiler (Postgres) + DbExecutor
Rifqi Hafizuddin +1: Claude Opus 4.7- SqlCompiler: deterministic IR -> (sql, params dict) for Postgres dialect (Supabase reuses). Double-quoted identifiers from catalog, named parameters for values. Supports all 12 whitelisted filter ops, 6 aggs (count/count_distinct/sum/avg/min/max), count(*), alias-aware order_by. CompiledSql.params changed from list to dict[str, Any]. - DbExecutor: layered safety -- source_type check + dbclient:// parse + client owner match + sqlglot SELECT/no-DML guard + Postgres session default_transaction_read_only + statement_timeout=30s + asyncio.wait_for backstop + 10k row cap. Runs sync engine via db_pipeline_service.engine_scope inside asyncio.to_thread. Never raises -- populates QueryResult.error. - pandas.py compiler stub: fixed pre-existing UP035 (Callable import). - pyproject.toml: added S608 to tests/** ruff ignore (test assertions on literal SQL strings are a false positive). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>212dad3 -
initial structure
efc0c0a