borland Packages  Class Hierarchy  datastore Package 

TxException class

java.lang.Object
   +----java.lang.Throwable
           +----java.lang.Exception
                   +----com.borland.dx.dataset.DataSetException
                           +----com.borland.datastore.TxException

About the TxException class

Variables  Properties  Methods  

Implements ChainedException, Serializable

TxException enumerates transaction-specific DataStore exceptions.

The BASE value for the class variables is 6000.


TxException variables

Variables implemented in this class

Variables implemented in com.borland.dx.dataset.DataSetException

TxException properties

*Read-only properties **Write-only properties

Properties implemented in com.borland.dx.dataset.DataSetException

Properties implemented in java.lang.Object

Properties implemented in java.lang.Throwable

TxException methods

Methods implemented in com.borland.dx.dataset.DataSetException

Methods implemented in java.lang.Object

Methods implemented in java.lang.Throwable


TxException variables

AMBIGUOUS_LOGDIR

  public static final int AMBIGUOUS_LOGDIR = BASE+5
Log directory setting persisted in the DataStore is not the same as the setting in the TxManager, and the directory specified by the DataStore still contains log files.

If the log files were copied to the new directory specified by the TxManager, the log files in the old location (persisted in the DataStore file) must be renamed or deleted.

ANCHOR_TOO_OLD

  public static final int ANCHOR_TOO_OLD = BASE+9
Anchor timestamp is older then timestamp of DataStore file. This is probably because the log files are out of date with the DataStore file.

BIRTHSTAMP_MISMATCH

  public static final int BIRTHSTAMP_MISMATCH = BASE+8
Birthstamp for "A" anchor file and "B" anchor file do not match. This probably means that the log files were not created for the same DataStore file.

INVALID_ANCHOR_FILE

  public static final int INVALID_ANCHOR_FILE = BASE+7
Anchor file could not be read or has an invalid contents. It is probably corrupt, but this should be a rare error since the precious anchor is copied to at least two separate files. The system redundantly copies this anchor inside the DataStore file itself, so this could be a recoverable failure. Log duplexing is another way to recover from such a failure. If the log is being duplexed (by setting the TxManager.BLogDir property), the "A" and "B" anchors will be examined and the newest, valid anchor will be used.

INVALID_ANCHOR_LENGTH

  public static final int INVALID_ANCHOR_LENGTH = BASE+6
Anchor file has an invalid length. It is probably corrupt, but this should be a rare error since the precious anchor is copied to at least two separate files. The system redundantly copies this anchor inside the DataStore file itself, so this could be a recoverable failure. Log duplexing is another way to recover from such a failure. If the log is being duplexed (by setting the TxManager.BLogDir property), the "A" and "B" anchors will be examined and the newest, valid anchor will be used.

INVALID_LSN

  public static final int INVALID_LSN = BASE+15
Unexpected internal condition. Invalid address into a log file.

This is an unexpected internal error symptomatic of a corrupted log file. It is recommended that you use the DataStore Explorer or the DataStoreConnection.copyStreams method to save all other streams to a new DataStore. See the section on verifying and repairing DataStores in the documentation for the DataStore component.

INVALID_USER_NAME

  public static final int INVALID_USER_NAME = BASE+11
Invalid user name for DataStoreConnection.userName property. Typically caused when the property has never been set.

LOCK_TIMEOUT

  public static final int LOCK_TIMEOUT = BASE+24
Timeout waiting for lock. This can be caused by a deadlock scenario or because a connection with a lock is taking a long time to commit its transaction.

See also: DataStoreConnection.lockWaitTime property

LOG_EXISTS

  public static final int LOG_EXISTS = BASE+0
Existing log files and/or Log anchor file found in the directory where the system is attempting to create new log files.

LOGDIR_MISMATCH

  public static final int LOGDIR_MISMATCH = BASE+4
"A" and "B" log directories specified for DataStore, but one of them does not exist. The log files must both exist or both not exist. This ensures that the duplexed logs are in sync.

MISSING_CHECKPOINT_FILE

  public static final int MISSING_CHECKPOINT_FILE = BASE+17
Cannot open the DataStore. Missing the log file with the most recent checkpoint.

MISSING_LOG_FILE

  public static final int MISSING_LOG_FILE = BASE+16
Missing log file.

NEED_A_LOGDIR

  public static final int NEED_A_LOGDIR = BASE+3
"B" log directory specified without specifying "A" log directory. The "A" log directory must be specified. "B" log directory is an optional duplexing of the log files.

NOT_TRANSACTIONAL

  public static final int NOT_TRANSACTIONAL = BASE+14
Attempted transactional operation on DataStore when its txManager property is null.

OLD_LOG

  public static final int OLD_LOG = BASE+25
The log file appears to be older than than the DataStore it is associated with. This may be caused by copying old log files to the directory of a DataStore database file that has more recent changes.

To set up new log files, you can open the DataStore in read-only mode and copy its contents. To open the DataStore in read-only mode, use DataStoreConnection.setReadOnly(). To copy its contents, use DataStoreConnection.copyStreams().

RECOVERY_DENIED

  public static final int RECOVERY_DENIED = BASE+22
Recovery denied by ResponseListener event handler. To prevent this exception and allow recovery to complete, do not deny this event in your application's ResponseListener handler.

See also: ResponseEvent.DATASTORE_RECOVERING

ROW_LOCK_TIMEOUT

  public static final int ROW_LOCK_TIMEOUT = BASE+26
Timeout waiting for row lock. This can be caused by a deadlock scenario or because a connection with a lock is taking a long time to commit the transaction that has acquired a lock.

See also: DataStoreConnection.lockWaitTime property

TOO_MANY_OPEN_FILES

  public static final int TOO_MANY_OPEN_FILES = BASE+10
Too many files opened simultaneously by the log manager. This should not happen. If this does happen, shutdown and restart the system.

TX_MANAGER_INUSE

  public static final int TX_MANAGER_INUSE = BASE+18
Attempt to use a TxManager() component instance for two different DataStores.

TX_NOT_ALLOWED

  public static final int TX_NOT_ALLOWED = BASE+21
Cannot make this DataStore transactional because it is an older file format.

TX_REQUIRED

  public static final int TX_REQUIRED = BASE+20
This connection cannot be opened because the DataStore is neither transactional nor read-only. This error can be corrected by setting the DataStore.readOnly property to true or by setting the DataStore.txManager property to an instance of TxManager. The DataStore JDBC driver can only open connections to transactional or read-only DataStores.

Once a DataStore component is opened with the txManager property set, the DataStore file is marked transactional and all TxManager properties are persisted in the DataStore file. So this operation only needs to be performed once.