Repository navigation
0.1.1
0.1.1 est la première version publiée avec ses archives. Le tag v0.1.0 n'a produit aucune archive (échec de l'empaquetage, corrigé ici) : 0.1.1 contient tout 0.1.0, plus ce correctif.
Première version de Memless : un moteur SQL en mémoire piloté par un seul fichier YAML de données, sans schéma déclaré, utilisable à l'identique depuis PHP, Go et Node.js. Pour préparer des données de test et de démonstration — jamais pour la production.
Ce que cette version apporte
- Charger et refuser : Memless devine la structure du fichier (type de chaque valeur, clé
id, relations<nom>_id→ table<nom>s) et refuse tout fichier incohérent en nommant la règle, la table et la ligne. - Interroger en SQL :
SELECTavecWHERE, jointure par relation devinée,COUNT/SUM, etORDER BY(stable, lignes sans la colonne en dernier ; types mêlés refusés). Tout ce qui dépasse ce sous-ensemble est refusé explicitement. - Écrire :
INSERT,UPDATE,DELETE. Chaque changement validé réécrit le fichier d'un coup, dans le même ordre, pour quegit diffne montre que les valeurs changées. - Transactions :
BEGIN/COMMIT/ROLLBACK, tout ou rien, une seule réécriture par transaction. - Recharger :
reload()relit le fichier restauré (par exemple par Git) sans recréer d'instance ; refusé pendant une transaction, et un rechargement refusé laisse l'état précédent intact. - Trois langages, une seule voix : mêmes résultats, mêmes messages d'erreur et même fichier réécrit à l'octet près, vérifiés par le banc de parité sur macOS et Linux, arm64 et x86_64.
Installer
- Bibliothèque native : télécharger l'archive
memless-capi-0.1.1-<cible>.tar.gzde votre système (vérifier avecSHA256SUMS), puis pointerMEMLESS_LIBvers la bibliothèque. - PHP (≥ 8.1, extension
ffi) : archivememless-phpde cette release. Go :go get github.com/nascent-tech/memless/bindings/go@v0.1.1. Node.js : le paquet.tgzde cette release (npm install <fichier>.tgz).
À savoir
- Première version : pas de migration. Windows n'est pas pris en charge.
- Le fichier est réécrit à chaque changement validé : pointez Memless sur des fixtures suivies par Git. Ignorez dans Git le résidu
.<nom>.memless-tmpqu'un arrêt brutal peut laisser. - Licence MIT.