Compartilhar via


Sinalizadores de transação

Um objeto pode ser aberto no modo direto ou transacionado. Quando um objeto é aberto no modo direto, as alterações são feitas de forma imediata e permanente. Quando um objeto é aberto no modo transacionado, as alterações são armazenadas em buffer para que possam ser explicitamente confirmadas ou revertidas quando a edição for concluída. As alterações confirmadas são salvas no objeto enquanto as alterações revertidas são descartadas. O modo direto é o modo de acesso padrão.

O modo transacionado não é necessário em um objeto de armazenamento pai para usá-lo em um elemento aninhado. Uma transação para um elemento aninhado, no entanto, é aninhada dentro da transação de seu objeto de armazenamento pai. Portanto, as alterações feitas em um objeto filho não podem ser confirmadas até que as feitas ao pai sejam confirmadas e ambas permaneçam descompactadas até que o objeto de armazenamento raiz (o pai de nível superior) seja realmente gravado em disco. Em outras palavras, as alterações se movem para fora: objetos internos publicam alterações nas transações de seus contêineres imediatos.