Foi publicado o lançamento do SQLite 3.37, um SGBD leve, oferecido na forma de 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 para os desenvolvedores do SQLite é fornecido por um consórcio especificamente criado, que inclui empresas como Adobe, Oracle, Mozilla, Bentley e Bloomberg.
Principais mudanças:
- Foi adicionada a suporte para a criação de tabelas com a característica «STRICT», que exige a declaração obrigatória do tipo ao definir colunas e aplica uma verificação rigorosa da conformidade dos tipos dos dados inseridos nas colunas. Quando esta flag estiver ativa, o SQLite retornará um erro quando não for possível converter os dados especificados ao tipo da coluna. Por exemplo, se uma coluna for criada como «INTEGER», a passagem do valor de string ‘123’ resultará na adição do número 123, mas a tentativa de inserir ‘xyz’ resultará em um erro.
- Na operação «ALTER TABLE ADD COLUMN» foi adicionada a verificação das condições de existência de linhas ao adicionar colunas com checagens baseadas na expressão «CHECK» ou com condições «NOT NULL».
- Foi implementada a expressão «PRAGMA table_list» para exibir informações sobre tabelas e visualizações.
- Na interface de linha de comando, foi implementado o comando «.connection», permitindo manter várias conexões com o banco de dados simultaneamente.
- Adicionado o parâmetro «—safe», que desativa comandos CLI e expressões SQL que permitem operações com arquivos de banco de dados diferentes do especificado na linha de comando.
- Na CLI, foi otimizada a performance de leitura de expressões SQL que são divididas em várias linhas.
- Adicionadas as funções sqlite3_autovacuum_pages(), sqlite3_changes64() e sqlite3_total_changes64().
- No planejador de consultas, assegurou-se que expressões «ORDER BY» em subconsultas e visualizações sejam ignoradas, se a remoção dessas expressões não alterar a semântica da consulta.
- A extensão generate_series(START,END,STEP) foi alterada, onde o primeiro parâmetro («START») foi transformado em obrigatório. Para retornar o comportamento antigo, uma recompilação com a opção «-DZERO_ARGUMENT_GENERATE_SERIES» é possível.
- Reduzido o consumo de memória para armazenar o esquema do banco de dados.
Fonte: opennet.ru
