Documentation
¶
Index ¶
- type OpType
- type Persister
- func (p *Persister) Close() error
- func (p *Persister) LogCreateEdge(edgeType, fromKey, toKey string, props map[string]any) error
- func (p *Persister) LogCreateNode(label, key string, props map[string]any) error
- func (p *Persister) LogDeleteNode(key string) error
- func (p *Persister) LogSetProperty(key, propName string, propVal any) error
- func (p *Persister) Recover(s *schema.Schema) (*graph.Graph, error)
- func (p *Persister) TakeSnapshot(g *graph.Graph) error
- func (p *Persister) WAL() *WAL
- type WAL
- type WALEntry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Persister ¶
type Persister struct {
// contains filtered or unexported fields
}
Persister manages WAL and snapshots via Pebble.
func (*Persister) LogCreateEdge ¶
LogCreateEdge appends a CreateEdge operation to the WAL.
func (*Persister) LogCreateNode ¶
LogCreateNode appends a CreateNode operation to the WAL.
func (*Persister) LogDeleteNode ¶
LogDeleteNode appends a DeleteNode operation to the WAL.
func (*Persister) LogSetProperty ¶
LogSetProperty appends a SetProperty operation to the WAL.
func (*Persister) Recover ¶
Recover loads the latest snapshot and replays WAL entries to rebuild the graph.
func (*Persister) TakeSnapshot ¶
TakeSnapshot writes the current graph state to Pebble.
type WAL ¶
type WAL struct {
// contains filtered or unexported fields
}
WAL is a write-ahead log backed by Pebble.
func (*WAL) CurrentSeq ¶
CurrentSeq returns the current sequence number.
func (*WAL) DeleteBefore ¶
DeleteBefore removes all WAL entries with sequence <= beforeSeq.
type WALEntry ¶
type WALEntry struct {
Seq uint64 `json:"seq"`
Op OpType `json:"op"`
Label string `json:"label,omitempty"`
Key string `json:"key,omitempty"`
EdgeType string `json:"edge_type,omitempty"`
FromKey string `json:"from_key,omitempty"`
ToKey string `json:"to_key,omitempty"`
PropName string `json:"prop_name,omitempty"`
PropVal any `json:"prop_val,omitempty"`
Props map[string]any `json:"props,omitempty"`
}
WALEntry represents a single mutation in the write-ahead log.