Árvore de páginas

SituaçãoA função TCRefresh foi criada originalmente para refazer o cache da definição da tabela na memória do DBAccess, baseado nas definições da tabela no catálgo de campos e índices de tabelas do Banco de Dados e das definições complementares da tabela de controle TOP_FIELD, e ao refazer o cache, o último registro inserido no banco também é atualizado na memória do DBAccess. 
OcorrênciaA grande maioria das chamadas da função TCRefresh() inseridas dentro dos códigos AdvPL tem o propósito apenas de atualizar na memoria do DBAccess o último inserido no banco de dados, por exemplo após uma inserção feita diretamente no banco de dados usando TCSQLExec() ou uma Stored Procedure. Porém, a função TCRFefresh() em cada chamada refaz as queries de identificação de estrutura de campos e índices para a tabela, o que torna a operação mais pesada do que o necessário. 
Melhoria

A partir da build atual, é possível mudar o comportamento da função TCRefresh(), para que ela apenas atualize o cache de controle de numeração do DBACcess para a tabela informada, sem recriar a definição inteira da tabela. Este novo comportamento foi chamado de "Soft Refresh", está desigado por default, e pode ser habilitado através da função TCConfig("TCSOFTREFRESH=ON"). Para informações completas sobre a função TCConfig e seus parâmetros, consulte a documentação disponivel no link TCConfig

Informações adicionais
  • Referente à ocorrência: TPGW-699
  • Implementação realizada em conformidade com o plano de melhoria contínua da aplicação.
  • Habilitar esta configuração tem efeito apenas na conexão atual em uso com o DBAccess, e pode ser desligada utilizando TCConfig("TCSOFTREFRESH=OFF")