A atualização de sistema passa a alertar o administrador, antes da execução da atualização, se o
banco de dados de destino utiliza uma versão não suportada.
Os processos de atualização de sistema e de estrutura passam a permitir que o administrador marque
as tabelas, colunas e índices que devem ser ignorados durante os processos de atualização por meio
de botões nas grades de remoção.
Foi criado o método
Scheduler.prototype.getCurrentTaskId
com o objetivo de obter o identificador da tarefa em execução no contexto do script executado
pelo Scheduler.
O Engine passa a remover os arquivos do diretório “dbCacheProvider” criados há mais de 30 dias,
reduzindo o espaço em disco utilizado pelo sistema.
O limite de requisições em atendimento por Engine foi alterado de 100 para 200 requisições
simultâneas. O Engine passa a registrar no log quando esse limite é atingido.
O “supervisor.log” passa a registrar a quantidade de sessões, conexões com o banco de dados e
objetos responsáveis pelo tratamento das requisições do Engine.
Extensão VS Code
A grade de DataSet no resultado da execução de código passa a permitir ordenação de registros
com base em múltiplas colunas. Para isso, após a primeira coluna ordenada, as próximas devem ser
clicadas com a tecla ctrl pressionada.
A grade de DataSet no resultado da execução de código passa a possuir opções para ocultar e
exibir colunas, disponíveis em um menu de contexto que pode ser acessado clicando com o botão
direito sobre o cabeçalho de uma coluna. O usuário conta com as opções de ocultar e exibir colunas
individualmente, ocultar todas as colunas vazias e exibir todas as colunas.
Defeitos corrigidos
Engine
O método
Entity.prototype.toJSONString
retornava um JSON inválido caso existisse um caractere “Tab” em um dos campos do tipo “string”.
Extensão VS Code
A execução de scripts poderia falhar no runtime V8 caso fossem redefinidas variáveis globais
declaradas como constantes.
Web Framework
Ao acessar bases de dados com versões distintas utilizando um mesmo endereço poderia
ocorrer a apresentação da tela de login com inconsistências visuais. O problema se manifestava
principalmente em ambientes de desenvolvimento e homologação, onde o endereço localhost
(http://127.0.0.1) é compartilhado por Engines configurados com bases distintas.
Outras alterações
Desenvolvimento
A classe UpgradeScript foi convertida em módulo e renomeada para
UpdateScript.
Os scripts anteriores, da VFS e UFS, foram preservados e continuam exportando os nomes
UpgradeScript e sdl.upgrade.UpgradeScript para manter a compatibilidade com os códigos
existentes.
Engine
A funcionalidade de backup automático do cache local do Engine passa a ser desativada por
padrão. Na prática, isso significa que eventuais falhas de integridade no cache local irão requerer
a construção do cache local a partir do servidor ou a cópia do diretório “dbCache” a partir de um
outro Engine que tenha o cache de dados íntegro. O custo de processamento na inicialização do
sistema requerido para validação do backup e a necessidade de triplicar o espaço em disco
utilizado para o cache de dados tornavam essa solução inadequada para caches de dados
de tamanho elevado. Para caches de dados menores, o esforço de sincronização diretamente com
o servidor não é significativo e acaba por gerar uma solução mais íntegra que o uso do backup.
O backup automático pode ser reativado por meio da variável de ambiente “NGIN_DBCACHE_AUTO_BKP”
ou pelo parâmetro de linha de comando “–EnableDBCacheBackup”. No entanto, o uso dessas opções
não é recomendado, pois a funcionalidade de backup automático deverá ser eliminada do sistema em
versões futuras. Para garantir a redundância e alta disponibilidade dos Engines, é recomendado
que se utilize mais de uma instância de Engine. Mais detalhes sobre esse assunto podem
ser observados no manual Alta disponibilidade.
Os parâmetros de linha de comando “-ddbcb” e “–DisableDBCacheBackup”, a opção “AutomaticBackup”
em “Manage > Configuration > Others” e a entrada de registro do Windows
“Software\Nginstack\Engine\DBCache\AutomaticBackup” deixam de ser suportadas pelo Engine.
A ativação do backup do cache local passa a ser realizada exclusivamente pelo parâmetro de linha
de comando “–EnableDBCacheBackup” e pela variável de ambiente “NGIN_DBCACHE_AUTO_BKP”. Mais
detalhes no manual Configuração do Engine.
O processo “Administração do sistema > Cache local > Configuração do backup automático por
computador” foi removido. Este processo realizava a configuração do backup do cache local via
registro do Windows, funcionalidade não mais suportada pelo Engine.
Os backups automáticos das bases de dados criadas pela classe
IdoDBManager
deixam de ser realizados, pois uma eventual restauração automática desses backups poderia
afetar a integridade das regras de negócio, tendo em vista que os dados restaurados
poderiam já ter sido processados ou eliminados do sistema. Quando necessária, a proteção desses
dados deve ser realizada pela classe responsável por criar e manter a base de dados. Essa proteção
pode ser feita facilmente criando uma cópia dos arquivos associados à base de dados antes da
da execução do método
IdoDBManager.prototype.loadDatabase.
Com esta alteração, as classes ngin.idobkp.EventReader e BackupEventReader também foram
eliminadas do sistema.
Extensão VS Code
A grade de DataSet no resultado da execução de código teve o comportamento da seleção de colunas
alterado. A ação para selecionar ou desfazer seleção de uma coluna individualmente passa ser o
clique no cabeçalho da coluna com ctrl + shift pressionados (anteriormente, apenas ctrl). Para
selecionar a primeira coluna ou um intervalo de colunas, a ação continua sendo shift + clique.
Esta modificação se deve ao fato de que a grade agora passa a utilizar o ctrl + clique para
ordenação de registros com base em múltiplas colunas.