Skip to main content

Module db

Module db 

Source

Structs§

CommandRecord
Commande lue depuis la base.
NewCommand
Données nécessaires pour insérer une nouvelle commande.
ProjectSummary
Résumé agrégé de l’activité d’un projet (regroupement par git_root).
QueryFilter
Filtre de requête avancé (mnemo search, mnemo stats --since).
SearchFilter
Filtre optionnel appliqué à la recherche (contexte Git).
SessionSummary
Résumé d’une session de travail, agrégé depuis les commandes partageant un même session_id.

Functions§

all_commands
Charge toutes les commandes correspondant au filtre Git (sans limite), pour le calcul des statistiques. Un filtre vide renvoie l’intégralité de la base.
apply_redactions
Applique des redactions de texte de commande en une seule transaction.
compute_hash
Hash FNV-1a 64 bits, déterministe, utilisé pour le dédoublonnage.
count
Nombre total de commandes stockées.
count_older_than
Compte les commandes plus anciennes que cutoff (format YYYY-MM-DD HH:MM:SS), en respectant le filtre de contexte Git.
delete_command
Supprime une commande par identifiant, dans une transaction. Renvoie le nombre de lignes effectivement supprimées (0 si l’ID n’existait pas).
delete_older_than
Supprime les commandes plus anciennes que cutoff (en respectant le filtre Git), dans une transaction. Renvoie le nombre de lignes supprimées.
fetch_all
Charge les commandes les plus récentes (limite paramétrable).
fetch_filtered
Charge les commandes les plus récentes en appliquant un filtre de contexte Git optionnel (projet / branche). Le filtrage fuzzy sur le texte de la commande reste à la charge de l’appelant.
fetch_older_than
Charge un échantillon de commandes plus anciennes que cutoff (les plus récentes d’abord), pour prévisualiser un prune.
fetch_query
Charge les commandes correspondant à un QueryFilter avancé, des plus récentes aux plus anciennes. limit borne le nombre de lignes (None = toutes), utile pour mnemo stats qui agrège l’intégralité.
format_timestamp
Convertit un timestamp Unix (secondes UTC) en YYYY-MM-DD HH:MM:SS.
get_command
Récupère une commande par son identifiant, ou None si absente.
insert_command
Insère une commande. Retourne true si elle a été insérée, false si c’était un doublon (même hash déjà présent).
is_valid_date
Valide une date au format AAAA-MM-JJ (sans heure).
latest_session_id
Identifiant de la session la plus récemment active, le cas échéant.
match_project_roots
Liste les racines Git connues correspondant à needle : correspondance exacte sur git_root, ou suffixe %/needle (nom court du projet). Sert à résoudre l’argument de mnemo project show|report.
now_timestamp
Horodatage courant au format YYYY-MM-DD HH:MM:SS (UTC).
open
Ouvre (ou crée) la base SQLite sur disque et initialise le schéma.
open_and_migrate
Ouvre la base et renvoie aussi le résultat des migrations appliquées. Utilisé par mnemo migrate pour rendre compte de la transition de schéma.
open_readonly
Ouvre une base existante en lecture seule, SANS créer ni modifier le schéma. Utilisé par mnemo doctor pour ne jamais altérer le système.
project_records
Charge les commandes d’un projet (racine Git exacte), de la plus récente à la plus ancienne, en respectant un éventuel intervalle temporel et un filtre d’échecs. limit borne le nombre de résultats (None = tous).
project_summaries
Liste les projets connus de l’historique, du plus récemment actif au plus ancien. Seuls les git_root non nuls sont remontés. limit borne le nombre de projets (None = tous).
project_summary
Résumé d’un projet identifié par sa racine Git exacte, ou None si la racine est absente de l’historique.
resolve_before
Résout une borne supérieure --before : date AAAA-MM-JJ (exclue) ou durée. Renvoie None si la spec est invalide (pas de panique).
resolve_since
Résout une borne inférieure --since : durée (24h, 7d, 2w, 3m, 1y) ou date AAAA-MM-JJ. Renvoie None si la spec est invalide (jamais de panique) : l’appelant peut alors ignorer le filtre proprement.
session_commands
Charge les commandes d’une session, dans l’ordre chronologique croissant. limit borne le nombre de commandes (None = toutes).
session_summaries
Liste les sessions connues, de la plus récente activité à la plus ancienne.
table_exists
Indique si une table donnée existe dans la base.