--- Em postgresql-br-F5Bj5G+ccuY@xxxxxxxxxxxxxxxx, Roberto Mello <rmello@xxxx>
escreveu
> Se voce quer uma relacao completa com numeros e tudo, eu _acho_ que nao
> tem uma ainda. O time do PG esta' planejando colocar numeros nas
mensagens
> de erro, mas ainda nao foi feito.
>
> Se quiser procurar os erros nos fontes do PG e contribuir uma lista
para a
> comunidade, tenho certeza que muitos poderiam beneficiar-se.
Na para que o usuario recebesse uma mensagem de erro mais
significativa, aqui nossa empresa implantamos o seguinte: cada
mensagem de erro contem partes significativas, isolamos as mesmas e
geramos mensagens mais claras (e em portugues). Isso foi feito devido
a ausencia de um codigo para cada erro (facilitaria as coisas). Segue
parte do codigo (em PHP, por favor nao generalizem, ha usuarios de PHP
que preocupam-se com uma boa modelagem de seu banco):
$error = explode(" ", $string);
$out = false;
if (($error[3]." ".$error[4]." ".$error[5]) ==
"referential integrity violation")
{
$out = "ERRO: Violação de Integridade Referencial! " .
"Registros filhos encontrados.";
}
elseif (($error[2]." ".$error[3]." ".$error[4]." ".
$error[5]." ".$error[6]) ==
"Cannot insert a duplicate key")
{
$out = "ERRO: Violação de Integridade Referencial! " .
"Chave primária duplicada.";
}
O codigo segue, mas acho que isso jah serve para dar uma ideia. A
funcao retorna a variavel $out.
Alvaro
----------------------------------------------------------
Grupo PostgreSQL Brasil. Fundado em 1999
Mensagens para: postgresql-br-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx
Desassocie-se:
postgresql-br-unsubscribe-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx
Sitio web: http://br.groups.yahoo.com/group/postgresql-br
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
|