Berkeley DB Java Edition
version 3.2.76

com.sleepycat.je
Class TransactionConfig

java.lang.Object
  extended by com.sleepycat.je.TransactionConfig
All Implemented Interfaces:
Cloneable

public class TransactionConfig
extends Object
implements Cloneable

Specifies the attributes of a database environment transaction.


Field Summary
static TransactionConfig DEFAULT
          Default configuration used if null is passed to methods that create a transaction.
 
Constructor Summary
TransactionConfig()
          An instance created using the default constructor is initialized with the system's default settings.
 
Method Summary
 boolean getDirtyRead()
          Deprecated. This has been replaced by getReadUncommitted() to conform to ANSI database isolation terminology.
 boolean getNoSync()
          Return if the transaction is configured to not write or synchronously flush the log it when commits.
 boolean getNoWait()
          Return if the transaction is configured to not wait if a lock request cannot be immediately granted.
 boolean getReadCommitted()
          Return if the transaction is configured for read committed isolation.
 boolean getReadUncommitted()
          Return if read operations performed by the transaction are configured to return modified but not yet committed data.
 boolean getSerializableIsolation()
          Return if the transaction has been explicitly configured to have serializable (degree 3) isolation.
 boolean getSync()
          Return if the transaction is configured to write and synchronously flush the log it when commits.
 boolean getWriteNoSync()
          Return if the transaction is configured to write but not synchronously flush the log it when commits.
 void setDirtyRead(boolean dirtyRead)
          Deprecated. This has been replaced by setReadUncommitted(boolean) to conform to ANSI database isolation terminology.
 void setNoSync(boolean txnNoSync)
          Configure the transaction to not write or synchronously flush the log it when commits.
 void setNoWait(boolean noWait)
          Configure the transaction to not wait if a lock request cannot be immediately granted.
 void setReadCommitted(boolean readCommitted)
          Configure the transaction for read committed isolation.
 void setReadUncommitted(boolean readUncommitted)
          Configure read operations performed by the transaction to return modified but not yet committed data.
 void setSerializableIsolation(boolean serializableIsolation)
          Configure this transaction to have serializable (degree 3) isolation.
 void setSync(boolean txnSync)
          Configure the transaction to write and synchronously flush the log it when commits.
 void setWriteNoSync(boolean txnWriteNoSync)
          Configure the transaction to write but not synchronously flush the log it when commits.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT

public static final TransactionConfig DEFAULT
Default configuration used if null is passed to methods that create a transaction.

Constructor Detail

TransactionConfig

public TransactionConfig()
An instance created using the default constructor is initialized with the system's default settings.

Method Detail

setReadUncommitted

public void setReadUncommitted(boolean readUncommitted)
Configure read operations performed by the transaction to return modified but not yet committed data.

Parameters:
readUncommitted - If true, configure read operations performed by the transaction to return modified but not yet committed data.

getReadUncommitted

public boolean getReadUncommitted()
Return if read operations performed by the transaction are configured to return modified but not yet committed data.

Returns:
If read operations performed by the transaction are configured to return modified but not yet committed data.

setDirtyRead

public void setDirtyRead(boolean dirtyRead)
Deprecated. This has been replaced by setReadUncommitted(boolean) to conform to ANSI database isolation terminology.

Configure read operations performed by the transaction to return modified but not yet committed data.

Parameters:
dirtyRead - If true, configure read operations performed by the transaction to return modified but not yet committed data.


getDirtyRead

public boolean getDirtyRead()
Deprecated. This has been replaced by getReadUncommitted() to conform to ANSI database isolation terminology.

Return if read operations performed by the transaction are configured to return modified but not yet committed data.

Returns:
If read operations performed by the transaction are configured to return modified but not yet committed data.


setReadCommitted

public void setReadCommitted(boolean readCommitted)
Configure the transaction for read committed isolation.

This ensures the stability of the current data item read by the cursor but permits data read by this transaction to be modified or deleted prior to the commit of the transaction.

