This is the legacy 4D documentation web site. Documentations are progressively being moved to developer.4d.com

Home

 
4D v19.8
dataStore.startTransaction( )

dataStore.startTransaction( ) 


 

dataStore.startTransaction () 
Does not require any parameters

The dataStore.startTransaction( ) method starts a transaction in the current process on the database matching the datastore to which it applies. Any changes made to the datastore's entities in the transaction's process are temporarily stored until the transaction is either validated or cancelled. 

Note: If this method is called on the main datastore (i.e. the datastore returned by the ds command), the transaction is applied to all operations performed on the main datastore and on the underlying database, thus including ORDA and classic languages. 

You can nest several transactions (sub-transactions). Each transaction or sub-transaction must eventually be cancelled or validated. Note that if the main transaction is cancelled, all of its sub-transactions are also cancelled even if they were validated individually using the dataStore.validateTransaction( ) method.

Example  

 C_OBJECT($connect;$ds;$person;$status)
 C_TEXT($choice)
 C_BOOLEAN($error)
 
 Case of
    :($choice="local")
       $ds:=ds
    :($choice="remote")
       $connect:=New object("hostname";"111.222.3.4:8044")
       $ds:=Open datastore($connect;"myRemoteDS")
 End case
 
 $ds.startTransaction()
 $person:=$ds.Persons.query("lastname=:1";"Peters").first()
 
 If($person#Null)
    $person.lastname:="Smith"
    $status:=$person.save()
 End if
 ...
 ...
 If($error)
    $ds.cancelTransaction()
 Else
    $ds.validateTransaction()
 End if



See also 

dataStore.cancelTransaction( )
dataStore.validateTransaction( )
START TRANSACTION

 
PROPERTIES 

Product: 4D
Theme: ORDA - DataStore

This command can be run in preemptive processes

 
PAGE CONTENTS 
 
HISTORY 

Created: 4D v18

 
ARTICLE USAGE

4D Language Reference ( 4D v19)
4D Language Reference ( 4D v19.1)
4D Language Reference ( 4D v19.4)
4D Language Reference ( 4D v19.5)
4D Language Reference ( 4D v19.6)
4D Language Reference ( 4D v19.7)
4D Language Reference ( 4D v19.8)