Lanzamiento de SQLite 3.51

Se ha publicado el lanzamiento de SQLite 3.51, un DBMS liviano diseñado como una biblioteca de complementos. El código SQLite se distribuye como dominio público, es decir. Puede utilizarse sin restricciones y de forma gratuita para cualquier fin. El apoyo financiero a los desarrolladores de SQLite lo proporciona un consorcio especialmente creado.

Cambios importantes:

  • Se han añadido nuevas funciones JSON, jsonb_each() y jsonb_tree(), que difieren de las funciones json_each() y json_tree() disponibles anteriormente en que devuelven un valor JSONB para tipos de datos de matriz u objeto.
  • El código de extensión para las extensiones de carray y percentile se ha trasladado al archivo principal "sqlite3.c", que incluye código SQLite integrado. Estas extensiones están deshabilitadas por defecto y requieren los parámetros de compilación "-DSQLITE_ENABLE_CARRAY" y "-DSQLITE_ENABLE_PERCENTILE".
  • Se ha mejorado la interfaz para usar SQLite en scripts Tcl. El comando «eval» ahora incluye la opción «-asdict» para establecer filas usando el tipo «dict» en lugar de «array». También se ha añadido la capacidad de interrumpir funciones definidas por el usuario para que devuelvan un valor NULL.
  • Cambios en la interfaz de la línea de comando:
    • La precisión del comando ".timer" se ha incrementado a microsegundos;
    • Ahora se admiten caracteres de doble ancho en los modos de formato "cuadro" y "columna";
    • El comando ".imposter" ahora puede proporcionar tablas impostoras de solo lectura (que permiten el acceso a los datos de un índice como una tabla) que funcionan con la operación VACUUM y no requieren ejecutarse con la bandera "--unsafe-testing";
    • Se ha añadido la opción "--ifexists" a la utilidad sqlite y al comando ".open".
    • El ancho máximo de línea, que se establece mediante el comando ".width", está limitado a 30000 caracteres.
  • Se han realizado optimizaciones de rendimiento:
    • Reducción de la carga de la CPU al confirmar transacciones con acceso limitado a lectura;
    • Mejora en la detección de operaciones JOIN que no devuelven filas porque una o más tablas no contienen filas;
    • Se excluye la ejecución de subconsultas escalares que no afecten al resultado;
    • Las funciones de ventana se han acelerado en consultas con la expresión "BETWEEN 😡 FOLLOWING AND :y FOLLOWING" y un valor ":y" muy grande.
  • Se agregó la directiva "PRAGMA wal_checkpoint=NOOP" y la función de la API sqlite3_wal_checkpoint() para confirmar los cambios en el registro WAL.
  • Se han añadido las funciones sqlite3_set_errmsg() y sqlite3_db_status64() a la API.
  • La versión JavaScript/WASM de SQLite implementa soporte para el ensamblaje en representación WebAssembly con punteros de 64 bits.
  • Mayor resistencia a la corrupción de bases de datos en aplicaciones que liberan bloqueos POSIX mediante la llamada a close().
  • Soporte mejorado para la plataforma VxWorks.

Fuente: opennet.ru

Añadir un comentario