CREATE OR REPLACE FUNCTION public.rebuild_coverage_after_sector_change()
RETURNS trigger
LANGUAGE plpgsql
AS $$
BEGIN
    IF OLD.tower_id IS DISTINCT FROM NEW.tower_id
       OR OLD.azimuth IS DISTINCT FROM NEW.azimuth
       OR OLD.beamwidth IS DISTINCT FROM NEW.beamwidth THEN
        UPDATE public.coverage_zones
           SET coverage_radius_m = coverage_radius_m
         WHERE sector_id = NEW.sector_id;
    END IF;

    RETURN NEW;
END;
$$;
