fix(tradein-estimator): restore CAST in IS NOT NULL predicates (revert audit #9, prod fix) (#518)
All checks were successful
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Successful in 41s
Deploy Trade-In / deploy (push) Successful in 31s

This commit is contained in:
lekss361 2026-05-24 12:35:28 +00:00
parent ac57b8e905
commit 6cda0cf8d3

View file

@ -881,13 +881,13 @@ def _fetch_analogs(
-- без типа PostgreSQL "could not determine data type of parameter"
-- (AmbiguousParameter). Явный тип снимает неоднозначность.
+ CASE
WHEN :target_year IS NOT NULL
WHEN CAST(:target_year AS integer) IS NOT NULL
AND year_built IS NOT NULL
THEN abs(year_built - CAST(:target_year AS integer)) / 12.0
ELSE 0
END
+ CASE
WHEN :target_house_type IS NOT NULL
WHEN CAST(:target_house_type AS text) IS NOT NULL
AND house_type IS NOT NULL
AND house_type <> CAST(:target_house_type AS text)
THEN 1.5
@ -900,13 +900,13 @@ def _fetch_analogs(
ST_Distance(geom::geography, ST_MakePoint(:lon, :lat)::geography)
/ 1000.0
+ CASE
WHEN :target_year IS NOT NULL
WHEN CAST(:target_year AS integer) IS NOT NULL
AND year_built IS NOT NULL
THEN abs(year_built - CAST(:target_year AS integer)) / 12.0
ELSE 0
END
+ CASE
WHEN :target_house_type IS NOT NULL
WHEN CAST(:target_house_type AS text) IS NOT NULL
AND house_type IS NOT NULL
AND house_type <> CAST(:target_house_type AS text)
THEN 1.5