postgres/savepoint
Create a savepoint within a transaction for partial rollback
const app = mvfm(prelude, pg);
const prog = app({}, ($) => {
return $.sql.begin((sql) => {
const main = sql`UPDATE users SET name = 'Updated' WHERE id = 1`;
const sp = sql.savepoint((sp) => [
sp`INSERT INTO archive (name, email) VALUES ('test', 'test@test.com')`,
sp`SELECT * FROM archive`,
]);
const final_ = sql`SELECT * FROM users WHERE id = 1`;
return [main, sp, final_];
});
});
await fold(defaults(app, { postgres: wasmPgInterpreter }), prog); Initializing database...