Rogue Wave Views |
Rogue Wave Views Documentation Home |
Table class. More...
#include <ilviews/dataccess/transmgr.h>
Public Member Functions | |
IliTransactionManager () | |
Initializes an anonymous transaction manager. | |
IlBoolean | accept () |
Accepts all recorded events. More... | |
void | addErrorSink (IliErrorSink *sink) |
Adds an error sink to the transaction manager. More... | |
IlBoolean | cancel () |
Cancels all recorded events. More... | |
IlInt | getEventCount () const |
Returns the number of events recorded in the transaction manager. More... | |
IliTable * | getEventTable (IlInt idx) const |
Returns an event table. More... | |
EventType | getEventType (IlInt idx) const |
Returns an event type. More... | |
const char * | getName () const |
Returns the transaction manager name. More... | |
IlBoolean | hasAName () const |
Returns IlTrue if the transaction manager has a name. More... | |
IlBoolean | isRecording () const |
Returns IlTrue if the transaction manager has been started and if events should be recorded. More... | |
IlBoolean | isStarted () const |
Returns IlTrue if the transaction manager has been started. More... | |
void | recordDeleteRow (IliTable *tbl, IlInt row) |
This member function should be called just before the row at position row in the table is deleted. More... | |
void | recordExchangeRows (IliTable *tbl, IlInt row1, IlInt row2) |
This member function should be called when a row in the table has been exchanged with another. More... | |
void | recordInsertRow (IliTable *tbl, IlInt row, const IliTableBuffer *buff) |
This member function should be called when a row is inserted in the table at position row . More... | |
void | recordMoveRow (IliTable *tbl, IlInt from, IlInt to) |
This member function should be called when the row at a position in the table is moved to another position. More... | |
void | recordUpdateRow (IliTable *tbl, IlInt row, const IliTableBuffer *buff) |
This member function should be called when the row at position row in the table is updated. More... | |
void | removeErrorSink (IliErrorSink *sink) |
Removes an error sink from this transaction manager. More... | |
void | start () |
Starts the transaction manager. | |
void | stop () |
Stops the transaction manager. | |
Public Member Functions inherited from IliRefCounted | |
IlInt | getRefCount () const |
Returns the reference count of the object. Initially, this property is set to 0 . More... | |
void | lock () const |
Increments the reference count of the object. | |
void | unLock () const |
Decrements the reference count of the object. More... | |
Static Public Member Functions | |
static IliTransactionManager * | At (IlInt idx) |
Returns a transaction manager. More... | |
static IlInt | Count () |
Returns the number of named transaction managers that exist. More... | |
static IliTransactionManager * | Get (const char *name, IlBoolean createIt=IlFalse) |
Returns a transaction manager. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from IliRefCounted | |
virtual | ~IliRefCounted () |
This is the virtual destructor of the IliRefCounted class. More... | |
Table class.
Library: dataccess
The IliTransactionManager
class manages so-called local transactions where one or more IliTable
objects can defer the propagation of changes they undergo until a later function call occurs. The transaction manager is responsible for recording all these changes as they happen so that it can do one of the following:
IliTable
objects to their initial state if the transaction is canceled. IliTable
objects to propagate these changes to their remote storage manager. (This applies only to two-tier table objects.) IlBoolean IliTransactionManager::accept | ( | ) |
Accepts all recorded events.
This typically involves having all two-tier tables propagate updates to their remote storage manager. If successful, the event count is reset to 0
. Otherwise, the event count remains unchanged. Note that if a two-tier table (such as an IliSQLTable
object) is involved in one or more of the events, a rollback should be issued by the user to its SQL session or else the state of the database transaction may become inconsistent with the state of the IliSQLTable
object. Events are accepted in order of occurrence (from the oldest to the most recent). In the case where one event fails, no attempt is made to accept the subsequent events in the chain and IlFalse
is immediately returned.
IlTrue
if successful. void IliTransactionManager::addErrorSink | ( | IliErrorSink * | sink | ) |
Adds an error sink to the transaction manager.
Any errors that occur during calls to the cancel
and accept
member functions will be forwarded to this error sink.
sink | The added error sink. |
|
static |
Returns a transaction manager.
idx | The transaction manager position. |
idx
or returns NULL
if the position is out of bound. IlBoolean IliTransactionManager::cancel | ( | ) |
Cancels all recorded events.
This typically involves reverting the IliTable
objects to the state they had before the transaction started. If successful, the event count is reset to 0
. Otherwise, the event count remains unchanged.
IlTrue
if successful.
|
static |
Returns the number of named transaction managers that exist.
|
static |
Returns a transaction manager.
name | The transaction manager name. |
createIt | The creation flag. If it is true, the transaction manager is created when it does not exist. |
createIt
parameter is true
, a new transaction manager named name
is created and returned. Otherwise, NULL
is returned. IlInt IliTransactionManager::getEventCount | ( | ) | const |
Returns the number of events recorded in the transaction manager.
IliTable
operations: insertRow
updateRow
deleteRow
moveRow
exchangeRows
Returns an event table.
idx,: | The event position. |
IliTable
object from which the event at position idx
originates or NULL
if the position is out of bound. EventType IliTransactionManager::getEventType | ( | IlInt | idx | ) | const |
Returns an event type.
idx,: | The event position. |
idx
or UndefinedEvent
if idx
is out of bound. The type can be one of the following: UndefinedEvent
InsertRowEvent
UpdateRowEvent
DeleteRowEvent
MoveRowEvent
ExchangeRowsEvent
const char* IliTransactionManager::getName | ( | ) | const |
Returns the transaction manager name.
IlBoolean IliTransactionManager::hasAName | ( | ) | const |
Returns IlTrue
if the transaction manager has a name.
IlTrue
if the transaction manager has a name. IlBoolean IliTransactionManager::isRecording | ( | ) | const |
Returns IlTrue
if the transaction manager has been started and if events should be recorded.
IlTrue
if the transaction manager has been started and if events should be recorded. Returns IlFalse
if the transaction manager has not been started or if it is currently performing one of the accept
or cancel
member functions. In such cases, no events should be recorded. IlBoolean IliTransactionManager::isStarted | ( | ) | const |
Returns IlTrue
if the transaction manager has been started.
IlTrue
if the transaction manager has been started. This member function should be called just before the row at position row
in the table is deleted.
tbl | The table. |
row | The row position. |
This member function should be called when a row in the table has been exchanged with another.
tbl | The table. |
row1 | The first row position. |
row2 | The second row position. |
void IliTransactionManager::recordInsertRow | ( | IliTable * | tbl, |
IlInt | row, | ||
const IliTableBuffer * | buff | ||
) |
This member function should be called when a row is inserted in the table at position row
.
The values of the new row are given in the table buffer buff
.
tbl | The table. |
row | The row position. |
buff | The row data. |
This member function should be called when the row at a position in the table is moved to another position.
tbl | The table. |
from | The from position. |
to | The to position. |
void IliTransactionManager::recordUpdateRow | ( | IliTable * | tbl, |
IlInt | row, | ||
const IliTableBuffer * | buff | ||
) |
This member function should be called when the row at position row
in the table is updated.
The modified values of the row are given in the table buffer buff
.
tbl | The table. |
row | The row position. |
buff | The row data. |
void IliTransactionManager::removeErrorSink | ( | IliErrorSink * | sink | ) |
Removes an error sink from this transaction manager.
sink | The removed error sink. |
© Copyright 2015, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.