Árvore de páginas

Esta build contempla alterações de comportamento na criação e limpeza de tabelas temporárias para o Banco de Dados ORACLE

SituaçãoQuando uma tabela temporária era criada e/ou deletada (drop) dentro de uma conexão transacionada, o banco de dados implicitamente fazia COMMIT e encerrava a transação. A partir desse momento, caso a operação não fosse finalizada com sucesso, não era realizado ROLLBACK dos dados afetados pela transação. 
Melhoria

Caso uma tabela temporária seja criada dentro de uma transação, o TOTVS | DBAccess vai criar internamente uma nova conexão com o ORACLE, para criar a tabela temporária fora da transação, evitando que a transação seja indevidamente commitada no banco de dados. 

Caso a tabela temporária seja eliminada (drop) dentro de uma conexão transacionada, o DBAccess internamente vai postergar a limpeza para a finalização da transação (apos o COMMIT ou ROLLBACK). A função de deleção de tabela ( TCDelFile ) retornará "sucesso" na limpeza neste cenário, mas a limpeza efetiva somente será realizada no final da transação. 

Informações adicionais
  • Referente a issue: TPGW-739
  • A conexão adicional somente será criada internamente pelo TOTVS | DBAccess caso seja solicitada a criação de uma tabela temporária dentro de uma transação ativa, e será finalizada automaticamente quando a aplicação for encerrada ou quando a aplicação desconectar do TOTVS | DBAccess.