Lanzamiento de la base de datos SQLite 3.51

Se ha publicado la versión SQLite 3.51, una base de datos ligera presentada como una biblioteca vinculable. El código de SQLite se distribuye como dominio público, lo que significa que puede ser utilizado sin restricciones y de forma gratuita para cualquier propósito. El soporte financiero para los desarrolladores de SQLite es proporcionado por un consorcio creado específicamente.

Principales cambios:

  • Se han añadido nuevas funciones JSON jsonb_each() y jsonb_tree(), que se diferencian de las funciones anteriores json_each() y json_tree() al devolver el valor JSONB para datos de tipo arreglo u objeto.
  • El código de las extensiones carray y percentile ha sido trasladado al archivo base «sqlite3.c» con el código embebido de SQLite. Por defecto, estas adiciones están desactivadas y requieren que se especifiquen los parámetros «-DSQLITE_ENABLE_CARRAY» y «-DSQLITE_ENABLE_PERCENTILE» al compilar.
  • Se ha mejorado la interfaz para el uso de SQLite en scripts en Tcl. Se ha añadido un flag «-asdict» al comando «eval» para devolver cadenas utilizando el tipo «dict» en lugar de «array». Se ha añadido la posibilidad de interrumpir funciones de usuario para devolver un valor NULL.
  • Cambios en la interfaz de línea de comandos:
    • La precisión del comando «.timer» se ha incrementado a microsegundos;
    • En los modos de formateo «box» y «column» se ha implementado soporte para caracteres de doble ancho;
    • El comando «.imposter» ahora puede proporcionar tablas imposter en modo de solo lectura (que permiten acceder a los datos en el índice como si fueran una tabla), funcionando con la operación VACUUM y no requiriendo ser ejecutado con la flag «—unsafe-testing»;
    • Se ha añadido la opción «—ifexists» a la utilidad sqlite y al comando «.open».
    • El ancho máximo de la cadena, establecido mediante el comando «.width», está limitado a 30000 caracteres.
  • Se han realizado optimizaciones en el rendimiento:
    • Se ha reducido la carga del CPU al finalizar transacciones restringidas a acceso de solo lectura;
    • Se ha mejorado la determinación de las operaciones de combinación (JOIN) que no devuelven filas debido a que una o más tablas no contienen filas;
    • Se ha excluido la ejecución de subconsultas escalares que no afectan al resultado;
    • Se ha acelerado el funcionamiento de las funciones de ventana en solicitudes con la expresión «BETWEEN 😡 FOLLOWING AND :y FOLLOWING» y un valor muy grande para «:y».
  • Se ha añadido la pragma «PRAGMA wal_checkpoint=NOOP» y la función API sqlite3_wal_checkpoint() para registrar cambios en el diario WAL.
  • Se han añadido las funciones sqlite3_set_errmsg() y sqlite3_db_status64() en la API.
  • En la versión JavaScript/WASM de SQLite se ha implementado soporte para la compilación en la representación de WebAssembly con punteros de 64 bits.
  • Se ha aumentado la resistencia a daños en bases de datos en aplicaciones que eliminan bloqueos POSIX mediante la llamada close().
  • Se ha mejorado el soporte para la plataforma VxWorks.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster