Lanzamiento de la base de datos SQLite 3.46

Se ha publicado el lanzamiento de SQLite 3.46, un sistema de gestión de bases de datos ligero, diseñado como una biblioteca que se puede integrar. El código de SQLite se distribuye como dominio público, es decir, puede utilizarse sin restricciones y de forma gratuita para cualquier propósito. El apoyo financiero a los desarrolladores de SQLite es proporcionado por un consorcio creado especialmente.

Principales cambios:

  • Se ha añadido la posibilidad de utilizar el separador «_» en los números para una representación más clara de los literales numéricos (por ejemplo, 1_234_567).
  • Se ha agregado la función SQL json_pretty() para generar una salida más legible en formato JSON, formateada con sangrías que destacan bloques.
  • Se amplían las capacidades de la operación «PRAGMA optimize», que optimiza la base de datos y todos los esquemas de datos para lograr el mejor rendimiento de las consultas. Se ha implementado un límite de duración de análisis de la base de datos, excluyendo los tiempos de procesamiento excesivamente largos en bases de datos grandes. Se ha añadido una nueva máscara de bits «PRAGMA optimize(0x10000)» para la verificación específica de actualizaciones en todas las tablas. Se asegura el reanálisis automático de las tablas que no tienen registros sqlite_stat1.
  • Se ha añadido soporte para los placeholders %G, %g, %U y %V en la función SQL strftime().
  • Se han agregado nuevos modificadores ceiling y floor en las funciones SQL que trabajan con fechas y tiempos para gestionar el tratamiento de fechas ambiguas, que surgen en operaciones que desplazan fechas por un cierto número de meses o años. Se garantiza la ignorancia de los modificadores utc y localtime si SQLite sabe que el tiempo ya está en la representación UTC o localtime.
  • Se han realizado optimizaciones en el planificador de consultas. Para expresiones INSERT que contienen miles de valores en la sección VALUES, se ha habilitado por defecto la optimización «VALUES-as-coroutine», que permite aproximadamente duplicar la velocidad de análisis de tales expresiones y reducir a la mitad el consumo de memoria. Para consultas del tipo «SELECT count(DISTINCT col) FROM …», se ha permitido el uso de índices, incluso si el tamaño de los registros en el índice no es menor que el de los registros en la tabla. Se ha mejorado la lógica para determinar las situaciones en las que se especifican constantes en los argumentos de las funciones SQL. Se garantiza la aplicación de la optimización push-down para expresiones WHERE que contienen subconsultas no relacionadas.
  • Se ha modificado la lógica de procesamiento del desbordamiento de pila: al detectar insuficiencia de memoria para la pila, el analizador ahora intenta asignar memoria adicional de la pila, en lugar de generar el error 'desbordamiento de pila del analizador'.
  • En JSON se permite la inclusión de caracteres de control en literales de cadena JSON5. Se ha cambiado la lógica de los operadores '->' y '->>' cuando el operando de cadena a la derecha contiene solo dígitos (de forma análoga a PostgreSQL, estos operandos ahora se procesan como cadenas).
  • Se permite especificar literales hexadecimales grandes en el valor DEFAULT en las columnas de las tablas.

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