Feature Request: out of the box transaction orchestration between microservices

One of the pain points of microservices is coordinating transactional commits and rollbacks between the microservices.

There’s billions of dollars worth of enterprise Java code out there using JTA / XA for this, with EE application servers or Spring managing the distributed transactions, but these solutions have serious drawbacks.

It would be revolutionary if the database itself provided this transactional coordination instead.

Perhaps statements could pass in some kind of “transaction id” meta-data which could then be used by the database server to associate the statement with other sql statements which would need to be rolled back if something went awry and the developer would simply need to call rollback() via his driver to get the data back to the desired state.