-- Fix security warning: Remove SECURITY DEFINER from view -- Views don't need SECURITY DEFINER as they inherit permissions from underlying tables -- The view was already created without SECURITY DEFINER in the previous migration -- This is just documenting that no action is needed -- For search_path mutable warning on get_submission_item_entity_data function: -- Add SET search_path to make it immutable CREATE OR REPLACE FUNCTION public.get_submission_item_entity_data(p_item_type text, p_item_data_id uuid) RETURNS jsonb LANGUAGE plpgsql STABLE SECURITY DEFINER SET search_path TO 'public' AS $function$ DECLARE v_result jsonb; BEGIN CASE p_item_type WHEN 'park' THEN SELECT to_jsonb(ps.*) INTO v_result FROM park_submissions ps WHERE ps.id = p_item_data_id; WHEN 'ride' THEN SELECT to_jsonb(rs.*) INTO v_result FROM ride_submissions rs WHERE rs.id = p_item_data_id; WHEN 'manufacturer', 'operator', 'designer', 'property_owner' THEN SELECT to_jsonb(cs.*) INTO v_result FROM company_submissions cs WHERE cs.id = p_item_data_id; WHEN 'ride_model' THEN SELECT to_jsonb(rms.*) INTO v_result FROM ride_model_submissions rms WHERE rms.id = p_item_data_id; WHEN 'photo' THEN SELECT to_jsonb(ps.*) INTO v_result FROM photo_submissions ps WHERE ps.id = p_item_data_id; ELSE v_result := NULL; END CASE; RETURN v_result; END; $function$;