Lançamento do SGBD SQLite 3.46

Foi lançado o SQLite 3.46, um SGBD leve apresentado como uma biblioteca plugável. O código do SQLite é distribuído como domínio público, ou seja, pode ser utilizado sem restrições e gratuitamente para qualquer finalidade. O suporte financeiro aos desenvolvedores do SQLite é fornecido por um consórcio criado especificamente.

Principais mudanças:

  • Agora é possível usar o separador "_" em números para uma apresentação mais clara de literais numéricos (por exemplo, 1_234_567).
  • Adicionada a função SQL json_pretty() para gerar uma saída mais legível em formato JSON, formatada com blocos indentados.
  • Expandida a funcionalidade da operação "PRAGMA optimize", que otimiza o banco de dados e todos os esquemas de dados para alcançar o melhor desempenho das consultas. Implementado um limite de duração para a análise do banco de dados, evitando longos tempos de processamento em grandes bancos. Adicionada uma nova máscara de bits "PRAGMA optimize(0x10000)" para verificar atualizações em todas as tabelas. Garantido a reanálise automática de tabelas sem entradas sqlite_stat1.
  • Suporte adicionado para as substituições %G, %g, %U e %V na função SQL strftime().
  • Na função SQL para manipulação de datas e horas, novos modificadores ceiling e floor foram adicionados para controlar o tratamento de datas ambíguas, que surgem em operações de deslocamento de datas por um certo número de meses ou anos. Implementado o ignore dos modificadores utc e localtime, se o SQLite souber que o tempo já está em representação UTC ou localtime.
  • Otimizações foram feitas no planejador de consultas. Para expressões INSERT que contêm milhares de valores na seção VALUES, a otimização "VALUES-as-coroutine" é ativada por padrão, permitindo dobrar a velocidade de análise dessas expressões e reduzir pela metade o consumo de memória. Para consultas como "SELECT count(DISTINCT col) FROM ...", a aplicação de índices é permitida, mesmo que o tamanho dos registros no índice seja igual ou maior do que os registros na tabela. Melhorada a lógica para determinar situações em que constantes são fornecidas como argumentos em funções SQL. Implementada a otimização push-down para expressões WHERE contendo subconsultas não relacionadas.
  • A lógica de tratamento do estouro da pilha foi alterada — ao detectar falta de memória para a pilha, o parser agora tenta alocar memória adicional do heap, em vez de gerar o erro "estouro da pilha do parser".
  • No JSON, a especificação de caracteres de controle em literais de string JSON5 é permitida. A lógica dos operadores "->" e "->>" foi alterada, de modo que, quando o operando à direita contém apenas dígitos, esses operando agora são tratados como strings, seguindo a analogia com o PostgreSQL.
  • É permitido especificar grandes literais hexadecimais no valor DEFAULT em colunas de tabelas.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster