MCPcopy
hub / github.com/docker/docker-agent / UpdateMemory

Method UpdateMemory

pkg/memory/database/sqlite/sqlite.go:255–280  ·  view source on GitHub ↗
(ctx context.Context, memory database.UserMemory)

Source from the content-addressed store, hash-verified

253}
254
255func (m *MemoryDatabase) UpdateMemory(ctx context.Context, memory database.UserMemory) error {
256 ctx, span := startMemorySpan(ctx, "update")
257 defer span.End()
258
259 if memory.ID == "" {
260 return database.ErrEmptyID
261 }
262
263 return m.withWriteLock(ctx, func(db *sql.DB) error {
264 result, err := db.ExecContext(ctx, "UPDATE memories SET memory = ?, category = ? WHERE id = ?",
265 memory.Memory, memory.Category, memory.ID)
266 if err != nil {
267 return err
268 }
269
270 rows, err := result.RowsAffected()
271 if err != nil {
272 return err
273 }
274 if rows == 0 {
275 return fmt.Errorf("%w: %s", database.ErrMemoryNotFound, memory.ID)
276 }
277
278 return nil
279 })
280}

Calls 4

withWriteLockMethod · 0.95
startMemorySpanFunction · 0.85
ExecContextMethod · 0.80
EndMethod · 0.45