Versão 43
Melhorias
Admin
- Foi criado o processo “Admin > Ferramentas para chaves > Faixas de chaves” com o objetivo
de permitir habilitar ou desabilitar as faixas de chaves positivas disponíveis para consumo pelo
sistema. Este processo somente pode ser utilizado após a migração para chaves 64 bits ter sido
concluída. Mais detalhes em
Ferramentas para chaves.
Desenvolvimento
Engine
- Foi criada a classe
DatabaseSchemaObserver
com o objetivo de observar as alterações no esquema da base de dados realizadas pela
classe
DatabaseSchema
durante os processos de atualização de sistema e de estrutura da base de dados. Em sua versão
inicial, a classe permite apenas observar a criação, alteração e remoção das colunas das
tabelas da base de dados.
- Foi criado o método
Database.prototype.sequenceExists
com o objetivo de verificar se uma sequência existe na base de dados.
- A classe
DatabaseSchema
passa a permitir criar tabelas com
coluna identidade,
conceito exclusivo do Microsoft SQL Server. Para isso, deve ser utilizada a nova
propriedade
ColumnDef.prototype.identity
.
- Foi criado o método
Database.prototype.loginByAuthToken
com o objetivo de autorizar uma conexão a uma base de dados remota utilizando um
token de autorização em vez das credenciais do usuário. O token informado deve ter ao menos o
escopo de autorização “security.externalAccess”. Mais detalhes podem ser obtidos no manual
Escopos de autorização.
- O algoritmo de derivação de chaves utilizado pelo Engine para armazenar as senhas dos usuários
foi atualizado e passa a gerar chaves de 256 bits, tornando o sistema mais seguro contra ataques
de força bruta. É recomendado que os usuários renovem as suas senhas após a atualização
do sistema para a versão 43 ou superior.
Defeitos corrigidos
Admin
- Ao criar uma classe Custom no processo “Admin > Classes Explorer” ocorria o erro
“Caracteres inválidos no nome da classe”.
- Ao executar o relatório “Admin > Ferramentas para chaves > Consumo de chaves” ocorria o erro
“O parâmetro content é de tipo não suportado”.
Desenvolvimento
- Ao remover uma coluna de uma tabela totalizada por uma tabela de soma ocorria o erro
“ORA-04098: trigger XXXX is invalid and failed re-validation” caso fosse utilizado o banco de
dados Oracle.
- Ao atualizar um arquivo utilizando o processo “Desenvolvimento > Atualização > Atualizar VFS”
ocorria o erro “now is not defined” se fosse necessário criar classes na base de dados destino.
Engine
- A remoção de registros das tabelas do cache local durante o sincronismo poderia provocar a
perda de integridade dos dados se uma coluna fosse removida do modelo de dados após a
criação do cache.
- As modificações de senha de um usuário não eram registradas no log caso fossem realizadas por
um administrador do sistema.
Web Framework
- O evento “afterChange” não era emitido corretamente ao alterar um campo caso o método
Grid.prototype.insert
fosse executado programaticamente e o valor do campo alterado fosse igual ao do registro anterior.
- A ausência de permissão de leitura ao diretório “profile” na pasta de instalação do Engine
poderia provocar o erro “logger_ has no properties” durante a utilização do sistema.
Outras alterações
Desenvolvimento
- Os processos de atualização passam a permitir a conversão de colunas do tipo “char” para
“varchar” apenas para as tabelas que fazem parte do cache local. Para as demais tabelas
foi criada a rotina de manutenção “Desenvolvimento > Manutenção > Converter colunas char para
varchar” para realizar a conversão. O uso dessa nova rotina será sugerido pelos processos de
atualização quando necessário.
- Os processos de atualização passam a permitir a conversão de colunas do tipo “varchar(2000)”
para “clob” no banco de dados PostgreSQL. Nos demais SGBDs, a conversão não será permitida e será
indicada a utilização da rotina de manutenção “Desenvolvimento > Manutenção > Converter
colunas varchar(2000) para clob” para realizar essa conversão. O uso dessa nova rotina será sugerido
pelos processos de atualização quando necessário.
Engine
- A classe
ngin.db.DatabaseStructureManager
foi removida do sistema. Em seu lugar, é recomendado
o uso da API
DatabaseSchema
.
Última atualização em 27 Jan 2021