Called when the datastore is being created for the first time.
Called when the datastore is being created for the first time. This does not mean the tables are being created but just the datastore.
Creates a transaction for the contents of the supplied function.
Creates a transaction for the contents of the supplied function. If an exception is thrown the contents will be rolled back to the savepoint created before the function was invoked. If no exception occurs the transaction will be committed (but only if it is not a nested transaction). Layering of transactions is supported and will defer commit until the last transaction is ended.
the return value from the function
the function to execute within the transaction
T