Control de excepcion

From: Alejandro Carrillo <fasterzip(at)yahoo(dot)es>
To: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Control de excepcion
Date: 2017-03-08 05:21:24
Message-ID: 2073029696.1516461.1488950484501@mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guillermo E. Villanueva 2017-03-08 14:53:44 Fundamentos de BD
Previous Message Jaime Casanova 2017-03-08 00:35:54 Re: no aplica constraint_exclusion con concadenacion de parametros