Corruptable
XactFactory
public interface TransactionFactory extends Corruptable
RawStoreFactory
,
Transaction
Modifier and Type | Field | Description |
---|---|---|
static java.lang.String |
MODULE |
Modifier and Type | Method | Description |
---|---|---|
boolean |
blockBackupBlockingOperations(boolean wait) |
Checks if there any backup blocking operations are in progress and
prevents new ones from starting until the backup is finished.
|
void |
createFinished() |
Database creation finished
|
boolean |
findTransaction(TransactionId id,
RawTransaction tran) |
Find a transaction using a transactionId and make the passed in
transaction assume the identity and properties of that transaction.
|
RawTransaction |
findUserTransaction(RawStoreFactory rsf,
ContextManager contextMgr,
java.lang.String transName) |
Find a user transaction within the given raw store and the given
contextMgr.
|
LogInstant |
firstUpdateInstant() |
The first log instant that belongs to a transaction that is still
active in the raw store.
|
LockFactory |
getLockFactory() |
Get the LockFactory to use with this store.
|
TransactionInfo[] |
getTransactionInfo() |
|
Formatable |
getTransactionTable() |
Return the transaction table so it can get logged with the checkpoint
log record.
|
java.lang.Object |
getXAResourceManager() |
Return the module providing XAresource interface to the transaction
table.
|
void |
handlePreparedXacts(RawStoreFactory rsf) |
Run through all prepared transactions known to this factory
and restore their state such that they remain after recovery, and
can be found and handled by a XA transaction manager.
|
boolean |
hasPreparedXact() |
Check if there are any prepared transanctions.
|
boolean |
noActiveUpdateTransaction() |
Returns true if the transaction factory has no active updating
transaction
|
void |
resetTranId() |
Reset any resettable transaction Id
|
void |
rollbackAllTransactions(RawTransaction recoveryTransaction,
RawStoreFactory rsf) |
Rollback and close all transactions known to this factory using a
passed in transaction.
|
void |
setRawStoreFactory(RawStoreFactory rsf) |
make Transaction factory aware of which raw store factory it belongs to
|
RawTransaction |
startGlobalTransaction(RawStoreFactory rsf,
ContextManager contextMgr,
int format_id,
byte[] global_id,
byte[] branch_id) |
Start a new transaction within the given raw store.
|
RawTransaction |
startInternalTransaction(RawStoreFactory rsf,
ContextManager contextMgr) |
Start a new internal transaction within the given raw store.
|
RawTransaction |
startNestedReadOnlyUserTransaction(RawStoreFactory rsf,
RawTransaction parentTransaction,
CompatibilitySpace compatibilitySpace,
ContextManager contextMgr,
java.lang.String transName) |
Start a new read only transaction within the given raw store.
|
RawTransaction |
startNestedTopTransaction(RawStoreFactory rsf,
ContextManager contextMgr) |
Start a new nested top transaction within the given raw store.
|
RawTransaction |
startNestedUpdateUserTransaction(RawStoreFactory rsf,
RawTransaction parentTransaction,
ContextManager contextMgr,
java.lang.String transName,
boolean flush_log_on_xact_end) |
Start a new update transaction within the given raw store.
|
RawTransaction |
startTransaction(RawStoreFactory rsf,
ContextManager contextMgr,
java.lang.String transName) |
Start a new transaction within the given raw store.
|
boolean |
submitPostCommitWork(Serviceable work) |
Submit a post commit work to the post commit daemon.
|
void |
unblockBackupBlockingOperations() |
Backup completed.
|
void |
useTransactionTable(Formatable transactionTable) |
Use this transaction table, which is gotten from a checkpoint
operation.
|
markCorrupt
static final java.lang.String MODULE
LockFactory getLockFactory()
java.lang.Object getXAResourceManager() throws StandardException
StandardException
- Standard Derby exception policy.RawTransaction startTransaction(RawStoreFactory rsf, ContextManager contextMgr, java.lang.String transName) throws StandardException
contextMgr
- is the context manager to use. It must be the current
context manager.transName
- is the transaction name. It will be displayed in the
transactiontable VTI.StandardException
- Standard Derby error policy.RawStoreFactory.startTransaction(org.apache.derby.iapi.services.context.ContextManager, java.lang.String)
RawTransaction startNestedReadOnlyUserTransaction(RawStoreFactory rsf, RawTransaction parentTransaction, CompatibilitySpace compatibilitySpace, ContextManager contextMgr, java.lang.String transName) throws StandardException
rsf
- the RawStoreFactoryparentTransaction
- the parent transactioncompatibilitySpace
- compatibility space to use for locks.contextMgr
- is the context manager to use. It must be
the current context manager.transName
- is the transaction name. It will be
displayed in the transactiontable VTI.StandardException
- Standard Derby error policy.RawStoreFactory.startNestedReadOnlyUserTransaction(org.apache.derby.iapi.store.raw.Transaction, org.apache.derby.iapi.services.locks.CompatibilitySpace, org.apache.derby.iapi.services.context.ContextManager, java.lang.String)
RawTransaction startNestedUpdateUserTransaction(RawStoreFactory rsf, RawTransaction parentTransaction, ContextManager contextMgr, java.lang.String transName, boolean flush_log_on_xact_end) throws StandardException
rsf
- the RawStoreFactoryparentTransaction
- the parent transactioncontextMgr
- is the context manager to use. It must
be the current context manager.transName
- is the transaction name. It will be
displayed in the transactiontable VTI.flush_log_on_xact_end
- By default should the transaction commit
and abort be synced to the log. Normal
usage should pick true, unless there
is specific performance need and usage
works correctly if a commit can be
lost on system crash.StandardException
- Standard Derby error policy.RawStoreFactory.startNestedUpdateUserTransaction(org.apache.derby.iapi.store.raw.Transaction, org.apache.derby.iapi.services.context.ContextManager, java.lang.String, boolean)
RawTransaction startGlobalTransaction(RawStoreFactory rsf, ContextManager contextMgr, int format_id, byte[] global_id, byte[] branch_id) throws StandardException
format_id
- the format id part of the Xid - ie. Xid.getFormatId().global_id
- the global transaction identifier part of XID - ie.
Xid.getGlobalTransactionId().branch_id
- The branch qualifier of the Xid - ie.
Xid.getBranchQaulifier()contextMgr
- is the context manager to use. It must be the current
context manager.StandardException
- Standard Derby error policy.RawStoreFactory.startGlobalTransaction(org.apache.derby.iapi.services.context.ContextManager, int, byte[], byte[])
RawTransaction findUserTransaction(RawStoreFactory rsf, ContextManager contextMgr, java.lang.String transName) throws StandardException
RawTransaction startNestedTopTransaction(RawStoreFactory rsf, ContextManager contextMgr) throws StandardException
StandardException
- Standard Derby error policy.RawStoreFactory.startTransaction(ContextManager, String)
RawTransaction startInternalTransaction(RawStoreFactory rsf, ContextManager contextMgr) throws StandardException
StandardException
- Standard Derby error policy.RawStoreFactory.startTransaction(org.apache.derby.iapi.services.context.ContextManager, java.lang.String)
boolean findTransaction(TransactionId id, RawTransaction tran)
void resetTranId() throws StandardException
StandardException
- Standard Derby error policy.LogInstant firstUpdateInstant()
void handlePreparedXacts(RawStoreFactory rsf) throws StandardException
StandardException
- Derby Standard Error policyvoid rollbackAllTransactions(RawTransaction recoveryTransaction, RawStoreFactory rsf) throws StandardException
recoveryTransaction
- the transaction used to rollbackStandardException
- Derby Standard Error policyboolean submitPostCommitWork(Serviceable work)
void setRawStoreFactory(RawStoreFactory rsf) throws StandardException
StandardException
boolean noActiveUpdateTransaction()
boolean hasPreparedXact()
MT - unsafe, called during boot, which is single threaded.
void createFinished() throws StandardException
StandardException
- Standard Derby exception policy.Formatable getTransactionTable()
void useTransactionTable(Formatable transactionTable) throws StandardException
StandardException
- Standard Derby exception policy.TransactionInfo[] getTransactionInfo()
AccessFactory.getTransactionInfo()
boolean blockBackupBlockingOperations(boolean wait) throws StandardException
wait
- if true, waits for the current backup blocking
operations in progress to finish.StandardException
- if interrupted or a runtime exception occurs.void unblockBackupBlockingOperations()
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.