Versão SQLite 3.37

O lançamento do SQLite 3.37, um DBMS leve projetado como uma biblioteca de plug-ins, foi publicado. O código SQLite é distribuído em domínio público, ou seja, pode ser usado sem restrições e gratuitamente para qualquer finalidade. O suporte financeiro para desenvolvedores SQLite é fornecido por um consórcio especialmente criado, que inclui empresas como Adobe, Oracle, Mozilla, Bentley e Bloomberg.

Grandes mudanças:

  • Adicionada a opção "STRICT" para a criação de tabelas, que exige a especificação de um tipo ao declarar colunas e impõe a verificação estrita de tipos para os dados adicionados às colunas. Quando essa opção está ativada, o SQLite retornará um erro se não conseguir converter os dados especificados para o tipo da coluna. Por exemplo, se uma coluna for criada como "INTEGER", passar o valor da string '123' resultará na adição do número 123, mas tentar especificar 'xyz' resultará em um erro.
  • A operação "ALTER TABLE ADD COLUMN" agora verifica a existência de linhas ao adicionar colunas com verificações baseadas na expressão "CHECK" ou com condições "NOT NULL".
  • A expressão PRAGMA table_list foi implementada para exibir informações sobre tabelas e visualizações.
  • A interface de linha de comando implementa o comando ".connection", que permite manter várias conexões simultâneas com o banco de dados.
  • Adicionado o parâmetro "--safe", que desativa comandos da CLI e expressões SQL que permitem operações com arquivos de banco de dados diferentes daquele especificado na linha de comando.
  • A interface de linha de comando (CLI) foi otimizada para melhorar o desempenho de leitura de instruções SQL divididas em várias linhas.
  • Adicionadas as funções sqlite3_autovacuum_pages(), sqlite3_changes64() e sqlite3_total_changes64().
  • O planejador de consultas agora ignora expressões ORDER BY em subconsultas e visualizações se a remoção dessas expressões não alterar a semântica da consulta.
  • A extensão generate_series(START,END,STEP) foi modificada, sendo o primeiro parâmetro ("START") agora obrigatório. Para reverter ao comportamento anterior, você pode recompilar com a opção "-DZERO_ARGUMENT_GENERATE_SERIES".
  • Redução do consumo de memória para armazenar o esquema do banco de dados.

Fonte: opennet.ru