SQLite 3.40 lançado com varias melhorias


Lançado o SQLite 3.40 com varias melhorias, confira.

SQLite 3.40


SQLite é uma biblioteca em processo que implementa um mecanismo de banco de dados SQL transacional independente, sem servidor e sem configuração. O código para SQLite é de domínio público e, portanto, é gratuito para uso para qualquer finalidade, comercial ou privada. SQLite é o banco de dados mais implantado no mundo com mais aplicativos do que podemos contar, incluindo vários projetos de alto perfil.

Destaques desse lançamento.

  • Adiciona suporte para compilar SQLite para WASM e executá-lo em navegadores da web. NB: A compilação WASM e suas interfaces são consideradas "beta" e estão sujeitas a pequenas alterações se necessário. Prevemos finalizar a interface para a próxima versão.
  • Adiciona a extensão de recuperação que pode recuperar algum conteúdo de um arquivo de banco de dados corrompido.
  • Melhorias no planejador de consultas:
  1. Reconhecer índices de cobertura em tabelas com mais de 63 colunas em que as colunas além da 63ª coluna são usadas na consulta e/ou são referenciadas pelo índice.
  2. Extraia os valores das expressões contidas nos índices de expressão onde for prático, em vez de recalcular a expressão.
  3. Os operadores NOT NULL e IS NULL (e seus equivalentes) evitam carregar o conteúdo de grandes strings e valores BLOB do disco.
  4. Evite materializar uma exibição na qual uma varredura completa seja executada exatamente uma vez. Use e descarte as linhas da exibição à medida que são calculadas.
  5. Permite o nivelamento de uma subconsulta que é o operando à direita de um LEFT JOIN em uma consulta agregada.
  • Um novo typedef chamado sqlite3_filename é adicionado e usado para representar o nome de um arquivo de banco de dados. Várias interfaces são modificadas para usar o novo typedef em vez de "char*". Essa alteração de interface deve ser totalmente compatível com versões anteriores, embora possa causar avisos do compilador (inofensivos) ao reconstruir alguns aplicativos herdados.
  • Adiciona a interface sqlite3_value_encoding().
  • Aprimoramento de segurança: SQLITE_DBCONFIG_DEFENSIVE foi aumentado para proibir a alteração do schema_version. O schema_version torna-se somente leitura no modo defensivo.
  • Aprimoramentos na declaração de integridade_check do PRAGMA:
  1. As colunas em tabelas não STRICT com afinidade TEXT não devem conter valores numéricos.
  2. As colunas em tabelas não STRICT com afinidade NUMERIC não devem conter valores TEXT que possam ser convertidos em números.
  3. Verificar se as linhas de uma tabela WITHOUT ROWID estão na ordem correta.
  • Aprimora a instrução VACUUM INTO para que ela honre a configuração síncrona PRAGMA.
  • Aprimore as APIs sqlite3_strglob() e sqlite3_strlike() para que possam aceitar ponteiros NULL para seus parâmetros de string e ainda gerar um resultado sensato.
  • Forneça a nova opção de tempo de compilação SQLITE_MAX_ALLOCATION_SIZE para limitar o tamanho das alocações de memória.
  • Altera o algoritmo usado pelo gerador de números pseudo-aleatórios (PRNG) integrado do SQLite de RC4 para Chacha20.
  • Permite que dois ou mais índices tenham o mesmo nome, desde que estejam todos em esquemas separados.
  • Diversas otimizações de desempenho resultam em cerca de 1% menos ciclos de CPU usados ​​em cargas de trabalho típicas.

Fonte

 Instalação

Para instalar na sua distro execute o comando correspondente a mesma.

Para Arch linux e derivados.

sudo pacman -S sqlite

Para Debian e derivados.

sudo apt install sqlite

Para Fedora e derivados.

sudo dnf install sqlite

Para openSUSE.

sudo zypper install sqlite

Comentários

Você precisa ver isso

Todos os arquivos do blog

Mostrar mais