À propos du projet
Frigolite est une réimplémentation de zéro de l'engine de base de données SQLite en Go pur, conçue pour fournir des formats de fichiers compatibles SQLite sans nécessiter CGO, de dépendances externes ou de l'outil sqlite3 CLI. Il sert de solution de base de données SQL légère et autonome pour les applications Go.
Les fonctionnalités clés comprennent :
- **Implémentation Go pur** : Zéro dépendances externes et pas de CGO, assurant une intégration facile et la portabilité.
- **Compatibilité SQLite** : Lit et écrit des fichiers `.db` standard, prenant en charge un sous-ensemble utile de SQL y compris `CREATE`, `INSERT`, `SELECT` (avec des jointures, des sous-requêtes et des agrégations), `UPDATE` et `DELETE`.
- **Support étendu des fonctions** : Comprend plus de 60 fonctions SQL telles que la manipulation de chaînes, les opérations numériques, la logique conditionnelle et les utilitaires de compression.
- **Fonctionnalités avancées** : Prend en charge les tables virtuelles (par exemple, `generate_series`), plus de 25 PRAGMAs et EXPLAIN/EXPLAIN QUERY PLAN pour le débogage.
- **Interfaces flexibles** : Fournit à la fois une API Go native et un pilote `database/sql` standard, permettant aux développeurs d'utiliser des analyses typées, des espaces réservés et des déclarations préparées.
- **Shell de ligne de commande** : Comprend un shell CLI interactif pour la gestion directe de la base de données.
- **Tests robustes** : Soutenu par 842 tests, y compris des tests de compatibilité SQLite auto-convertis, assurant la fiabilité.
L'architecture de Frigolite est modulaire, avec des packages distincts pour le stockage, le pager, l'arbre B, le parsing SQL et l'exécution. Il adhère aux principes SOLID et aux idiomes Go, ce qui en fait une alternative maintenable et efficace pour les projets nécessitant la fonctionnalité SQLite sans les surcharges des liaisons C.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.