A biblioteca de banco de dados incorporado SQLite, que é amplamente usada, acaba de receber a maior atualização de 2020 nesta semana. Este primeiro grande lançamento de 2020 é o SQLite 3.31 e um dos principais recursos é o suporte a colunas geradas e computadas.Portanto, o SQLite 3.31 é lançado com muitas mudanças importantes que você confere a seguir.
Neste recurso, as colunas de uma tabela são valores retornados por uma função de outras colunas na mesma linha. Essas colunas geradas automaticamente são somente leitura e têm outras limitações. No entanto, estão abertas a uma variedade de utilizações interessantes.
Além do suporte a colunas geradas o SQLite 3.31 lançado também tem:
- novas opções em torno dos chamados hard leap limits;
- uma nova opção para impedir o SQLite de abrir links simbólicos;
- várias novas APIs;
- desempenho mais rápido da interrupção do SQLite3;
- melhor desempenho do alocador de memória e outras alterações.
Mais detalhes sobre o SQLite 3.31 e suas muitas alterações via SQLite.org.
- Adicionada a interface sqlite3_hard_heap_limit64 () e o comando PRAGMA hard_heap_limit correspondente;
- Aprimorado o pragma function_list para mostrar o número de argumentos em cada função, o tipo de função (scalar, aggregate, window) e a propriedade da função sinaliza SQLITE_DETERMINISTIC, SQLITE_DIRECTONLY, SQLITE_INNOCUOUS e/ou SQLITE_SUBTYPE;
- Adicionado o recurso de modo agregado à tabela virtual DBSTAT.
- Adicionada a opção SQLITE_OPEN_NOFOLLOW ao sqlite3_open_v2 () que impede o SQLite de abrir links simbólicos;
- e foi Adicionada array notation “# -N” para function path arguments do JSON;
- Adicionada a configuração SQLITE_DBCONFIG_TRUSTED_SCHEMA;
- Adicionadas APIs sqlite3_filename_database (), sqlite3_filename_journal () e sqlite3_filename_journal () e sqlite3_filename_wal () que são úteis para extensões especializadas;
- Adicione a interface sqlite3_uri_key ();
- Atualizou a função sqlite3_uri_parameter () para que ela funcione com o diário de rollback ou o nome do arquivo WAL, além do nome do arquivo do banco de dados;
- Fornece a capacidade de marcar funções SQL definidas pelo aplicativo com novas propriedades SQLITE_INNOCUOUS ou SQLITE_DIRECTONLY;
- Adicionado o módulo de extensão uuid.c implementando funções para processar UUIDs RFC-4122;
- O alocador de memória lookaside foi aprimorado para suportar dois conjuntos de memórias separadas com alocações de tamanhos diferentes em cada conjunto.