Lançamento do SQLite 3.38 DBMS e conjunto de utilitários sqlite-utils 3.24

O lançamento do SQLite 3.38, 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:

  • Adicionado suporte para os operadores -> e ->> para facilitar a extração de dados no formato JSON. A nova sintaxe do operador é compatível com MySQL e PostgreSQL.
  • A estrutura principal inclui funções para trabalhar com dados no formato JSON, cuja conexão anteriormente exigia um assembly com o sinalizador “-DSQLITE_ENABLE_JSON1”. O sinalizador "-DSQLITE_OMIT_JSON" foi adicionado para desativar o suporte JSON.
  • Adicionada função unixepoch() que retorna o tempo de época (o número de segundos desde 1º de janeiro de 1970).
  • Para funções que trabalham com 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 suporte para o nome antigo é mantido).
  • Adicionada a interface sqlite3_error_offset() para facilitar a localização de erros em uma consulta.
  • Novas interfaces de programa foram adicionadas à implementação de tabelas virtuais: sqlite3_vtab_distinct(), sqlite3_vtab_rhs_value() e sqlite3_vtab_in(), bem como novos tipos de operadores SQLITE_INDEX_CONSTRAINT_LIMIT e SQLITE_INDEX_CONSTRAINT_OFFSET.
  • A interface de linha de comando garante o manuseio correto de caracteres de tabulação e avanço de linha na saída de texto em modos de múltiplas colunas. Adicionado suporte para usar as opções "--wrap N", "--wordwrap on" e "-quote" ao gerar saída para múltiplas colunas. O comando .import permite a correção de nomes de colunas.
  • Para acelerar a execução de grandes consultas analíticas, o planejador de consultas usa uma estrutura de filtro Bloom probabilístico para determinar se um elemento está presente em um conjunto. Uma árvore de mesclagem balanceada é usada para otimizar o processamento de blocos UNION e UNION ALL abrangendo instruções SELECT com cláusulas ORDER BY.

Além disso, podemos observar a publicação de uma versão do conjunto sqlite-utils 3.24, que inclui utilitários e uma biblioteca para manipulação de arquivos do banco de dados SQLite. Operações como carregamento direto de dados JSON, CSV ou TSV em um arquivo de banco de dados com criação automática do esquema de armazenamento necessário, execução de consultas SQL em arquivos CSV, TSV e JSON, pesquisa de texto completo no banco de dados, conversão de dados e esquemas de armazenamento em situações onde ALTER não é aplicável são suportados TABLE (por exemplo, para alterar o tipo de colunas), extraindo colunas em tabelas separadas.

Fonte: opennet.ru

Adicionar um comentário