but how then rollback it? can we get some errors because user code can also use transactions?