Este objeto representa uma transação em um NodeDatabase, um mecanismo que dá maior controle ao programador sobre as mudanças locais.
Uma Transação é um objeto que armazena localmente todas as mudança realizadas em um NodeDatabase para que você possa decidir, mais tarde, se quer descartá-las ou confirmá-las.
É possível instanciar um NodeTransaction através do método ndb.newTransaction
Apenas criar um NodeTransaction não faz com que os dados sejam controlados. É preciso também utilizar os métodos ndb.pushTransaction e ndb.popTransaction para isso.
O objeto NodeTransaction possui as seguintes características:
| Propriedade | Tipo | Descrição | 
|  |  |  | 
|  |  |  | 
| Nome do método | Descrição | 
| Confirma as mudanças que estavam armazenadas localmente. Ao realizar Commit, os dados serão salvos em arquivo/Servidor RRPG e compartilhados com os demais usuários. | |
| Desfaz as mudanças que estavam armazenadas localmente. | |
| Cria um objeto NodeUndoData que contem as instruções necessário para desfazer todas as mudanças que estão armazenadas localmente. Você pode, então, depois, decidir se deseja desfazer as mudanças guardadas utilizando o método transaction:applyUndoData Observações: 
 | |
| Aplica as instruções de um objeto NodeUndoData para desfazer mudanças previamente feitas. Parâmetros: 
 
 
 | 
| local tr1 = ndb.newTransaction(sheet); local tr2 = ndb.newTransaction(sheet); 
 sheet.nome = "Maria"; -- Mudança 1 
 ndb.pushTransaction(sheet, tr1); sheet.idade = 20; -- Mudança 2 
 ndb.pushTransaction(sheet, tr2); sheet.nome = "Ana"; -- Mudança 3 ndb.popTransaction(sheet); 
 sheet.altura = "1.60m"; -- Mudança 4 ndb.popTransaction(sheet); 
 tr2:rollback(); 
 --[[ Ao final da execução: * Mudança 1 - Será salva e compartilhada com todos, pois foi realizada fora de qualquer transação. 
 * Mudanças 2 e 4 - Será mantida APENAS localmente e ninguém mais enxergará as mudanças, pois foram feitas na transação "tr1" e esta não recebeu nem commit e nem rollback. Esta mudança local existirá enquanto o objeto "tr1" existir. Quando ele for destruído pelo coletor de lixo do Lua, as mudanças serão desfeitas. 
 * Mudança 3 - Será desfeita pois foi realizada na transação "tr2" e ela recebeu uma chamada de "rollback" ]]-- | 
| local tr = ndb.newTransaction(sheet); 
 ndb.pushTransaction(sheet, tr); sheet.nome = "maria"; sheet.idade = 20; sheet.altura = "1.60m" ndb.popTransaction(sheet); 
 dialogs.confirmYesNo("Deseja salvar as alterações?", function(resposta) if resposta then tr:commit(); else tr:rollback(); end; end); | 
Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool