Olá, Euler

Grato pela dica. Eu só fiquei sem entender porque eu não consigo fazer a
validação pelo usuário inválido através de invalid_role_specification.

[]s


2008/7/30 Euler Taveira de Oliveira <[EMAIL PROTECTED]>

> jota.comm escreveu:
> > Vamos ao problema: Estou desenvolvmendo uma function para dar permissão
> > a um determinado usuário, porém quero fazer um tratamento de exceção
> > caso o usuário não exista não gere uma mensagem de erro.
> >
> > Pensando logicamente minha idéia era usar o error code:
> > invalid_role_specification, porém não funcionou e o mesmo não cai no
> > tratamento da exceção, a única maneira de resolver foi usando:
> > syntax_error_or_access_rule_violation, que para mim não faz muito
> sentido.
> >
> O que você precisa é undefined_object. Vale lembrar que
> syntax_error_or_access_rule_violation é uma classe de erros, ou seja,
> ela retorna verdadeiro para qualquer erro que pertença a sua classe. Se
> você quiser ser mais específico evite as classes XX000; ao invés disso,
> utilize um código de erro específico. Utilize as variáveis sqlstate e
> sqlerrm para descobrir os códigos de erro específicos.
>
> CREATE OR REPLACE FUNCTION foo(text) RETURNS void AS $$
> BEGIN
>     BEGIN
>         EXECUTE 'GRANT SELECT ON teste TO ' || $1;
>     EXCEPTION WHEN syntax_error_or_access_rule_violation THEN
>          RAISE NOTICE 'sqlstate: %; sqlerrm: %', sqlstate, sqlerrm;
>     END;
> END;
> $$ language 'plpgsql';
>
>
> --
>   Euler Taveira de Oliveira
>   http://www.timbira.com/
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to