Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.circleci
app
src
test
.dir-locals.el
.gitignore
LICENSE
README.md
Setup.hs
haskell-sqlite.cabal
stack.yaml

README.md

haskell-sqlite

Plan

  1. Interpréteur de commandes
  2. Analyseur syntaxique SQL
  3. Transformation SQL -> Algèbre relationnelle simple
  4. Interprétation SELECT ... FROM ... en mémoire
  5. Écriture sur disque
  6. Les curseurs
  7. Structures de B-Arbres
  8. Interprétation des opérateurs relationnels sur les B-arbres
  9. Optimisation du plan de requête
  10. Serveur REST

Pipeline

parseSQL :: Text -> SQL

Analyse syntaxique d'un texte pour produire une expression SQL

 toRelational :: SQL -> Relational

Transforme une expression SQL vers algèbre relationnelle

evaluateDB :: Relational -> DB -> Either Error (Relation, DB)

Interprète une expression relationnelle dans le contexte d'une BDD (caché derrière Database qui est une monade)

Logs

stream :: Relational -> DB -> [ DBOps ]

Sessions