withSavepointAndRollbackIfThrowsOrLeft

suspend fun <RollbackT, ReleaseT> DatabaseClient<PgConnection>.withSavepointAndRollbackIfThrowsOrLeft(savepointName: String, function: suspend (DatabaseClient<PgConnection>) -> Either<RollbackT, ReleaseT>): Either<RollbackT, ReleaseT>(source)

Currently only available for PostgreSQL. A savepoint destroys one with the same name so be careful.