Skip to content

0.1.1

Choose a tag to compare

@github-actions github-actions released this 26 Sep 11:35
· 33 commits to main since this release
v0.1.1
24f214f

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 : SELECT avec WHERE, jointure par relation devinée, COUNT/SUM, et ORDER 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 que git diff ne 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.gz de votre système (vérifier avec SHA256SUMS), puis pointer MEMLESS_LIB vers la bibliothèque.
  • PHP (≥ 8.1, extension ffi) : archive memless-php de cette release. Go : go get github.com/nascent-tech/memless/bindings/go@v0.1.1. Node.js : le paquet .tgz de 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-tmp qu'un arrêt brutal peut laisser.
  • Licence MIT.