Sobre el proyecto

Frigolite es una reimplementación desde cero del motor de base de datos SQLite en Go puro, diseñada para proporcionar formatos de archivo compatibles con SQLite sin requerir CGO, dependencias externas ni el CLI sqlite3. Sirve como una solución de base de datos SQL ligera y autocontenida para aplicaciones Go. Las características clave incluyen: - **Implementación pura en Go**: Cero dependencias externas y no CGO, lo que garantiza una fácil integración y portabilidad. - **Compatibilidad con SQLite**: Lee y escribe archivos `.db` estándar, admitiendo un subconjunto útil de SQL que incluye `CREATE`, `INSERT`, `SELECT` (con uniones, subconsultas y agregaciones), `UPDATE` y `DELETE`. - **Soporte extenso de funciones**: Incluye más de 60 funciones SQL como manipulación de cadenas, operaciones numéricas, lógica condicional y utilidades de compresión. - **Características avanzadas**: Admite tablas virtuales (por ejemplo, `generate_series`), más de 25 PRAGMAs y EXPLAIN/EXPLAIN QUERY PLAN para depuración. - **Interfaces flexibles**: Proporciona tanto una API nativa de Go como un controlador estándar `database/sql`, lo que permite a los desarrolladores utilizar análisis tipados, marcadores de posición y sentencias preparadas. - **Shell de línea de comandos**: Incluye un shell interactivo de línea de comandos para la gestión directa de la base de datos. - **Pruebas sólidas**: Respaldado por 842 pruebas, incluidas pruebas de compatibilidad con SQLite convertidas automáticamente, lo que garantiza la confiabilidad. La arquitectura de Frigolite es modular, con paquetes distintos para almacenamiento, paginador, árbol B, análisis y ejecución de SQL. Se adhiere a los principios SOLID y a los modismos de Go, lo que lo convierte en una alternativa eficiente y mantenible para proyectos que necesitan funcionalidad SQLite sin la sobrecarga de enlaces C.