Réimplémentation de SQLite en Rust
Le but de cette série d’articles est de reproduire les comportements observés lors de l’utilisation de sqlite3.
L’implémentation est réalisée en Rust sans utilisation de bibliothèques externes autre que la bibliothèque standard.
Cela implique de traiter tous les sujets que nécessite une base de données:
- parse des commandes
- stockages des tables, des index et des schémas
- encodage et décodage des données
- query planning
- transaction et rollbacks
Filtrer par tag
20 posts au total
Partie 20: Réindexation et compaction de tables
Partie 19: Suppression d'enregistrements
Partie 18: Exécution du plan logique
Partie 17: Logical Plan
Partie 16: Directive EXPLAIN
Partie 15: Index secondaires
Partie 14 : Attributs nullifiables
Partie 13 : UTF-8 et échappement de caractères
Partie 12 : Scans et filtrage
Partie 11 : Expressions Logiques SQL
Partie 10 : Clefs primaires
Partie 9 : Découper le stockage des tables en pages
Partie 8 : Contraindre les données via un schéma
Partie 7 : Tuples de données
Partie 6 : Parser les commandes SQL
Partie 5 : Parser les commandes, création de la boîte à outils
Partie 4 : Tables
Partie 3 : Database
Partie 2 : Sérialisation des données
Partie 1 : Construire le REPL
Code de copiehttps://staging.lafor.ge/search_index.fr.json$MATCHES matchs de plus