Lanzamiento de la base de datos SQLite 3.53

Se ha publicado la versión 3.53 de SQLite, una base de datos ligera presentada como una biblioteca de enlace dinámico. La versión 3.52 fue cancelada. El código de SQLite se distribuye como dominio público, es decir, puede ser utilizado sin restricciones y sin costo alguno para cualquier propósito. El apoyo financiero a los desarrolladores de SQLite es proporcionado por un consorcio creado específicamente.

Principales cambios:

  • Se ha corregido un error que provocaba la corrupción de la base de datos. El problema existía desde la versión 3.7.0 (2010) y afectaba a las bases de datos en modo WAL (Write-Ahead Logging), manifestándose debido a una condición de carrera al abrir simultáneamente dos o más conexiones a la base de datos que intentaban escribir o confirmar transacciones en una sola instancia de la misma. Se afirma que la coincidencia de circunstancias que provoca el fallo ocurre extremadamente rara vez y solo se pudo reproducir en un escenario de prueba creado específicamente.
  • Se permite eliminar las comprobaciones «NOT NULL» y «CHECK» en el comando «ALTER TABLE».
  • Se ha añadido el comando «REINDEX EXPRESSIONS» para reconstruir índices basados en expresiones que utilizan funciones sobre columnas o operaciones sobre columnas como elementos del índice. El comando puede ser utilizado para restaurar índices obsoletos.
  • Dentro de los triggers temporales creados con el comando «CREATE TEMP TRIGGER» que se aplican a tablas en otras bases de datos, se permite modificar tablas o realizar consultas a datos de dichas tablas.
  • En el comando «VACUUM INTO», al especificar un archivo de destino a través de una URL, se ha implementado el uso del parámetro «reserve=N» para determinar el número de copias de seguridad de la base de datos creadas.
  • Se han implementado nuevas funciones SQL json_array_insert() y jsonb_array_insert() para insertar elementos en arreglos JSON.
  • Se ha añadido y habilitado en la utilidad de línea de comandos la biblioteca QRF (Query Result Formatter) para formatear los resultados de la ejecución de consultas SQL en un formato legible.
  • Cambios en la utilidad de línea de comandos:
    • Se ha ampliado considerablemente el comando «.mode».
    • Se ha mejorado la generación de salida, por ejemplo, ahora se dibujan bordes de forma predeterminada y los valores numéricos se alinean a la derecha en la salida tabulada.
    • Se asegura que se ignoren los caracteres «;» después de los comandos.
    • El contenido de los archivos especificados en la línea de comandos con las extensiones *.sql y *.txt ahora se lee e interpreta como conjuntos de expresiones SQL y comandos punto.
    • Se ha añadido soporte para el valor «once» al comando «.timer» para aplicar el temporizador solo a la siguiente expresión SQL.
    • Se ha añadido la opción «—timeout S» al comando «.progress» para forzar la interrupción de la expresión SQL después de que se agote el tiempo.
    • Se ha modificado el comportamiento de los patrones en el comando «.indexes», que ahora se aplican a los nombres de índices y no a los nombres de las tablas indexadas.
  • Se han realizado optimizaciones en el planificador de consultas que aceleraron la fusión de tablas y las operaciones EXCEPT, INTERSECT y UNION.
  • Se ha mejorado el rendimiento de las funciones que convierten números de punto flotante en representación textual.
  • Se ha añadido VFS «opfs-wl» a la implementación compilable en código intermedio WebAssembly, idéntica a VFS «opfs», pero que utiliza la API Web Locks para manejar bloqueos.
  • Se ha añadido la opción «-p|—port» a la utilidad sqlite3_rsync.
  • Se ha dejado de dar soporte a la plataforma Windows RT.

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