Publicouse a versión de SQLite 3.38, un DBMS lixeiro deseñado como biblioteca de complementos. O código SQLite distribúese no dominio público, é dicir. pódese usar sen restricións e de forma gratuíta para calquera propósito. O apoio financeiro aos desenvolvedores de SQLite é proporcionado por un consorcio especialmente creado, que inclúe empresas como Adobe, Oracle, Mozilla, Bentley e Bloomberg.
Principais cambios:
- Engadido soporte para os operadores -> e ->> para facilitar a extracción de datos en formato JSON. A nova sintaxe do operador é compatible con MySQL e PostgreSQL.
- A estrutura principal inclúe funcións para traballar con datos en formato JSON, cuxa conexión requiría previamente un conxunto coa marca "-DSQLITE_ENABLE_JSON1". Para desactivar a compatibilidade con JSON, engadiuse a marca "-DSQLITE_OMIT_JSON".
- Engadiuse a función unixepoch() que devolve o tempo de época (o número de segundos desde o 1 de xaneiro de 1970).
- Para as funcións que funcionan co tempo, implementáronse os modificadores "auto" e "julianday".
- A función SQL printf() foi renomeada a format() para mellorar a compatibilidade con outros DBMS (consérvase o soporte para o nome antigo).
- Engadiuse a interface sqlite3_error_offset() para facilitar a localización de erros nunha consulta.
- Engadíronse novas interfaces de programas á implementación de táboas virtuais: sqlite3_vtab_distinct(), sqlite3_vtab_rhs_value() e sqlite3_vtab_in(), así como novos tipos de operador SQLITE_INDEX_CONSTRAINT_LIMIT e SQLITE_INDEX_CONSTRAINT_OFFSET.
- A interface de liña de comandos garante un correcto manexo dos caracteres de tabulación e de avance de liña na saída de texto en modos de varias columnas. Engadiuse compatibilidade para usar as opcións "--wrap N", "--wordwrap on" e "-quote" ao emitir varias columnas. O comando .import permite a corrección dos nomes das columnas.
- Para acelerar a execución de consultas analíticas grandes, o planificador de consultas usa unha estrutura de filtro de floración probabilística para determinar se un elemento está presente nun conxunto. Utilízase unha árbore de combinación equilibrada para optimizar o procesamento dos bloques UNION e UNION ALL que abarcan as instrucións SELECT con cláusulas ORDER BY.
Ademais, pode observar a publicación dunha versión do conxunto sqlite-utils 3.24, que inclúe utilidades e unha biblioteca para manipular ficheiros da base de datos SQLite. Operacións como a carga directa de datos JSON, CSV ou TSV nun ficheiro de base de datos coa creación automática do esquema de almacenamento necesario, execución de consultas SQL sobre ficheiros CSV, TSV e JSON, busca de texto completo na base de datos, conversión de datos e esquemas de almacenamento en situacións nas que ALTER non é aplicable son compatibles TABLE (por exemplo, para cambiar o tipo de columnas), extraendo columnas en táboas separadas.
Fonte: opennet.ru