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