Buen dia, Por favor solicito de su colaboración ya que me ocurre algo raro en el control de excepcion de una function, los functions son los siguientes: CREATE OR REPLACE FUNCTION public.verify( IN token text, IN secret text, IN algorithm text DEFAULT 'HS256'::text) RETURNS TABLE(header json, payload json, valid boolean) AS$BODY$ SELECT convert_from(public.url_decode(r[1]), 'utf8')::json AS header, convert_from(public.url_decode(r[2]), 'utf8')::json AS payload, r[3] = public.algorithm_sign(r[1] || '.' || r[2], secret, algorithm) AS valid FROM regexp_split_to_array(token, '\.') r;$BODY$ LANGUAGE sql VOLATILE COST 100 ROWS 1000;ALTER FUNCTION public.verify(text, text, text) OWNER TO postgres;
create or replace function logicanegocio.verificar_token(p_token character varying, curs refcursor) RETURNS void language plpgsql AS$$begin open curs for select header, payload from verify(p_token, 'Uns3cr3t1c0') where valid = true; exception when others then raise exception 'Token malformed'; end;$$; Cuando envio una cadena erronea a drede, por ejemplo: select logicanegocio.verificar_token('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIiwabmFtZSI6InBlcGUgbG9xdWVuZG8ifQ.PV2EO5ovJ_4Uq8rOEyHEzhafRL82GvuCJFXaRCno5Tg', 'cur'); fetch all in cur; Me sale el siguiente mensaje de error: ERROR: sintaxis de entrada no válida para tipo jsonDETAIL: El elemento «» no es válido.CONTEXT: Datos JSON, línea 1: {"sub":"1",...función SQL «verify» en la sentencia 1 y deberia salir 'Token malformed'; Por favor que puede estar ocurriendo?? Gracias por su apoyo