Skip to main content
Pentaho Documentation

Transaction

pentaho.type.changes.Transaction

A Transaction object stores information about changes performed to instances.

When a transaction is the ambient transaction, it stores the changes performed to any instances. All of the changes performed are temporary and no change events are emitted, until the transaction is committed.

The ambient transaction is accessible through this.context.transaction.

All of the changes are immediately visible, through any read operations of the modified instances, while the transaction is the ambient transaction.

If a transaction ceases to be the ambient transaction, then all of the changes that it captured suddenly become inaccessible.

If a transaction is later committed, and is successful, every change becomes permanent. Otherwise, if the transaction is simply disposed of, all the changes it captured are lost.

Managing the ambient transaction is best handled implicitly, by delegating to a TransactionScope object.

AMD Module

require(["pentaho/type/Transaction"], function(Transaction) { /* code goes here */ });

Implements

Constructor

Name Description
new Transaction(context)

Creates a Transaction for a given context.

Members

Name Description
context : pentaho.type.Context

Gets the associated context.

isCurrent : boolean

Gets a value that indicates if this transaction is the current transaction.

isProposed : boolean

Gets a value that indicates if the transaction is in a proposed state, that is, it has not been committed or rejected.

isReadOnly : boolean

Gets a value that indicates if the transaction is in a read-only state.

result : pentaho.lang.ActionResult

Gets an action result of the final state of the transaction; or null, if the transaction is still in a proposed state.

Methods

Name Description
enter() : pentaho.type.changes.TransactionScope

Enters the transaction and returns a new transaction scope to control the transaction.

getChangeset(uid) : pentaho.type.changes.Changeset

Gets the changeset of an instance, given its unique identifier.

Constructor Details

new Transaction(context)

Creates a Transaction for a given context.

Source: javascript/web/pentaho/type/changes/Transaction.js, line 66

Parameters:
Name Default Value Summary
context : pentaho.type.Context

The context of the transaction.

Members Details

context: pentaho.type.Context

Gets the associated context.

Source: javascript/web/pentaho/type/changes/Transaction.js, line 69

isCurrent: boolean

Gets a value that indicates if this transaction is the current transaction.

Source: javascript/web/pentaho/type/changes/Transaction.js, line 266

isProposed: boolean

Gets a value that indicates if the transaction is in a proposed state, that is, it has not been committed or rejected.

Source: javascript/web/pentaho/type/changes/Transaction.js, line 113

See also:  pentaho.type.changes.Transaction#result

isReadOnly: boolean

Gets a value that indicates if the transaction is in a read-only state.

A transaction becomes read-only when it is previewed, committed or rejected.

Source: javascript/web/pentaho/type/changes/Transaction.js, line 125

result: pentaho.lang.ActionResult

Gets an action result of the final state of the transaction; or null, if the transaction is still in a proposed state.

Source: javascript/web/pentaho/type/changes/Transaction.js, line 138

See also:  pentaho.type.changes.Transaction#isProposed

Methods Details

enter() : pentaho.type.changes.TransactionScope

Enters the transaction and returns a new transaction scope to control the transaction.

Source: javascript/web/pentaho/type/changes/Transaction.js, line 280

Returns:
Name Description
pentaho.type.changes.TransactionScope

The new transaction scope.

Throws:
Name Description
pentaho.lang.OperationInvalidError

When the transaction is resolved.

pentaho.type.changes.TransactionRejectedError

When entering the root scope of the transaction and the transaction is automatically rejected due to a concurrency error.

getChangeset(uid) : pentaho.type.changes.Changeset

Gets the changeset of an instance, given its unique identifier.

If no changeset has been added for the specified instance, null is returned.

Source: javascript/web/pentaho/type/changes/Transaction.js, line 153

Parameters:
Name Default Value Summary
uid : string

The unique identifier of the instance.

Returns:
Name Description
pentaho.type.changes.Changeset

The changeset, or null.