Rogue Wave Views Data Access Package API Reference Guide |
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 |
Indicates whether 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 a row 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. More... | |
void | recordMoveRow (IliTable *tbl, IlInt from, IlInt to) |
This member function should be called when a row is moved to another position. More... | |
void | recordUpdateRow (IliTable *tbl, IlInt row, const IliTableBuffer *buff) |
This member function should be called when a row 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.) IliTable
.Accessors provide a scriptable and uniform way to inspect and modify an object by using its base class methods IlvValueInterface::queryValue()
, IlvValueInterface::queryValues()
, IlvValueInterface::changeValue()
, IlvValueInterface::changeValues()
. This class defines the following accessors:
Name | Type | Equivalent methods |
---|---|---|
eventCount | Int | getEventCount() (read-only) |
Name | Return type | Equivalent methods |
---|---|---|
isStarted() | Boolean | isStarted() |
start() | Void | start() . See [start] below. |
stop() | Void | stop() |
cancel() | Boolean | cancel() |
accept() | Boolean | accept() |
getEventTable(Int idx) | Object | getEventTable(idx) |
getEventType(Int idx) | Int | getEventType(idx) |
addErrorSink(Object sink) | Void | See [errorSink] below. |
removeErrorSink(Object sink) | Void | See [errorSink] below. |
[start]: The following Rogue Wave Views Script code assigns the same transaction manager to two given IliTable
objects and then starts the transaction manager:
[errorSink]: The sink parameter can be one of the following:
IliErrorList
object IliObserver
object whose func property contains a Rogue Wave Views Script function having the following signature: fct(IliErrorMessage msg)
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 | ) |
|
static |
Returns a transaction manager.
idx | The transaction manager index. |
0
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 | If IlTrue , the transaction manager is created when it does not exist. |
IlTrue
, a new transaction manager named name is created and returned. Otherwise, 0
is returned. IlInt IliTransactionManager::getEventCount | ( | ) | const |
Returns the number of events recorded in the transaction manager.
IliTable
operations:
Returns an event table.
idx | The event position. |
IliTable
object from which the event at position idx originates or 0
if the position is out of bound. EventType IliTransactionManager::getEventType | ( | IlInt | idx | ) | const |
Returns an event type.
idx | The event position. |
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 |
Indicates whether 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.
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 a row is deleted.
tbl | The table. |
row | The delete 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.
tbl | The table. |
row | The row insertion position. |
buff | The values of the new row. |
This member function should be called when a row 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 a row is updated.
tbl | The table. |
row | The position of the updated row. |
buff | The modified values of the row. |
void IliTransactionManager::removeErrorSink | ( | IliErrorSink * | sink | ) |
Removes an error sink from this transaction manager.
sink | The removed error sink. |
© Copyright 2016, 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.