diff --git a/src/pipeline.ts b/src/pipeline.ts index a1222767..e90e4e4f 100644 --- a/src/pipeline.ts +++ b/src/pipeline.ts @@ -136,7 +136,12 @@ async function storeEvent(event: DittoEvent, signal?: AbortSignal): Promise { - await updateStats({ event, store, kysely }).catch((e) => console.error(e)); + await sql`SAVEPOINT update_stats_savepoint`.execute(kysely); + + await updateStats({ event, store, kysely }).catch(async (e) => { + await sql`ROLLBACK TO SAVEPOINT update_stats_savepoint`.execute(kysely); + console.error(e); + }); await store.event(event, { signal }); }); }