Instance Method
addUpdateObserver(lifetime:_:)
Register an observer for the SQLite update hook (row-level DML).
func addUpdateObserver(lifetime: SQLiteObserverLifetime, _ callback: @escaping SQLiteConnection.SQLiteUpdateHookCallback) async throws -> SQLiteHookToken
Parameters
lifetimeThe observer lifetime behavior. See
SQLiteObserverLifetimefor details. Usescopedfor automatic cleanup on token deallocation, orpinnedfor explicit cleanup only.callbackClosure to invoke when update events occur.
Return Value
A SQLiteHookToken that removes the observer when canceled.
Discussion
Fired whenever a row is inserted, updated, or deleted. Multiple observers can be registered on the same connection.
let token = connection.addUpdateObserver(lifetime: .pinned) { [weak self] event in
self?.logger.info("\(event.table) row \(event.rowID) was \(event.operation)")
}
// Clean up the observer when no longer needed:
token.cancel()
Important
Registration is safe from any thread. Callbacks are invoked on SQLite’s internal thread; hop to your own actor or event loop as needed.