Olá, pessoal Tudo bem com vocês? Ando meio sumido pela correria, mas achei um problema interessante e acho legal postar aqui para discutirmos.
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. Gostaria de saber se alguém já passou por algum problema similar ou tem alguma idéia do que pode acontecer. Foi testado nas versões 8.1.9, 8.2.7 e 8.3.1. Abaixo esta o código da minha function. 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 'erro'; null; END; END; $$ language plpgsql; []s -- 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