Documentation
¶
Overview ¶
Package sqlite provides SQLite-specific implementation for conversation storage. It implements the ConversationStore interface using SQLite database with optimized WAL mode configuration, schema migrations, and efficient querying.
Index ¶
- Constants
- type JSONField
- type Migration
- type Store
- func (s *Store) Close() error
- func (s *Store) Delete(ctx context.Context, id string) error
- func (s *Store) Load(ctx context.Context, id string) (conversations.ConversationRecord, error)
- func (s *Store) Query(ctx context.Context, options conversations.QueryOptions) (conversations.QueryResult, error)
- func (s *Store) Save(ctx context.Context, record conversations.ConversationRecord) error
Constants ¶
View Source
const ( // SchemaVersion1 represents the initial database schema version SchemaVersion1 = 1 // SchemaVersion2 adds performance indexes SchemaVersion2 = 2 // SchemaVersion3 adds provider column to conversation_summaries table SchemaVersion3 = 3 // SchemaVersion4 adds background_processes column to conversations table SchemaVersion4 = 4 // CurrentSchemaVersion is the latest schema version CurrentSchemaVersion = SchemaVersion4 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type JSONField ¶
type JSONField[T any] struct { Data T }
JSONField is a generic type for handling JSON marshaling/unmarshaling in database
type Migration ¶
type Migration struct {
Version int
Description string
Up func(*sql.Tx) error
Down func(*sql.Tx) error // Optional rollback function
}
Migration represents a database migration
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store implements ConversationStore using SQLite database
func (*Store) Load ¶
func (s *Store) Load(ctx context.Context, id string) (conversations.ConversationRecord, error)
Load retrieves a conversation record by ID
func (*Store) Query ¶
func (s *Store) Query(ctx context.Context, options conversations.QueryOptions) (conversations.QueryResult, error)
Query performs advanced queries with filtering, sorting, and pagination
func (*Store) Save ¶
func (s *Store) Save(ctx context.Context, record conversations.ConversationRecord) error
Save persists a conversation record to the database using UPSERT to preserve created_at timestamps
Click to show internal directories.
Click to hide internal directories.