In general, I really like the idea. I’m kinda thinking that it should be configurable as there might be cases where the transaction conflict is what you want.
I think I’m seeing that there’s a bit of a broader picture here, so maybe we need to scope out the whole area and then pull off pieces. For example:
- There was also a request to run a block of mutations as a single transaction and roll back if any failed here - currently we run each in a transaction
- If we aren’t exposing Dgraph or GraphQL± at all in Slash GraphQL, then you really do need transactions sometimes, so we’d need to expose that through GraphQL.
Let’s
- find out what might and might not be exposed in Slash GraphQL
- broaden this to cover transactions a bit more in general.