827 B
827 B
DAL Skeleton (pgvector)
Interfaces
IDatabase— connect/tx + memory ops (ensureNamespace, upsertItem/Chunks/Embeddings, searchText/searchVector).PgDal— stub implementation for now (no libpq linked).
SQL Calls (target)
- ensureNamespace:
INSERT ... ON CONFLICT (name) DO UPDATE RETURNING id - upsertItem:
INSERT ... ON CONFLICT (id) DO UPDATE SET ... RETURNING id - upsertChunks: batch insert w/
RETURNING id - upsertEmbeddings: batch insert; ensure
model, dimset, vector column populated. - searchText: FTS/trigram query filtered by namespace/thread/tags.
- searchVector:
ORDER BY embeddings.vector <-> $1 LIMIT k(with filters).
Next
- Wire
Handlers::upsert_memory/search_memorytoIDatabase. - Add libpq (or pqxx) and parameterized statements.
- Add RLS/session GUCs & retries.