fix(sql): re-grant mv_quarter_price_index to tradein_fdw_reader (C3, #2583)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 9s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 2m0s
CI / backend-tests (pull_request) Successful in 15m12s

179's DROP MATERIALIZED VIEW ... CASCADE recreated mv_quarter_price_index
without restoring 99b's GRANT — since 2026-07-05 the tradein estimator's
FDW read (quarter_price_index) failed with permission denied. Applied live
on prod 2026-08-04 (verified: 1894 rows readable from tradein). 188 codifies
the grant idempotently; 179 now re-grants after its CASCADE recreate so a
re-run can't lose it again.
This commit is contained in:
bot-backend 2026-08-04 23:16:08 +05:00
parent 966415dc8a
commit e84c613edc
2 changed files with 26 additions and 0 deletions

View file

@ -220,4 +220,8 @@ COMMENT ON MATERIALIZED VIEW mv_quarter_price_index IS
'Consumer: estimator service (#647-3) reads O(1) by quarter_cad_number. '
'Issue: #760.';
-- C3 (#2583): DROP CASCADE выше уносит грант из 99b — без ре-гранта tradein FDW
-- (quarter_price_index, роль tradein_fdw_reader) ловит permission denied.
GRANT SELECT ON public.mv_quarter_price_index TO tradein_fdw_reader;
COMMIT;

View file

@ -0,0 +1,22 @@
-- 188_regrant_quarter_price_index_fdw.sql
-- C3 (#2583): tradein-эстиматор потерял квартальный индекс 2026-07-05.
--
-- Причина: 179_mv_quarter_price_cadastral_floor.sql делает
-- DROP MATERIALIZED VIEW mv_quarter_price_index CASCADE; CREATE ...
-- DROP+CREATE не сохраняет гранты — GRANT из 99b_grant_quarter_price_index_fdw.sql
-- пропал, и tradein-сторона (foreign table quarter_price_index, роль
-- tradein_fdw_reader) с 05.07 получала:
-- permission denied for materialized view mv_quarter_price_index
--
-- Симптом «не выполняется с 5 июля» — это дата применения 179, а не поломка
-- рефреша: REFRESH MATERIALIZED VIEW (beat: 05:00 МСК 5-го числа) гранты не трогает.
--
-- Применено вживую на прод 2026-08-04 (FDW-чтение проверено: 1894 строки).
-- Этот файл — идемпотентное закрепление. Парный фикс: GRANT дописан в конец 179,
-- чтобы повторное применение 179 больше не теряло грант.
BEGIN;
GRANT SELECT ON public.mv_quarter_price_index TO tradein_fdw_reader;
COMMIT;