Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Esta build passa a usar o tipo de campo ‘bytea’ ao invés do campo ‘text’ para emular o campo “M” Memo das tabelas do AdvPL. 

Situação

Utilização de campos "M" Memo do AdvPL em tabelas acessadas pelo DBAccess em Banco de Dados Postgres

Ocorrência

Na criação da tabela, o DBAccess usa para o SGDB Postgres o tipo de campo 'text' para armazenar dados de campos "M" Memo do AdvPL. Como a aplicação AdvPL pode usar conteúdo binário para ser gravado e recuperado de um campo "M" Memo, a utilização do campo text é inadequada, além de estar sujeita a apresentar erro de conversão de CodePage na recuperação do conteúdo do campo, seguido de invasão de memória e queda do DBAccess.

Melhoria

A parir desta Build do DBaccess, será usado o tipo de campo 'byte' no lugar do campo 'text' para armazenar campos "M" memo do AdvPL. As tabelas que ainda usam campo 'text' não são afetadas pelo uso desta chave, apenas novas tabelas criadas passarão a usar o campo 'byte'.

Informações adicionais
  • Referente à ocorrência: MTEC-253 e TEC-7739
  • Disponível a partir do DBAccess Build 20170202 ou superiores, com data de geração superior a 27/4/2017.
  • A mudança do tipo de campo utilizada está atrelada a uma nova chave de configuração para o Postgres, chamada "memoasbyte", inserida a partir desta build, cujo valor default é 1 (habilitado). Caso o cliente opte por atualizar a Build, mas deseja que o tipo de dado usado para campos "M" Memo seja mantido como "byte", basta editar o arquivo de configuração do DBAccess (dbaccess.ini), e acrescentar a chave MemoAsByte=0 na seção [Postgres] – para a configuração valer para todas as conexões com o Postgres desta instância do DBAccess, ou dentro da chave que configura a conexão [Postgres/dbalias] – para a configuração especificada ser considerada apenas para esta seção.