Lade...
 

BeginTXN

BeginTXN

BeginTXN

Stack
Stack   Objekttyp / Beschreibung
Stack(In)   -
Stack(Out)   -

beginnt eine Transaktion. BeginTXN muss nur in Ausnahmefällen benutzt werden. Alle InstantView®-Anweisungen, die auf die Datenbank zugreifen, starten automatisch eine Transaktion. BeginTXN innerhalb einer laufenden Transaktion ist ohne Wirkung.

Offnet eine Schreibtransaktion (außer die Datenbank wurde im READ_ONLY-Modus geöffnet - siehe CX_TRANSACTION_MANAGER::OpenDB bzw. CX_TRANSACTION_MANAGER::SetDBMode)

BeginTXN(READ)

Stack
Stack   Objekttyp / Beschreibung
Stack(In)   -
Stack(Out)   -

beginnt eine Read-Only-Transaktion (MVCC). Jetzt sind Leseoperationen gleichzeitig mit Update-Operationen anderer Clients möglich, ohne dass es zu Locking-Konflikten kommt. Der mit MVCC lesende Client sieht allerdings nicht immer die aktuellste Version der Objekte, jedoch immer einen in sich konsistenten Zustand.
Sind die (physischen) Datenbanken nicht im MVCC-Modus geöffnet (vergleiche Anweisung OpenDB), geschieht dies jetzt, und am Transaktionsende werden sie wieder im Normalmodus geöffnet.

Wurde bereits eine Transaktion gestartet, so wird diese fortgeführt, d.h. BeginTXN(READ) bleibt wirkungslos. Damit wird verhindert, dass eine schreibende Transaktion vorzeitig beendet wird.

Sind die Datenbanken gerade im MVCC-Modus geöffnet, beginnt einfach eine Transaktion.

Alle Versuche, persistent Objekte zu verändern oder zu erzeugen, d.h. in die Datenbank zu schreiben, werden mit einer entsprechenden Fehlermeldung abgebrochen.

 

BeginTXN(READ, AbortTXN)

Stack
Stack   Objekttyp / Beschreibung
Stack(In)   -
Stack(Out)   -

... wie BeginTXN(READ), aber eine gerade aktive Transaktion im Update-Modus wird abgebrochen (abort), bevor die Datenbanken im MVCC-Modus geöffnet werden und die neue Lese-Transaktion beginnt.

 

BeginTXN(WRITE)

Stack
Stack   Beschreibung
Stack(In)   -
Stack(Out)   -

beginnt eine Transaktion mit der Absicht, Daten zu verändern. Sind die (physischen) Datenbanken gerade im MVCC-Modus geöffnet (vergleiche Anweisung OpenDB), werden sie im Normal-Modus geöffnet, damit Updateoperationen möglich sind. Am Transaktionsende werden die Datenbanken automatisch wieder mit MVCC geöffnet.
Wenn die Datenbanken im Normalmodus geöffnet sind, beginnt einfach eine Transaktion (wie bei BeginTXN ohne Operand).

Verwandte Themen