Issues
- transaction savepoint with no preceding queryExecute silently does nothing until failing at rollbackLDEV-4395
- Using not existing ORM entity within transaction throws incorrect errorLDEV-4211Resolved issue: LDEV-4211Pothys - MitrahSoft
- isWithinTransactions doesn't detect native Hibernate transactionsLDEV-4185Michael Offner
- add function isWithinTransactionLDEV-4146Resolved issue: LDEV-4146
- Exclusive Connections per Request option does not work with Oracle driverLDEV-4056Michael Offner
- Hibernate 5.4 extension closes the ORM session when any ORM transaction endsLDEV-4017Resolved issue: LDEV-4017Michael Offner
- Using ORM in transaction and query in outside of transaction fails in Hibernate-3.5.5.80-SNAPSHOTLDEV-3861Michael Offner
- Error occurred in the transaction block with ORM throws the different exceptionLDEV-3860Resolved issue: LDEV-3860Michael Offner
- Using multi-transaction with ORM and queryExecute throws error in Hibernate -3.5.5.80-SNAPSHOTLDEV-3859Michael Offner
- Savepoints are not supported on ORM transactionsLDEV-3657
- Transaction gets committed after getting interrupted by a request timeoutLDEV-3558Resolved issue: LDEV-3558Pothys - MitrahSoft
- Start and End Tag has not the same Name [cfcase-cftransaction]LDEV-3302
- setAutoCommit is called unnecessaryLDEV-2815Resolved issue: LDEV-2815
- Exclusive connections for request on one datasource breaks cftransaction globallyLDEV-2730Michael Offner
- remove unnecessary setAutocommitLDEV-2711Resolved issue: LDEV-2711Michael Offner
- autocommit=true always setLDEV-2655Resolved issue: LDEV-2655
- BUG Exclusive connections for request. Persistent MSSQL Isolation Level.LDEV-2604Resolved issue: LDEV-2604Michael Offner
- The cftransaction savepoint attribute is not implementedLDEV-1323Resolved issue: LDEV-1323Zac Spitzer
- Oracle - Read_committed and Serializable are the only valid transaction levelsLDEV-860Michael Offner
19 of 19
transaction savepoint with no preceding queryExecute silently does nothing until failing at rollback
Description
Environment
None
Details
Assignee
UnassignedUnassignedReporter
David RogersDavid RogersPriority
NewLabels
New Issue warning screen
Before you create a new Issue, please post to the mailing list first https://dev.lucee.org
Once the issue has been verified, one of the Lucee team will ask you to file an issue
Affects versions
Details
Details
Assignee
Unassigned
UnassignedReporter
David Rogers
David RogersPriority
Labels
New Issue warning screen
Before you create a new Issue, please post to the mailing list first https://dev.lucee.org
Once the issue has been verified, one of the Lucee team will ask you to file an issue
Affects versions
Created 15 February 2023 at 20:52
Updated 16 February 2023 at 10:10
Activity
Show:
Pothys - MitrahSoft16 February 2023 at 10:10
Related mailing list:
Zac Spitzer16 February 2023 at 00:22Edited
I added a test case for both behaviours
It is useful to to have a transaction that starts off with a savepoint, e.g. in a transaction which is expected to be called nested within another, and for which failure should not rollback the outer transaction.
The above throws
"There are no savepoint with name [foo] set"
. But, the following runs without any apparent issue:It seems the queryExecute call initializes
DataSourceManagerImpl#transConnsReg
into a non-empty state and this has the side effect of not early-returning-without-doing-work from thesavepoint(String savePointName)
call, which registers save points. It would be nice if this “priming the pump” weren’t necessary, but if this isn’t a bug, users might appreciate a more actionable message, to the effect of"There are no savepoints with name [foo] set. See bug report <this-bug-report-url>; consider using the `queryExecute("select 1")` workaround.