SQLite agrega soporte para archivos zip

Estándar

Hay una nueva versión de SQLite con soporte para archivos Zip, un planificador de consultas mejorado y una tabla virtual sqlite_btreeinfo.

SQLite es una biblioteca que implementa un motor de base de datos SQL transaccional autónomo y que no necesita un servidor. Toda la base de datos SQL con múltiples tablas, índices, triggers y vistas está contenida en un solo archivo en el disco.

El cambio más interesante para la nueva versión es la capacidad de la tabla virtual de Zipfile para leer y escribir directamente en un archivo ZIP. El módulo de archivo zip proporciona dos interfaces similares para acceder a archivos zip. Hay una función de valor de tabla, que proporciona acceso de solo lectura a los archivos existentes y una interfaz de tabla virtual, que proporciona acceso de lectura y escritura. Se puede agregar archivos a un archivo zip existente insertando nuevas filas y editando o eliminando archivos existentes usando los comandos UPDATE y DELETE.

SQLite también ha agregado la capacidad de leer desde las bases de datos del modo WAL, incluso si la aplicación carece de permisos de escritura en la base de datos y en el directorio dónde se encuentra.

Otra mejora es la adición de Anexar VFS. Esta es una corrección de sistema de archivos virtual que permite agregar una base de datos SQLite a algún otro archivo. Las notas de la versión dicen que un uso típico para Anexar VFS sería agregar una base de datos a un ejecutable que luego abre y lee la base de datos.

El planificador de consultas es otra área que se ha mejorado, en primer lugar al ampliar la optimización que utiliza un índice para calcular rápidamente un min() o max() para que ahora funcione con índices en expresiones. La segunda forma en que se ha mejorado el planificador de consultas es evitando los planes de consulta que usan índices con funciones de clasificación desconocidas. Otra mejora significa que el planificador omite uniones a la izquierda sin usar, incluso si no son las combinaciones a la derecha de una consulta.

Finalmente, al decidir si implementar o no una subconsulta con una clausula FROM como una co-rutina o para usar el aplanamiento de consultas en su lugar; el planificador de consultas ahora considera si el conjunto de resultados de la consulta externa es “complejo”. El conjunto de resultados se considera complejo si contiene funciones o subconsultas de expresión y en ese caso la decisión sobre qué opción elegir estará sesgada hacia el uso de co-rutinas.

El shell de línea de comandos ha recibido una serie de mejoras, incluida la adición de soporte para leer y escribir archivos de SQL Archive con el comando .archive y varios nuevos comandos, incluida la función SQL edit() y un comando .excel para simplificar la exportación del contenido de la base de datos a una hoja de cálculo Microsoft Excel.

Fuente: i-programmer.info