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
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a