Olá, Roberto,
Eu penso que está enviando, porque está da seguinte forma:
vendas{Prop:SQL}='DELETE ...'
if Checa_Erro(Loc:Mensagem)=true
...vendas{Prop:SQL}='ROLLBACK'
...message(Loc:Mensagem)
end
Se a mensagem é mostrada, obrigatoriamente entrou no if e passou pelo ROLLBACK.
Mas vou fazer uns testes pra garantir.
Obrigado.
Ronei
----- Original Message -----
From: Roberto Mello
To: Comunidade PostgreSQL Brasileira
Sent: Thursday, February 02, 2012 11:05 AM
Subject: Re: [pgbr-geral] Transações
> Realmente eu envio vários scripts dentro da transação, mas mesmo assim, se
eu substituir o COMMIT do final pelo ROLLBACK, ou colocar o ROLLBACK em algum
ponto da rotina, o postgres cancela toda a transação.
Por que o clarion/obscuro esta enviando o rollback corretamente para o PG.
> Agora vamos imaginar que exista relacionado à tabela vendas a tabela
vendas_observacoes e eu tenha esquecido de excluir, vai dar erro de
relacionamento. Neste caso, a função delete(0) do clarion mostra uma mensagem
de erro, a aplicação mostra a mensagem 'Não consegui excluir a venda', o que me
faz concluir que o ROLLBACK foi enviado,
A sua conclusão esta incorreta. O clarion nao esta mandando o rollback para o
PG e segue em frente como se tudo estivesse certo.
Veja se há alguma configuração do clarion que mude esse comportamento, ou
então você vai ter que verificar o retorno depois de cada chamada.
Roberto
------------------------------------------------------------------------------
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral