fix(tradein): estimate 500 — AmbiguousParameter на NULL-параметрах #389

Merged
lekss361 merged 1 commit from fix/tradein-estimate-ambiguous-param into main 2026-05-22 05:03:54 +00:00
Owner

Второй баг из #385 (мой #388 закрыл только distance_m-алиас).

_fetch_analogs ORDER BY использует :target_year/:target_house_type. Когда не заданы — приходят NULL без типа → psycopg.errors.AmbiguousParameter $8 → 500 на каждый estimate.

Фикс: явный CAST. Проверено на прод-БД через psycopg3 — без CAST падает, с CAST OK (7 строк).

Второй баг из #385 (мой #388 закрыл только distance_m-алиас). _fetch_analogs ORDER BY использует :target_year/:target_house_type. Когда не заданы — приходят NULL без типа → psycopg.errors.AmbiguousParameter $8 → 500 на каждый estimate. Фикс: явный CAST. Проверено на прод-БД через psycopg3 — без CAST падает, с CAST OK (7 строк).
lekss361 added 1 commit 2026-05-22 05:03:40 +00:00
Второй баг из #385 (#388 закрыл только алиас distance_m). В
_fetch_analogs ORDER BY использует :target_year и :target_house_type.
Когда год постройки / тип дома не заданы, они приходят NULL — psycopg
шлёт их без типа, PostgreSQL не может определить тип параметра →
psycopg.errors.AmbiguousParameter ($8) → 500 на каждый estimate.

Фикс: явный CAST(:target_year AS integer) и CAST(:target_house_type
AS text). Проверено на прод-БД через psycopg3: без CAST падает с
AmbiguousParameter, с CAST — успешно (7 строк).
lekss361 merged commit e170dddd24 into main 2026-05-22 05:03:54 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#389
No description provided.