Ocorrência
  • Algumas operações no SGBD podem gerar locks implícitos e em determinadas condições causar DeadLock.
  • Um DeadLock no SGBD pode afetar a aplicação AdvPL, gerando um travamento dos processos envolvidos.
Implementação
  • Quando solicitado um lock de registro dentro de uma transação, o DBAccess também irá fazer o lock explícito no SGBD.
  • Com o lock explicito no SGBD evitamos que acessos externos ao DBAccess ou operações por fora da engine ISAM atualizem registros "lockados" (em uso).
Informações adicionais
  • Referente ao chamado: DBTEC-443
  • Com este recurso habilitado é possível utilizar o recurso de monitoramento do locks do SGBD para identificação de DeadLocks.
  • O recurso é suportado e implementado para os bancos de dados MSSQL, MYSQL, ORACLE e POSTGRES, e habilitado por default. Para permitir desabilitar esta funcionalidade, verifique a configuração do parâmetro DBAccess - Seção [Environment], chave UseLockInDB