Parameters:
readCommitted - If true, configure the transaction for read committed isolation.

getReadCommitted

public boolean getReadCommitted()
Return if the transaction is configured for read committed isolation.

Returns:
If the transaction is configured for read committed isolation.

setSerializableIsolation

public void setSerializableIsolation(boolean serializableIsolation)
Configure this transaction to have serializable (degree 3) isolation. By setting serializable isolation, phantoms will be prevented.

By default a transaction provides Repeatable Read isolation; EnvironmentConfig.setTxnSerializableIsolation(boolean) may be called to override the default. If the environment is configured for serializable isolation, all transactions will be serializable regardless of whether this method is called; calling setSerializableIsolation(boolean) with a false parameter will not disable serializable isolation.

The default is false for this class and the database environment.


getSerializableIsolation

public boolean getSerializableIsolation()
Return if the transaction has been explicitly configured to have serializable (degree 3) isolation.

Returns:
If the transaction has been configured to have serializable isolation.

setSync

public void setSync(boolean txnSync)
Configure the transaction to write and synchronously flush the log it when commits.

This behavior may be set for a database environment using the Environment.setMutableConfig method. Any value specified to this method overrides that setting.

The default is false for this class and true for the database environment.

If true is passed to both setSync and setNoSync, setSync will take precedence.

Parameters:
txnSync - If true, transactions exhibit all the ACID (atomicity, consistency, isolation, and durability) properties.

getSync

public boolean getSync()
Return if the transaction is configured to write and synchronously flush the log it when commits.

Returns:
If the transaction is configured to write and synchronously flush the log it when commits.

setWriteNoSync

public void setWriteNoSync(boolean txnWriteNoSync)
Configure the transaction to write but not synchronously flush the log it when commits.

This behavior may be set for a database environment using the Environment.setMutableConfig method. Any value specified to this method overrides that setting.

The default is false for this class and the database environment.

Parameters:
txnWriteNoSync - If true, transactions exhibit the ACI (atomicity, consistency, and isolation) properties, but not D (durability); that is, database integrity will be maintained, but if the operating system fails, it is possible some number of the most recently committed transactions may be undone during recovery. The number of transactions at risk is governed by how often the operating system flushes dirty buffers to disk, and how often the log is checkpointed.

getWriteNoSync

public boolean getWriteNoSync()
Return if the transaction is configured to write but not synchronously flush the log it when commits.

Returns:
If the transaction is configured to not write or synchronously flush the log it when commits.

setNoSync

public void setNoSync(boolean txnNoSync)
Configure the transaction to not write or synchronously flush the log it when commits.

This behavior may be set for a database environment using the Environment.setMutableConfig method. Any value specified to this method overrides that setting.

The default is false for this class and the database environment.

Parameters:
txnNoSync - If true, transactions exhibit the ACI (atomicity, consistency, and isolation) properties, but not D (durability); that is, database integrity will be maintained, but if the application or system fails, it is possible some number of the most recently committed transactions may be undone during recovery. The number of transactions at risk is governed by how many log updates can fit into the log buffer, how often the operating system flushes dirty buffers to disk, and how often the log is checkpointed.

getNoSync

public boolean getNoSync()
Return if the transaction is configured to not write or synchronously flush the log it when commits.

Returns:
If the transaction is configured to not write or synchronously flush the log it when commits.

setNoWait

public void setNoWait(boolean noWait)
Configure the transaction to not wait if a lock request cannot be immediately granted.

The default is false for this class and the database environment.

Parameters:
noWait - If true, transactions will not wait if a lock request cannot be immediately granted, instead DeadlockException will be thrown.

getNoWait

public boolean getNoWait()
Return if the transaction is configured to not wait if a lock request cannot be immediately granted.

Returns:
If the transaction is configured to not wait if a lock request cannot be immediately granted.

Berkeley DB Java Edition
version 3.2.76

Copyright 1996,2008 Oracle. All rights reserved.