- Criado por Fabio Garbin, última alteração por Julio Wittwer em 26 abr, 2023
Correções
Incidente: O DBMonitor algumas vezes mostra o consumo de memória de uma conexão com o DBAcccess com valor negativo.
Solução: Para poder adequar o mecanismo para exibição do consumo de memória de uma conexão com o DBAccess de forma a não onerar o processamento, esse recurso está sendo desativado e será reavaliado posteriormente.
Referente ao chamado: 15406280
Referente à ocorrência: TPGW-1234
Incidente: Access Violation no driver para MSSQL Linux, no acesso a campo MEMO com conteúdo binário.
Solução: Alterada leitura ODBC de campos MEMO para contornar queda do driver MSSQL Linux com colunas CLOB que contenham um zero binário na primeira posição do buffer.
Referente ao chamado: TPGW-1255
Incidente: Utilização do DBAccess em configuração distribuída – um ou mais serviços secundários, um serviço primário.
Ocorrência: Eventualmente, quando o serviço do DBaccess era finalizado, ele apresentava durante o término do serviço uma ocorrência de Access Violation.
Solução: Corrigido o mecanismo interno de mensagens entre DBAccess Primário e secundário(s).
Referente ao chamado: TPGW-1272
Incidente: Utilização do DBAccess em configuração distribuída – um ou mais serviços secundários, um serviço primário.
Ocorrência: Mesmo que o DBAccess primário esteja no ar, eventualmente um dbaccess secundário não conseguia conectar-se ou reconectar-se a um DBACcess Primário, ficando em LOOP até ser reiniciado.
Solução: Corrigido o mecanismo interno de mensagens entre DBAccess Primário e secundário(s).
Referente ao chamado: TPGW-1272
Incidente: Habilitada mediante SIGACFG, quando usado Bancos de Dados MSSQL e/ou Postgres, e o DBAccess configurado com o parâmetro ReleaseInactiveConn habilitado. Caso uma conexão fosse finalizada por inatividade, parte dos dados usados para auditoria eram perdidos, e após a reconexão, informações de auditoria geradas pela nova conexão poderiam não conter as demais informações de rastreabilidade.
Solução: Corrigido o mecanismo de reconexão automática após desconexão por inatividade, para salvar e restaurar as informações de rastreabilidade de auditoria.
Referente ao chamado: TPGW-1275
Incidente: Submeter queries ao DBAccess, com o retorno de campos MEMO em Query habilitado, mas o(s) campo(s) MEMO não são o(s) último(s) campo(s) da Query. A mensagem "Invalid Field Order in Query -- Memo fields REMOVED -- They must be grouped at the end of the Query" era registrada no DBAccess como um ERRO -19 (COMMAND_FAILED), mas não retornava erro nenhum ao AppServer, causando a falsa impressão de erro na aplicação AdvPL.
Solução: A mensagem passa a ser registrada como uma Advertência ( WARNING ) e somente será mostrada caso a configuração de advertências esteja ligada ( MsgWarnings=1 )
Referente ao chamado: TPGW-1277
Incidente: Ao chamar a função TCGetInfo 11 e 12 com um DBAccess distribuído, o retorno é vazio e aparece no dbconsole.log a mensagem ""tRecordLockClient::InspectLocks not implemented.
Solução: Implementadas as opções 11 e 12 da TCGetInfo para o uso com DBAccess distribuído.
Referente ao chamado: TPGW-1303
Melhorias
Incidente: Quando o DBTools era utilizado para migrar um banco de dados SQL Server que estava compactado, a estimativa de tamanho estava errada e mostrava mais de 100% durante a migração.
Solução: Criada uma nova configuração para devolver uma melhor estimativa de tamanho. Essa configuração terá efeito apenas para SQL Server. Por padrão a configuração está desligada.
Referente ao chamado: TPGW-1268
Solução: Solução: Melhoria de desempenho no TC_CanOpen, removendo consultas ao DBAccess mirror.
Referente ao chamado: TPGW-1279
Incidente: Perdas momentâneas de desempenho, quando do uso DBAccess em configuração distribuída, ao lidar com listas de bloqueios de mais de 50 mil registros por tabela.
Solução: Melhoria expressiva nos algoritmos de bloqueio e liberação de registros.
Referente à ocorrência: TPGW-1308
Incidente: Implementar uma melhoria no DBTools para viabilizar a leitura de um arquivo TXT que contenha a lista de tabelas que serão migradas.
Solução: Foi implementado o recurso de leitura de arquivo TXT através da opção "Set Migration Parameters".
Detalhes:
- Na opção Set Migration Parameters, a 8ª opção ( Tables to copy ) passa a suportar a leitura de um arquivo.
- Pode-se informar apenas o nome do arquivo (file.txt) desde que ele esteja no mesmo path do executável do DBTools.
- Pode-se utilizar path absoluto, desde que na mesma máquina, tanto para a versão Windows quanto para Linux
Exemplo:
windows - c:\tmp\tables.txt
linux - /tmp/tables.txt
Quanto ao arquivo:
- Ele deve, obrigatoriamente, ter a extensão .txt
- Não recomendamos que ele seja formatado com quebras de linhas (sejam CRLF ou LF), embora haja um tratamento básico para retirá-los
- Caso haja quebra de linha, todo o conteúdo posterior a quebra será desconsiderado
- Para distinguir as diferentes tabelas a serem migradas, deve-se utilizar a virgula (,) como separador
- Foi mantido o suporte a sintaxe LIKE (SQL ANSI)
Referente à ocorrência: TPGW-1249