Behaviour of nested transactions

Hi,

I have a question about nested transactions in Lucee. I did not expect the inner transaction to be able to commit data that the outer transaction could not rollback. We rather have the outer transaction rollback all changes.
I haven’t been able to find documentation about this so I looked in the code for this tag: Lucee/Transaction.java at 5.3.9.141 · lucee/Lucee · GitHub

From what I understand, not explicitly committing a transaction works differently with inner transactions. I think that the inner transactions never commit after the transaction tag ends, and outer most transaction does. I hesitate because I haven’t been able find why manager.isAutoCommit() determines wether you are in a nested transaction.

Is this correct? If we never explicitly call action="commit", will then the outermost transation tag control all the changes? Or are we going to run into other issues?

Don’t forget to tell us about your stack!

OS : Windows Server 2019
Java Version : 11.0.15+10
Tomcat Version : Apache Tomcat/9.0.62
Lucee Version : 5.3.9.141
Microsoft JDBC Extension Version : 9.4.1

Related ticket in JIRA: [LDEV-4395] - Lucee