> Mas se acontecer um erro a nível de postgres, tipo, inserindo o registro em > vendas_parcelas com um campo inexistente na tabela, o postgres retorna um > erro, mas mesmo eu enviando um ROLLBACK, o que já foi gravado fica gravado, > a venda fica incompleta. Ou seja, quando há algum erro de dados que eu > detecto na minha aplicação, envio um ROLLBACK e toda a operação é cancelada, > mas quando ocorre um erro de sintaxe ou outro equivalente, o ROLLBACK não > cancela o que já foi gravado.
Não entendi. Um ROLLBACK sempre desfaz toda a transação. Certos tipos de erros fazem com que o PostgreSQL faça automaticamente o ROLLBACK e invalide tudo por você. > Isto tem causado alguns transtornos para mim e para meus clientes. > > Porque isso acontece? Há uma solução pra isso? Tem certeza que você está fazendo corretamente o tratamento da transação? Qual a linguagem que está utilizando? Sua biblioteca de conexão ao SGBD, ORM, driver JDBC ou outra camada entre sua aplicação e o banco não está em modo autocommit? []s Flavio Gurgel _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral