Merge branch 'issue/1263-transaction-api'

This commit is contained in:
Rob Bygrave
2018-02-19 22:47:42 +13:00
10 changed files with 180 additions and 126 deletions
+18 -18
View File
@@ -57,7 +57,7 @@ public interface Transaction extends AutoCloseable {
/**
* Register a TransactionCallback with this transaction.
*/
void register(TransactionCallback callback);
Transaction register(TransactionCallback callback);
/**
* Set a label on the transaction.
@@ -65,7 +65,7 @@ public interface Transaction extends AutoCloseable {
* This label is used to group transaction execution times for performance metrics reporting.
* </p>
*/
void setLabel(String label);
Transaction setLabel(String label);
/**
* Return true if this transaction is read only.
@@ -75,7 +75,7 @@ public interface Transaction extends AutoCloseable {
/**
* Set whether this transaction should be readOnly.
*/
void setReadOnly(boolean readOnly);
Transaction setReadOnly(boolean readOnly);
/**
* Commits the transaction at this point with the expectation that another
@@ -139,7 +139,7 @@ public interface Transaction extends AutoCloseable {
/**
* Mark the transaction for rollback only.
*/
void setRollbackOnly();
Transaction setRollbackOnly();
/**
* Return true if the transaction is marked as rollback only.
@@ -172,7 +172,7 @@ public interface Transaction extends AutoCloseable {
* to control how that is sent to the document store.
* </p>
*/
void setDocStoreMode(DocStoreMode mode);
Transaction setDocStoreMode(DocStoreMode mode);
/**
* Set the batch size to use for sending messages to the document store.
@@ -184,7 +184,7 @@ public interface Transaction extends AutoCloseable {
* Setting this overrides the default of {@link DocStoreConfig#getBulkBatchSize()}
* </p>
*/
void setDocStoreBatchSize(int batchSize);
Transaction setDocStoreBatchSize(int batchSize);
/**
* Explicitly turn off or on the cascading nature of save() and delete(). This
@@ -199,7 +199,7 @@ public interface Transaction extends AutoCloseable {
* that do not support getGeneratedKeys.
* </p>
*/
void setPersistCascade(boolean persistCascade);
Transaction setPersistCascade(boolean persistCascade);
/**
* Set to true when you want all loaded properties to be included in the update
@@ -210,7 +210,7 @@ public interface Transaction extends AutoCloseable {
* and hence better JDBC batch performance.
* </p>
*/
void setUpdateAllLoadedProperties(boolean updateAllLoadedProperties);
Transaction setUpdateAllLoadedProperties(boolean updateAllLoadedProperties);
/**
* Set if the L2 cache should be skipped for "find by id" and "find by natural key" queries.
@@ -269,7 +269,7 @@ public interface Transaction extends AutoCloseable {
*
* @see ServerConfig#isSkipCacheAfterWrite()
*/
void setSkipCache(boolean skipCache);
Transaction setSkipCache(boolean skipCache);
/**
* Return true if the L2 cache should be skipped. More accurately if true then find by id
@@ -344,7 +344,7 @@ public interface Transaction extends AutoCloseable {
*
* }</pre>
*/
void setBatchMode(boolean useBatch);
Transaction setBatchMode(boolean useBatch);
/**
* The JDBC batch mode to use for this transaction.
@@ -356,7 +356,7 @@ public interface Transaction extends AutoCloseable {
* @param persistBatchMode the batch mode to use for this transaction
* @see io.ebean.config.ServerConfig#setPersistBatch(PersistBatch)
*/
void setBatch(PersistBatch persistBatchMode);
Transaction setBatch(PersistBatch persistBatchMode);
/**
* Return the batch mode at the transaction level.
@@ -377,7 +377,7 @@ public interface Transaction extends AutoCloseable {
* @param batchOnCascadeMode the batch mode to use per save(), insert(), update() or delete()
* @see io.ebean.config.ServerConfig#setPersistBatchOnCascade(PersistBatch)
*/
void setBatchOnCascade(PersistBatch batchOnCascadeMode);
Transaction setBatchOnCascade(PersistBatch batchOnCascadeMode);
/**
* Return the batch mode at the request level (for each save(), insert(), update() or delete()).
@@ -387,7 +387,7 @@ public interface Transaction extends AutoCloseable {
/**
* Specify the number of statements before a batch is flushed automatically.
*/
void setBatchSize(int batchSize);
Transaction setBatchSize(int batchSize);
/**
* Return the current batch size.
@@ -405,7 +405,7 @@ public interface Transaction extends AutoCloseable {
* number of objects and you don't care about getting back the ids.
* </p>
*/
void setBatchGetGeneratedKeys(boolean getGeneratedKeys);
Transaction setBatchGetGeneratedKeys(boolean getGeneratedKeys);
/**
* By default when mixing UpdateSql (or CallableSql) with Beans the batch is
@@ -422,7 +422,7 @@ public interface Transaction extends AutoCloseable {
* have a 2 step process (delayed binding).
* </p>
*/
void setBatchFlushOnMixed(boolean batchFlushOnMixed);
Transaction setBatchFlushOnMixed(boolean batchFlushOnMixed);
/**
* By default executing a query will automatically flush any batched
@@ -432,7 +432,7 @@ public interface Transaction extends AutoCloseable {
* execute a query and the batch will not be automatically flushed.
* </p>
*/
void setBatchFlushOnQuery(boolean batchFlushOnQuery);
Transaction setBatchFlushOnQuery(boolean batchFlushOnQuery);
/**
* Return true if the batch (of persisted beans or executed UpdateSql etc)
@@ -498,14 +498,14 @@ public interface Transaction extends AutoCloseable {
* caches in synch and maintain text indexes.
* </p>
*/
void addModification(String tableName, boolean inserts, boolean updates, boolean deletes);
Transaction addModification(String tableName, boolean inserts, boolean updates, boolean deletes);
/**
* Add an arbitrary user object to the transaction. The objects added have no
* impact on any internals of ebean and are solely meant as a convenient
* method push user information (although somewhat replaced by TransactionCallback).
*/
void putUserObject(String name, Object value);
Transaction putUserObject(String name, Object value);
/**
* Get an object added with {@link #putUserObject(String, Object)}.
@@ -1,5 +1,6 @@
package io.ebeaninternal.api;
import io.ebean.Transaction;
import io.ebeaninternal.server.transaction.TransactionScopeManager;
import io.ebeaninternal.server.util.ArrayStack;
@@ -93,8 +94,9 @@ public class ScopedTransaction extends SpiTransactionProxy {
}
@Override
public void setRollbackOnly() {
public Transaction setRollbackOnly() {
current.setRollbackOnly();
return this;
}
/**
@@ -1,6 +1,7 @@
package io.ebeaninternal.api;
import io.ebean.ProfileLocation;
import io.ebean.Transaction;
import io.ebean.TransactionCallback;
import io.ebean.annotation.DocStoreMode;
import io.ebean.annotation.PersistBatch;
@@ -31,8 +32,9 @@ abstract class SpiTransactionProxy implements SpiTransaction {
}
@Override
public void setLabel(String label) {
public Transaction setLabel(String label) {
transaction.setLabel(label);
return this;
}
@Override
@@ -101,8 +103,9 @@ abstract class SpiTransactionProxy implements SpiTransaction {
}
@Override
public void setDocStoreMode(DocStoreMode mode) {
public Transaction setDocStoreMode(DocStoreMode mode) {
transaction.setDocStoreMode(mode);
return this;
}
@Override
@@ -111,8 +114,9 @@ abstract class SpiTransactionProxy implements SpiTransaction {
}
@Override
public void setDocStoreBatchSize(int batchSize) {
public Transaction setDocStoreBatchSize(int batchSize) {
transaction.setDocStoreBatchSize(batchSize);
return this;
}
@Override
@@ -141,8 +145,9 @@ abstract class SpiTransactionProxy implements SpiTransaction {
}
@Override
public void setSkipCache(boolean skipCache) {
public Transaction setSkipCache(boolean skipCache) {
transaction.setSkipCache(skipCache);
return this;
}
@Override
@@ -196,8 +201,9 @@ abstract class SpiTransactionProxy implements SpiTransaction {
}
@Override
public void register(TransactionCallback callback) {
public Transaction register(TransactionCallback callback) {
transaction.register(callback);
return this;
}
@Override
@@ -206,8 +212,9 @@ abstract class SpiTransactionProxy implements SpiTransaction {
}
@Override
public void setReadOnly(boolean readOnly) {
public Transaction setReadOnly(boolean readOnly) {
transaction.setReadOnly(readOnly);
return this;
}
@Override
@@ -216,13 +223,15 @@ abstract class SpiTransactionProxy implements SpiTransaction {
}
@Override
public void setPersistCascade(boolean persistCascade) {
public Transaction setPersistCascade(boolean persistCascade) {
transaction.setPersistCascade(persistCascade);
return this;
}
@Override
public void setUpdateAllLoadedProperties(boolean updateAllLoaded) {
public Transaction setUpdateAllLoadedProperties(boolean updateAllLoaded) {
transaction.setUpdateAllLoadedProperties(updateAllLoaded);
return this;
}
@Override
@@ -231,13 +240,15 @@ abstract class SpiTransactionProxy implements SpiTransaction {
}
@Override
public void setBatchMode(boolean useBatch) {
public Transaction setBatchMode(boolean useBatch) {
transaction.setBatchMode(useBatch);
return this;
}
@Override
public void setBatch(PersistBatch persistBatchMode) {
public Transaction setBatch(PersistBatch persistBatchMode) {
transaction.setBatch(persistBatchMode);
return this;
}
@Override
@@ -246,8 +257,9 @@ abstract class SpiTransactionProxy implements SpiTransaction {
}
@Override
public void setBatchOnCascade(PersistBatch batchOnCascadeMode) {
public Transaction setBatchOnCascade(PersistBatch batchOnCascadeMode) {
transaction.setBatchOnCascade(batchOnCascadeMode);
return this;
}
@Override
@@ -256,8 +268,9 @@ abstract class SpiTransactionProxy implements SpiTransaction {
}
@Override
public void setBatchSize(int batchSize) {
public Transaction setBatchSize(int batchSize) {
transaction.setBatchSize(batchSize);
return this;
}
@Override
@@ -266,8 +279,9 @@ abstract class SpiTransactionProxy implements SpiTransaction {
}
@Override
public void setBatchGetGeneratedKeys(boolean getGeneratedKeys) {
public Transaction setBatchGetGeneratedKeys(boolean getGeneratedKeys) {
transaction.setBatchGetGeneratedKeys(getGeneratedKeys);
return this;
}
@Override
@@ -276,13 +290,15 @@ abstract class SpiTransactionProxy implements SpiTransaction {
}
@Override
public void setBatchFlushOnMixed(boolean batchFlushOnMixed) {
public Transaction setBatchFlushOnMixed(boolean batchFlushOnMixed) {
transaction.setBatchFlushOnMixed(batchFlushOnMixed);
return this;
}
@Override
public void setBatchFlushOnQuery(boolean batchFlushOnQuery) {
public Transaction setBatchFlushOnQuery(boolean batchFlushOnQuery) {
transaction.setBatchFlushOnQuery(batchFlushOnQuery);
return this;
}
@Override
@@ -306,13 +322,15 @@ abstract class SpiTransactionProxy implements SpiTransaction {
}
@Override
public void addModification(String tableName, boolean inserts, boolean updates, boolean deletes) {
public Transaction addModification(String tableName, boolean inserts, boolean updates, boolean deletes) {
transaction.addModification(tableName, inserts, updates, deletes);
return this;
}
@Override
public void putUserObject(String name, Object value) {
public Transaction putUserObject(String name, Object value) {
transaction.putUserObject(name, value);
return this;
}
@Override
@@ -1,5 +1,7 @@
package io.ebeaninternal.server.transaction;
import io.ebean.Transaction;
import java.sql.Connection;
import java.sql.SQLException;
@@ -21,8 +23,9 @@ public class DocStoreOnlyTransaction extends JdbcTransaction {
}
@Override
public void setReadOnly(boolean readOnly) {
public Transaction setReadOnly(boolean readOnly) {
// do nothing
return this;
}
@Override
@@ -1,6 +1,7 @@
package io.ebeaninternal.server.transaction;
import io.ebean.ProfileLocation;
import io.ebean.Transaction;
import io.ebean.TransactionCallback;
import io.ebean.annotation.DocStoreMode;
import io.ebean.annotation.PersistBatch;
@@ -85,8 +86,9 @@ class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEventCode
}
@Override
public void setLabel(String label) {
public Transaction setLabel(String label) {
// do nothing
return this;
}
@Override
@@ -130,7 +132,8 @@ class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEventCode
}
@Override
public void setSkipCache(boolean skipCache) {
public Transaction setSkipCache(boolean skipCache) {
return this;
}
@Override
@@ -149,7 +152,7 @@ class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEventCode
}
@Override
public void register(TransactionCallback callback) {
public Transaction register(TransactionCallback callback) {
throw new IllegalStateException(notExpectedMessage);
}
@@ -159,7 +162,7 @@ class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEventCode
}
@Override
public void setDocStoreBatchSize(int docStoreBatchSize) {
public Transaction setDocStoreBatchSize(int docStoreBatchSize) {
throw new IllegalStateException(notExpectedMessage);
}
@@ -169,7 +172,7 @@ class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEventCode
}
@Override
public void setDocStoreMode(DocStoreMode docStoreMode) {
public Transaction setDocStoreMode(DocStoreMode docStoreMode) {
throw new IllegalStateException(notExpectedMessage);
}
@@ -244,19 +247,21 @@ class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEventCode
}
@Override
public void setReadOnly(boolean readOnly) {
public Transaction setReadOnly(boolean readOnly) {
if (!isActive()) {
throw new IllegalStateException(illegalStateMessage);
}
try {
connection.setReadOnly(readOnly);
return this;
} catch (SQLException e) {
throw new PersistenceException(e);
}
}
@Override
public void setUpdateAllLoadedProperties(boolean updateAllLoadedProperties) {
public Transaction setUpdateAllLoadedProperties(boolean updateAllLoadedProperties) {
return this;
}
@Override
@@ -265,13 +270,13 @@ class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEventCode
}
@Override
public void setBatchMode(boolean batchMode) {
public Transaction setBatchMode(boolean batchMode) {
return this;
}
@Override
public void setBatch(PersistBatch batchMode) {
public Transaction setBatch(PersistBatch batchMode) {
return this;
}
@Override
@@ -280,7 +285,8 @@ class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEventCode
}
@Override
public void setBatchOnCascade(PersistBatch batchOnCascadeMode) {
public Transaction setBatchOnCascade(PersistBatch batchOnCascadeMode) {
return this;
}
@Override
@@ -294,11 +300,13 @@ class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEventCode
}
@Override
public void setBatchGetGeneratedKeys(boolean getGeneratedKeys) {
public Transaction setBatchGetGeneratedKeys(boolean getGeneratedKeys) {
return this;
}
@Override
public void setBatchFlushOnMixed(boolean batchFlushOnMixed) {
public Transaction setBatchFlushOnMixed(boolean batchFlushOnMixed) {
return this;
}
/**
@@ -313,7 +321,8 @@ class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEventCode
}
@Override
public void setBatchSize(int batchSize) {
public Transaction setBatchSize(int batchSize) {
return this;
}
@Override
@@ -322,7 +331,8 @@ class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEventCode
}
@Override
public void setBatchFlushOnQuery(boolean batchFlushOnQuery) {
public Transaction setBatchFlushOnQuery(boolean batchFlushOnQuery) {
return this;
}
/**
@@ -536,7 +546,7 @@ class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEventCode
* Mark the transaction as rollback only.
*/
@Override
public void setRollbackOnly() {
public Transaction setRollbackOnly() {
// expect AutoCommit so we can't really support rollbackOnly
throw new IllegalStateException(notExpectedMessage);
}
@@ -586,11 +596,12 @@ class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEventCode
}
@Override
public void setPersistCascade(boolean persistCascade) {
public Transaction setPersistCascade(boolean persistCascade) {
return this;
}
@Override
public void addModification(String tableName, boolean inserts, boolean updates, boolean deletes) {
public Transaction addModification(String tableName, boolean inserts, boolean updates, boolean deletes) {
throw new IllegalStateException(notExpectedMessage);
}
@@ -600,11 +611,12 @@ class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEventCode
}
@Override
public void putUserObject(String name, Object value) {
public Transaction putUserObject(String name, Object value) {
if (userObjects == null) {
userObjects = new HashMap<>();
}
userObjects.put(name, value);
return this;
}
@Override
@@ -1,6 +1,7 @@
package io.ebeaninternal.server.transaction;
import io.ebean.ProfileLocation;
import io.ebean.Transaction;
import io.ebean.TransactionCallback;
import io.ebean.annotation.DocStoreMode;
import io.ebean.annotation.PersistBatch;
@@ -217,8 +218,9 @@ public class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes {
}
@Override
public void setLabel(String label) {
public Transaction setLabel(String label) {
this.label = label;
return this;
}
@Override
@@ -288,8 +290,9 @@ public class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes {
}
@Override
public void setSkipCache(boolean skipCache) {
public Transaction setSkipCache(boolean skipCache) {
this.skipCache = skipCache;
return this;
}
@Override
@@ -318,11 +321,12 @@ public class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes {
}
@Override
public void register(TransactionCallback callback) {
public Transaction register(TransactionCallback callback) {
if (callbackList == null) {
callbackList = new ArrayList<>(4);
}
callbackList.add(callback);
return this;
}
protected void firePreRollback() {
@@ -385,8 +389,9 @@ public class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes {
}
@Override
public void setDocStoreBatchSize(int docStoreBatchSize) {
public Transaction setDocStoreBatchSize(int docStoreBatchSize) {
this.docStoreBatchSize = docStoreBatchSize;
return this;
}
@Override
@@ -395,8 +400,9 @@ public class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes {
}
@Override
public void setDocStoreMode(DocStoreMode docStoreMode) {
public Transaction setDocStoreMode(DocStoreMode docStoreMode) {
this.docStoreMode = docStoreMode;
return this;
}
@Override
@@ -529,21 +535,23 @@ public class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes {
}
@Override
public void setReadOnly(boolean readOnly) {
public Transaction setReadOnly(boolean readOnly) {
if (!isActive()) {
throw new IllegalStateException(illegalStateMessage);
}
try {
localReadOnly = readOnly;
connection.setReadOnly(readOnly);
return this;
} catch (SQLException e) {
throw new PersistenceException(e);
}
}
@Override
public void setUpdateAllLoadedProperties(boolean updateAllLoadedProperties) {
public Transaction setUpdateAllLoadedProperties(boolean updateAllLoadedProperties) {
this.updateAllLoadedProperties = updateAllLoadedProperties;
return this;
}
@Override
@@ -552,19 +560,21 @@ public class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes {
}
@Override
public void setBatchMode(boolean batchMode) {
public Transaction setBatchMode(boolean batchMode) {
if (!isActive()) {
throw new IllegalStateException(illegalStateMessage);
}
this.batchMode = (batchMode) ? PersistBatch.ALL : PersistBatch.NONE;
return this;
}
@Override
public void setBatch(PersistBatch batchMode) {
public Transaction setBatch(PersistBatch batchMode) {
if (!isActive()) {
throw new IllegalStateException(illegalStateMessage);
}
this.batchMode = batchMode;
return this;
}
@Override
@@ -573,11 +583,12 @@ public class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes {
}
@Override
public void setBatchOnCascade(PersistBatch batchOnCascadeMode) {
public Transaction setBatchOnCascade(PersistBatch batchOnCascadeMode) {
if (!isActive()) {
throw new IllegalStateException(illegalStateMessage);
}
this.batchOnCascadeMode = batchOnCascadeMode;
return this;
}
@Override
@@ -591,19 +602,21 @@ public class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes {
}
@Override
public void setBatchGetGeneratedKeys(boolean getGeneratedKeys) {
public Transaction setBatchGetGeneratedKeys(boolean getGeneratedKeys) {
this.batchGetGeneratedKeys = getGeneratedKeys;
if (batchControl != null) {
batchControl.setGetGeneratedKeys(getGeneratedKeys);
}
return this;
}
@Override
public void setBatchFlushOnMixed(boolean batchFlushOnMixed) {
public Transaction setBatchFlushOnMixed(boolean batchFlushOnMixed) {
this.batchFlushOnMixed = batchFlushOnMixed;
if (batchControl != null) {
batchControl.setBatchFlushOnMixed(batchFlushOnMixed);
}
return this;
}
/**
@@ -618,11 +631,12 @@ public class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes {
}
@Override
public void setBatchSize(int batchSize) {
public Transaction setBatchSize(int batchSize) {
this.batchSize = batchSize;
if (batchControl != null) {
batchControl.setBatchSize(batchSize);
}
return this;
}
@Override
@@ -631,8 +645,9 @@ public class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes {
}
@Override
public void setBatchFlushOnQuery(boolean batchFlushOnQuery) {
public Transaction setBatchFlushOnQuery(boolean batchFlushOnQuery) {
this.batchFlushOnQuery = batchFlushOnQuery;
return this;
}
/**
@@ -1113,8 +1128,9 @@ public class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes {
* Mark the transaction as rollback only.
*/
@Override
public void setRollbackOnly() {
public Transaction setRollbackOnly() {
this.rollbackOnly = true;
return this;
}
/**
@@ -1182,13 +1198,15 @@ public class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes {
}
@Override
public void setPersistCascade(boolean persistCascade) {
public Transaction setPersistCascade(boolean persistCascade) {
this.persistCascade = persistCascade;
return this;
}
@Override
public void addModification(String tableName, boolean inserts, boolean updates, boolean deletes) {
public Transaction addModification(String tableName, boolean inserts, boolean updates, boolean deletes) {
getEvent().add(tableName, inserts, updates, deletes);
return this;
}
@Override
@@ -1201,11 +1219,12 @@ public class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes {
}
@Override
public void putUserObject(String name, Object value) {
public Transaction putUserObject(String name, Object value) {
if (userObjects == null) {
userObjects = new HashMap<>();
}
userObjects.put(name, value);
return this;
}
@Override
@@ -1,6 +1,7 @@
package io.ebeaninternal.server.transaction;
import io.ebean.ProfileLocation;
import io.ebean.Transaction;
import io.ebean.TransactionCallback;
import io.ebean.annotation.DocStoreMode;
import io.ebean.annotation.PersistBatch;
@@ -28,8 +29,8 @@ class NoTransaction implements SpiTransaction {
static final NoTransaction INSTANCE = new NoTransaction();
@Override
public void setLabel(String label) {
// do nothing
public Transaction setLabel(String label) {
return this;
}
@Override
@@ -150,8 +151,8 @@ class NoTransaction implements SpiTransaction {
}
@Override
public void register(TransactionCallback callback) {
public Transaction register(TransactionCallback callback) {
return this;
}
@Override
@@ -160,13 +161,13 @@ class NoTransaction implements SpiTransaction {
}
@Override
public void setReadOnly(boolean readOnly) {
public Transaction setReadOnly(boolean readOnly) {
return this;
}
@Override
public void setRollbackOnly() {
public Transaction setRollbackOnly() {
return this;
}
@Override
@@ -176,28 +177,28 @@ class NoTransaction implements SpiTransaction {
@Override
public void setDocStoreMode(DocStoreMode mode) {
public Transaction setDocStoreMode(DocStoreMode mode) {
return this;
}
@Override
public void setDocStoreBatchSize(int batchSize) {
public Transaction setDocStoreBatchSize(int batchSize) {
return this;
}
@Override
public void setPersistCascade(boolean persistCascade) {
public Transaction setPersistCascade(boolean persistCascade) {
return this;
}
@Override
public void setUpdateAllLoadedProperties(boolean updateAllLoadedProperties) {
public Transaction setUpdateAllLoadedProperties(boolean updateAllLoadedProperties) {
return this;
}
@Override
public void setSkipCache(boolean skipCache) {
public Transaction setSkipCache(boolean skipCache) {
return this;
}
@Override
@@ -206,13 +207,13 @@ class NoTransaction implements SpiTransaction {
}
@Override
public void setBatchMode(boolean useBatch) {
public Transaction setBatchMode(boolean useBatch) {
return this;
}
@Override
public void setBatch(PersistBatch persistBatchMode) {
public Transaction setBatch(PersistBatch persistBatchMode) {
return this;
}
@Override
@@ -221,8 +222,8 @@ class NoTransaction implements SpiTransaction {
}
@Override
public void setBatchOnCascade(PersistBatch batchOnCascadeMode) {
public Transaction setBatchOnCascade(PersistBatch batchOnCascadeMode) {
return this;
}
@Override
@@ -231,8 +232,8 @@ class NoTransaction implements SpiTransaction {
}
@Override
public void setBatchSize(int batchSize) {
public Transaction setBatchSize(int batchSize) {
return this;
}
@Override
@@ -241,18 +242,18 @@ class NoTransaction implements SpiTransaction {
}
@Override
public void setBatchGetGeneratedKeys(boolean getGeneratedKeys) {
public Transaction setBatchGetGeneratedKeys(boolean getGeneratedKeys) {
return this;
}
@Override
public void setBatchFlushOnMixed(boolean batchFlushOnMixed) {
public Transaction setBatchFlushOnMixed(boolean batchFlushOnMixed) {
return this;
}
@Override
public void setBatchFlushOnQuery(boolean batchFlushOnQuery) {
public Transaction setBatchFlushOnQuery(boolean batchFlushOnQuery) {
return this;
}
@Override
@@ -276,13 +277,13 @@ class NoTransaction implements SpiTransaction {
}
@Override
public void addModification(String tableName, boolean inserts, boolean updates, boolean deletes) {
public Transaction addModification(String tableName, boolean inserts, boolean updates, boolean deletes) {
return this;
}
@Override
public void putUserObject(String name, Object value) {
public Transaction putUserObject(String name, Object value) {
return this;
}
@Override