Publicada a versão do SQLite 3.38, um SGBD leve, apresentado como uma biblioteca de extensão. O código do SQLite é disponibilizado como domínio público, ou seja, pode ser utilizado sem restrições e gratuitamente para quaisquer fins. O suporte financeiro aos desenvolvedores do SQLite é fornecido por um consórcio criado especialmente, que inclui empresas como Adobe, Oracle, Mozilla, Bentley e Bloomberg.
Principais mudanças:
- Adicionada a suporte para os operadores -> e ->>, que facilitam a extração de dados no formato JSON. A sintaxe dos novos operadores é compatível com MySQL e PostgreSQL.
- O conjunto principal inclui funções para trabalhar com dados no formato JSON, para as quais anteriormente era necessário compilar com a flag “-DSQLITE_ENABLE_JSON1”. Para desativar o suporte ao JSON, foi adicionada a flag “-DSQLITE_OMIT_JSON”.
- Adicionada a função unixepoch(), que retorna o tempo em epoch (número de segundos desde 1 de janeiro de 1970).
- Para as funções de manipulação de tempo, foram implementados os modificadores “auto” e “julianday”.
- A função SQL printf() foi renomeada para format() para melhorar a compatibilidade com outros SGBDs (o antigo nome ainda é suportado).
- Adicionada a interface sqlite3_error_offset() para facilitar a localização de erros nas consultas.
- Na implementação de tabelas virtuais, foram adicionadas novas interfaces: sqlite3_vtab_distinct(), sqlite3_vtab_rhs_value() e sqlite3_vtab_in(), assim como novos tipos de operadores SQLITE_INDEX_CONSTRAINT_LIMIT e SQLITE_INDEX_CONSTRAINT_OFFSET.
- Na interface da linha de comando, foi garantido o processamento correto de caracteres de tabulação e quebras de linha no texto exibido em modos multicolunas. Adicionada a suporte para opções “—wrap N”, “—wordwrap on” e “—quote” ao exibir múltiplas colunas. Na equipe .import, foi assegurada a correção dos nomes das colunas.
- No planejador de consultas, para acelerar a execução de grandes consultas analíticas, foi utilizada uma estrutura probabilística bloom filter, aplicável para determinar a presença de um elemento em um conjunto. Para otimizar o processamento de blocos UNION e UNION ALL que abrangem expressões SELECT com seções ORDER BY, foi envolvida uma árvore de mesclagem balanceada.
Além disso, podemos destacar a publicação da versão do conjunto sqlite-utils 3.24, que inclui utilitários e uma biblioteca para manipulação de arquivos com bancos de dados SQLite. Suportam operações como a importação direta de dados JSON, CSV ou TSV em um arquivo de banco de dados com a criação automática do esquema necessário, execução de consultas SQL sobre arquivos CSV, TSV e JSON, realização de busca de texto completo em bancos de dados, transformação de dados e esquemas de armazenamento em situações onde o ALTER TABLE não é aplicável (por exemplo, para mudar o tipo de colunas), extração de colunas para tabelas separadas.
Fonte: opennet.ru
