Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Detalhamento de comportamento da implementação

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

Ocorrência
Situação
O banco de dados ORACLE , faz COMMIT IMPLICITO de uma transação aberta, caso sejam executadas Instruções de DDL na conexão ( por exemplo CREATE E DROP ).
Quando 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

DBAccess vai

Inclusão de trecho
dbaccess
dbaccess
nopaneltrue
 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

comitada no Banco de Dados

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
ao chamado
  • a issue: TPGW-739
  • Disponível em builds superiores a 
    • A conexão adicional somente será criada internamente pelo
    DBACCess caso ocorra uma tentativa de criar
    • Inclusão de trecho
      dbaccess
      dbaccess
      nopaneltrue
       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
    finalizada / encerrar a conexão com o DBAccess
    • encerrada ou quando a aplicação desconectar do
      Inclusão de trecho
      dbaccess
      dbaccess
      nopaneltrue
      .