Looking at the implementation, it looks like it should be the callers choice whether to use a transaction.