I've looked at the guide to work with reactive SQL clients (https://quarkus.io/guides/reactive-sql-clients#using) but I can't seem to figure out how one would work with Transactions. Let's say I'd want to enhance this demo fruit app by using transactions.
How would I make the following method make use of a transaction that also reverts all made changes if something in the transaction failed?
public static Multi<Fruit> findAll(PgPool client) {
return client.query("SELECT id, name FROM fruits ORDER BY name ASC")
.onItem().produceMulti(set -> Multi.createFrom().items(() -> StreamSupport.stream(set.spliterator(), false)))
.onItem().apply(Fruit::from);
}