if (this.getTransactionIsolation() == Connection.TRANSACTION_NONE)
throw new SQLException("Cannot start a transaction when transaction isolation is set to NONE");
if (ds.supportsTransactions()) {
if (ds.isInTransaction()) {
// Additional participant in existing transaction
ReadWrite currType = this.transactionType.get();
if (currType.equals(type)) {
this.transactionParticipants.set(this.transactionParticipants.get() + 1);
} else {
throw new SQLException(
"Unable to start a transaction of a different type on the same thread as an existing transaction, please retry your operation on a different thread");
}