Lanzamiento de SQLite 3.38 DBMS y conjunto de utilidades sqlite-utils 3.24

Se ha publicado el lanzamiento de SQLite 3.38, un DBMS liviano diseñado como una biblioteca de complementos. El código SQLite se distribuye en el dominio público, es decir se puede utilizar sin restricciones y de forma gratuita para cualquier propósito. El apoyo financiero para los desarrolladores de SQLite lo proporciona un consorcio especialmente creado, que incluye empresas como Adobe, Oracle, Mozilla, Bentley y Bloomberg.

Cambios importantes:

  • Se agregó soporte para los operadores -> y ->> para facilitar la extracción de datos en formato JSON. La nueva sintaxis del operador es compatible con MySQL y PostgreSQL.
  • La estructura principal incluye funciones para trabajar con datos en formato JSON, cuya conexión anteriormente requería un ensamblado con el indicador "-DSQLITE_ENABLE_JSON1". Para deshabilitar la compatibilidad con JSON, se agregó el indicador "-DSQLITE_OMIT_JSON".
  • Se agregó la función unixepoch() que devuelve el tiempo de época (el número de segundos desde el 1 de enero de 1970).
  • Para funciones que funcionan con tiempo se han implementado los modificadores “auto” y “julianday”.
  • Se ha cambiado el nombre de la función SQL printf() a format() para mejorar la compatibilidad con otros DBMS (se conserva la compatibilidad con el nombre anterior).
  • Se agregó la interfaz sqlite3_error_offset() para facilitar la localización de errores en una consulta.
  • Se han agregado nuevas interfaces de programa a la implementación de tablas virtuales: sqlite3_vtab_distinct(), sqlite3_vtab_rhs_value() y sqlite3_vtab_in(), así como nuevos tipos de operadores SQLITE_INDEX_CONSTRAINT_LIMIT y SQLITE_INDEX_CONSTRAINT_OFFSET.
  • La interfaz de línea de comandos garantiza el manejo correcto de los caracteres de tabulación y avance de línea en la salida de texto en modos de varias columnas. Se agregó soporte para el uso de las opciones "--wrap N", "--wordwrap on" y "-quote" cuando se genera en varias columnas. El comando .import permite la corrección de nombres de columnas.
  • Para acelerar la ejecución de consultas analíticas grandes, el planificador de consultas utiliza una estructura de filtro de floración probabilística para determinar si un elemento está presente en un conjunto. Se utiliza un árbol de combinación equilibrado para optimizar el procesamiento de bloques UNION y UNION ALL que abarcan declaraciones SELECT con cláusulas ORDER BY.

Además, cabe destacar la publicación de una versión del conjunto sqlite-utils 3.24, que incluye utilidades y una biblioteca para manipular archivos de la base de datos SQLite. Operaciones como carga directa de datos JSON, CSV o TSV en un archivo de base de datos con creación automática del esquema de almacenamiento necesario, ejecución de consultas SQL sobre archivos CSV, TSV y JSON, búsqueda de texto completo en la base de datos, conversión de datos y esquemas de almacenamiento. en situaciones en las que ALTER no es aplicable, se admiten TABLE (por ejemplo, para cambiar el tipo de columnas), extrayendo columnas en tablas separadas.

Fuente: opennet.ru

Añadir un comentario