new Transaction( [opt_database])
Gerencia a persistência de um conjunto de datasets para que suas alterações sejam efetivadas em uma única transação do banco de dados.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
opt_database |
Database | Connection |
<optional> |
Instância que representa o banco de dados. |
Methods
-
add(ds)
-
Adiciona um dataset para ser persistido durante uma transação que não poderá ser obtido pelos métodos #get ou #getOrSet. Seu uso é recomendado para DataSets que não podem ser modificados por objetos que têm acesso à instância desta classe. Por exemplo, eventos de persistência recebem uma instância da transação corrente, mas não devem ter acesso aos dataSets internos dos objetos de gestão.
Parameters:
Name Type Description ds
DataSet DataSet a ser adicionado na transação.
-
commit()
-
Persiste os dados que foram adicionados em uma transação.
- See:
-
- Database#applyUpdates
- DataSet#applyUpdates
Returns:
Versão da operação realizada pela transação.
- Type
- number
-
contains(ds)
-
Determina se um dataset já está dentro da transação. Caso o dataset esteja true será retornado.
Parameters:
Name Type Description ds
DataSet DataSet a ser analisado.
Returns:
True se o dataset estiver contido na transação.
- Type
- boolean
-
get(id)
-
Obtém um dataset previamente adicionado pelos métodos #set ou #getOrSet. Será gerado um erro caso não exista um dataSet registrado com o nome informado.
Parameters:
Name Type Description id
string Id do DataSet previamente adicionado.
Returns:
DataSet com o nome informado.
- Type
- DataSet
-
getOrSet(id, createFunc)
-
Obtém o dataset registrado com o id informado ou, caso não exista um, executa create para criar o DataSet e o registra com o id informado.
Parameters:
Name Type Description id
string Id único do DataSet.
createFunc
function Função que deverá retornar o DataSet a ser adicionado na transação, caso não haja um com o id informado.
Returns:
DataSet com o id informado caso haja um ou o dataSet criado por createFunc no caso contrário.
Example
this.on('beforePersist', function (evt) { var evento = evt.transaction.getOrSet('erp.eventoUF', function () { var evento = new DataSet(); dbCache.copyStructure('EVENTO', evento); evento.create(); }); if (evt.action === ApplyUpdatesAction.UPDATE && evt.beforeValues.uf !== evt.afterValues.uf) { evento.append(); // cria um registro na tabela evento com base evt.beforeValues e evt.afterValues evento.post(); return evento; } });
-
rollback()
-
Desfaz todas as alterações que estão registradas no delta dos DataSets. Nota: O rollback usa o delta dos DataSets para desfazer as alterações, ou seja, apenas o que estiver no delta será desfeito.
- See:
-
- DataSet.rollBack
-
set(id, dataSet)
-
Adiciona um dataset a ser gravado nesta transação associando-o a um identificador único. Esse DataSet poderá ser obtido por meio dos métodos #get ou #getOrSet.
Parameters:
Name Type Description id
string Id único do DataSet.
dataSet
DataSet DataSet a ser adicionado na transação, associado ao id informado.