fix(velocity): :window_interval::interval cast syntax (same bug as PR #152) #160

Merged
lekss361 merged 1 commit from fix/velocity-cast-window-interval into main 2026-05-15 06:46:01 +00:00

1 commit

Author SHA1 Message Date
lekss361
a572cf39d1 fix(velocity): :window_interval::interval cast syntax — same bug as PR #152
SQLAlchemy text() parser confuses ':window_interval' (named param) followed
by '::interval' (cast operator) — exactly как было в PR #152 с :weights::jsonb.

Result: psycopg видит literal ':window_interval' в SQL → syntax error →
exception caught by velocity catch → return None → UI shows null.

## Fix

':window_interval::interval' → 'CAST(:window_interval AS interval)' (2 мест:
sales_rows query + _get_ekb_median percentile).

Pre-push code-reviewer должен был catch — добавим в feedback что для каждого
text() SQL grep ':[a-z]*::' before push.

Refs: PR #158 deploy verify, e2e velocity = null root cause
2026-05-15 09:41:14 +03:00