Documentation
¶
Overview ¶
Package store provides SQLite-backed persistence.
Index ¶
- Constants
- func EmbeddedMigrationVersions() ([]string, error)
- type DeleteMode
- type DiffRecord
- type FileSummary
- type Node
- type PendingRelation
- type RankedNode
- type RelatedNode
- type Relation
- type RestoreResult
- type RowScanner
- type SkippedRestore
- type Snapshot
- type Stats
- type Store
- func (s *Store) AdvanceCursorTx(ctx context.Context, tx *sql.Tx, snapshotID int64) error
- func (s *Store) AppliedMigrationVersions(ctx context.Context) ([]string, error)
- func (s *Store) BackupTo(ctx context.Context, dst string) error
- func (s *Store) BoostTemperature(ctx context.Context, id string, boost float64) error
- func (s *Store) BoostTemperatureBatch(ctx context.Context, ids []string, boost float64) error
- func (s *Store) CheckFTSIntegrity(ctx context.Context) error
- func (s *Store) Close() error
- func (s *Store) CountDanglingDiffs(ctx context.Context) (int, error)
- func (s *Store) CountNodes(ctx context.Context) (int, error)
- func (s *Store) CountOrphanParents(ctx context.Context) (int, error)
- func (s *Store) CountSnapshots(ctx context.Context) (int, error)
- func (s *Store) CreateSnapshotTx(ctx context.Context, tx *sql.Tx, cursorHash, message, compileRoot string) (int64, error)
- func (s *Store) CreateSnapshotWithParentTx(ctx context.Context, tx *sql.Tx, cursorHash, message, compileRoot string, ...) (int64, error)
- func (s *Store) DecayTemperatures(ctx context.Context, factor float64) (int64, error)
- func (s *Store) DeleteDanglingDiffs(ctx context.Context) error
- func (s *Store) DeleteNode(ctx context.Context, id string, mode DeleteMode) ([]string, error)
- func (s *Store) DeleteNodeTx(ctx context.Context, tx *sql.Tx, id string) error
- func (s *Store) DeleteNodesByFiles(ctx context.Context, paths []string) error
- func (s *Store) DeleteParsedPendingForSource(ctx context.Context, sourceID string) error
- func (s *Store) DeleteParsedPendingForSourceTx(ctx context.Context, tx *sql.Tx, sourceID string) error
- func (s *Store) DeletePendingByID(ctx context.Context, id int64) error
- func (s *Store) DeletePendingByIDTx(ctx context.Context, tx *sql.Tx, id int64) error
- func (s *Store) DistinctCompileRoots(ctx context.Context) ([]string, error)
- func (s *Store) FindHeadingByLabel(ctx context.Context, label string) (string, error)
- func (s *Store) FindHeadingByLabelInFile(ctx context.Context, sourceFile, label string) (string, error)
- func (s *Store) GetAllNodes(ctx context.Context) ([]*Node, error)
- func (s *Store) GetAllPendingRelations(ctx context.Context) ([]*PendingRelation, error)
- func (s *Store) GetAncestors(ctx context.Context, id string) ([]*Node, error)
- func (s *Store) GetChildren(ctx context.Context, parentID string) ([]*Node, error)
- func (s *Store) GetColdNodes(ctx context.Context, threshold float64, limit int) ([]*Node, error)
- func (s *Store) GetDescendants(ctx context.Context, id string, maxDepth int) ([]*Node, error)
- func (s *Store) GetDiffsBetween(ctx context.Context, fromSnapshotID, toSnapshotID int64) ([]*DiffRecord, error)
- func (s *Store) GetDiffsBySnapshot(ctx context.Context, snapshotID int64) ([]*DiffRecord, error)
- func (s *Store) GetDiffsForNode(ctx context.Context, nodeID string) ([]*DiffRecord, error)
- func (s *Store) GetDiffsSince(ctx context.Context, sinceSnapshotID int64) ([]*DiffRecord, error)
- func (s *Store) GetHeadCursorHash(ctx context.Context) (string, error)
- func (s *Store) GetHeadSnapshotID(ctx context.Context) (int64, error)
- func (s *Store) GetLatestCompileRoot(ctx context.Context) (string, error)
- func (s *Store) GetNode(ctx context.Context, id string) (*Node, error)
- func (s *Store) GetNodeCountsByType(ctx context.Context) (map[string]int, error)
- func (s *Store) GetNodeTx(ctx context.Context, tx *sql.Tx, id string) (*Node, error)
- func (s *Store) GetNodesByCompileRoot(ctx context.Context, root string) ([]*Node, error)
- func (s *Store) GetNodesByFile(ctx context.Context, path string) ([]*Node, error)
- func (s *Store) GetNodesByFiles(ctx context.Context, paths []string) ([]*Node, error)
- func (s *Store) GetNodesByIDs(ctx context.Context, ids []string) ([]*Node, error)
- func (s *Store) GetPendingBySource(ctx context.Context, sourceID string) ([]*PendingRelation, error)
- func (s *Store) GetRelatedNodes(ctx context.Context, anchorID, direction string, maxDepth int, ...) ([]*RelatedNode, error)
- func (s *Store) GetRelationCountsByOrigin(ctx context.Context) (map[string]int, error)
- func (s *Store) GetRootNodes(ctx context.Context) ([]*Node, error)
- func (s *Store) GetSiblings(ctx context.Context, id string) ([]*Node, error)
- func (s *Store) GetSnapshot(ctx context.Context, id int) (*Snapshot, error)
- func (s *Store) GetStats(ctx context.Context) (*Stats, error)
- func (s *Store) HeadCursorRef(ctx context.Context) (snapshotID int64, exists bool, err error)
- func (s *Store) IncrementAccess(ctx context.Context, id string) error
- func (s *Store) InsertDiffTx(ctx context.Context, tx *sql.Tx, d *DiffRecord) error
- func (s *Store) InsertPendingRelation(ctx context.Context, p *PendingRelation) error
- func (s *Store) InsertPendingRelationTx(ctx context.Context, tx *sql.Tx, p *PendingRelation) error
- func (s *Store) ListFileSummaries(ctx context.Context) ([]FileSummary, error)
- func (s *Store) ListSnapshots(ctx context.Context, limit int) ([]*Snapshot, error)
- func (s *Store) MaxSnapshotID(ctx context.Context) (id int64, hasAny bool, err error)
- func (s *Store) Migrate(ctx context.Context) error
- func (s *Store) PromoteOrphansToRoots(ctx context.Context) error
- func (s *Store) PruneSnapshotsAfterTx(ctx context.Context, tx *sql.Tx, targetID, excludeID int64) (int, error)
- func (s *Store) RebuildFTS(ctx context.Context) error
- func (s *Store) RepointHeadCursor(ctx context.Context) error
- func (s *Store) ResetTemperaturesByFiles(ctx context.Context, paths []string, temp float64) error
- func (s *Store) RestoreToSnapshot(ctx context.Context, targetID int64) (*RestoreResult, error)
- func (s *Store) Search(ctx context.Context, query string, limit int) ([]*Node, error)
- func (s *Store) SearchRanked(ctx context.Context, query string, limit int) ([]*RankedNode, error)
- func (s *Store) SetPinned(ctx context.Context, id string, pinned bool, temp *float64) error
- func (s *Store) SnapshotExists(ctx context.Context, id int64) (bool, error)
- func (s *Store) Tx(ctx context.Context, fn func(tx *sql.Tx) error) error
- func (s *Store) UpdateTemperature(ctx context.Context, id string, temp float64) error
- func (s *Store) UpsertNode(ctx context.Context, n *Node) error
- func (s *Store) UpsertNodeTx(ctx context.Context, tx *sql.Tx, n *Node) error
- func (s *Store) UpsertRelation(ctx context.Context, r *Relation) error
- func (s *Store) UpsertRelationTx(ctx context.Context, tx *sql.Tx, r *Relation) error
Constants ¶
const ( OriginParsed = "parsed" OriginManual = "manual" DirectionOut = "out" DirectionIn = "in" DirectionBoth = "both" )
Variables ¶
This section is empty.
Functions ¶
func EmbeddedMigrationVersions ¶ added in v0.3.2
Types ¶
type DeleteMode ¶ added in v0.3.1
type DeleteMode int
const ( DeleteStrict DeleteMode = iota DeleteCascade DeleteReparent )
func ParseDeleteMode ¶ added in v0.3.1
func ParseDeleteMode(s string) (DeleteMode, error)
func (DeleteMode) String ¶ added in v0.3.1
func (m DeleteMode) String() string
type DiffRecord ¶
type DiffRecord struct {
SnapshotID int64
NodeID string
Op string
OldHash string
NewHash string
OldContent string
NewContent string
OldParentID sql.NullString
OldSourceFile sql.NullString
OldNodeType sql.NullString
OldDepth sql.NullInt64
OldLabel sql.NullString
OldFormat sql.NullString
OldTokenCount sql.NullInt64
}
func (*DiffRecord) HasOldMetadata ¶ added in v0.3.1
func (d *DiffRecord) HasOldMetadata() bool
True iff the diff carries pre-state metadata.
func (*DiffRecord) SetOldMetadata ¶ added in v0.3.1
func (d *DiffRecord) SetOldMetadata(n *Node)
Populate the diff's old_* metadata fields from a node's pre-state.
type FileSummary ¶ added in v0.1.6
type Node ¶
type PendingRelation ¶ added in v0.3.0
type RankedNode ¶
type RelatedNode ¶ added in v0.3.0
type RestoreResult ¶ added in v0.3.1
type RestoreResult struct {
Nodes map[string]*Node
Skipped []SkippedRestore
}
type RowScanner ¶
type SkippedRestore ¶ added in v0.3.1
type Store ¶
func (*Store) AdvanceCursorTx ¶
func (*Store) AppliedMigrationVersions ¶ added in v0.3.2
func (*Store) BoostTemperature ¶
func (*Store) BoostTemperatureBatch ¶
func (*Store) CheckFTSIntegrity ¶ added in v0.3.2
func (*Store) CountDanglingDiffs ¶ added in v0.3.2
func (*Store) CountNodes ¶ added in v0.3.2
func (*Store) CountOrphanParents ¶ added in v0.3.2
func (*Store) CountSnapshots ¶ added in v0.3.2
func (*Store) CreateSnapshotTx ¶
func (*Store) CreateSnapshotWithParentTx ¶ added in v0.3.1
func (s *Store) CreateSnapshotWithParentTx(ctx context.Context, tx *sql.Tx, cursorHash, message, compileRoot string, parentID int64) (int64, error)
Insert a snapshot with an explicit parent_id (parentID == 0 records NULL).
func (*Store) DecayTemperatures ¶
func (*Store) DeleteDanglingDiffs ¶ added in v0.3.2
func (*Store) DeleteNode ¶
Remove a node according to the mode; returns the IDs affected.
func (*Store) DeleteNodeTx ¶
func (*Store) DeleteNodesByFiles ¶
func (*Store) DeleteParsedPendingForSource ¶ added in v0.3.0
func (*Store) DeleteParsedPendingForSourceTx ¶ added in v0.3.0
func (*Store) DeletePendingByID ¶ added in v0.3.0
func (*Store) DeletePendingByIDTx ¶ added in v0.3.0
func (*Store) DistinctCompileRoots ¶ added in v0.3.2
func (*Store) FindHeadingByLabel ¶ added in v0.3.0
Look up a heading node ID by case-insensitive trimmed label match across all files.
func (*Store) FindHeadingByLabelInFile ¶ added in v0.3.0
func (s *Store) FindHeadingByLabelInFile(ctx context.Context, sourceFile, label string) (string, error)
Look up a heading node ID by label scoped to a source file.
func (*Store) GetAllPendingRelations ¶ added in v0.3.0
func (s *Store) GetAllPendingRelations(ctx context.Context) ([]*PendingRelation, error)
func (*Store) GetAncestors ¶
func (*Store) GetChildren ¶
func (*Store) GetColdNodes ¶
func (*Store) GetDescendants ¶
func (*Store) GetDiffsBetween ¶ added in v0.3.1
func (*Store) GetDiffsBySnapshot ¶
func (*Store) GetDiffsForNode ¶
func (*Store) GetDiffsSince ¶
func (*Store) GetHeadCursorHash ¶
func (*Store) GetHeadSnapshotID ¶ added in v0.3.1
Return the snapshot id at HEAD, or 0 if no snapshot has been recorded yet.
func (*Store) GetLatestCompileRoot ¶
Return the compile root of the most recent snapshot created via a directory compile.
func (*Store) GetNodeCountsByType ¶ added in v0.3.0
Return node counts grouped by node_type (e.g. heading, list, kv, table).
func (*Store) GetNodesByCompileRoot ¶ added in v0.1.7
func (*Store) GetNodesByFile ¶
func (*Store) GetNodesByFiles ¶
func (*Store) GetNodesByIDs ¶ added in v0.3.0
func (*Store) GetPendingBySource ¶ added in v0.3.0
func (*Store) GetRelatedNodes ¶ added in v0.3.0
func (s *Store) GetRelatedNodes(ctx context.Context, anchorID, direction string, maxDepth int, weightMin float64, limit int) ([]*RelatedNode, error)
Return nodes reachable from anchor via relations edges, up to maxDepth hops, filtered by weightMin.
func (*Store) GetRelationCountsByOrigin ¶ added in v0.3.0
Return relation counts grouped by origin (parsed, manual).
func (*Store) GetSiblings ¶
func (*Store) GetSnapshot ¶
func (*Store) HeadCursorRef ¶ added in v0.3.2
func (*Store) IncrementAccess ¶
func (*Store) InsertDiffTx ¶
func (*Store) InsertPendingRelation ¶ added in v0.3.0
func (s *Store) InsertPendingRelation(ctx context.Context, p *PendingRelation) error
func (*Store) InsertPendingRelationTx ¶ added in v0.3.0
func (*Store) ListFileSummaries ¶ added in v0.1.6
func (s *Store) ListFileSummaries(ctx context.Context) ([]FileSummary, error)
func (*Store) ListSnapshots ¶
func (*Store) MaxSnapshotID ¶ added in v0.3.2
func (*Store) PromoteOrphansToRoots ¶ added in v0.3.2
func (*Store) PruneSnapshotsAfterTx ¶ added in v0.3.1
func (s *Store) PruneSnapshotsAfterTx(ctx context.Context, tx *sql.Tx, targetID, excludeID int64) (int, error)
Hard-delete snapshots (and their diffs) with id > targetID, except excludeID.
func (*Store) RepointHeadCursor ¶ added in v0.3.2
func (*Store) ResetTemperaturesByFiles ¶ added in v0.1.8
func (*Store) RestoreToSnapshot ¶ added in v0.3.1
Compute the node set at targetID by reverse-walking diffs from HEAD. Pure read.