Transactions with D-ISAM
~~~~~~~~~~~~~~~~~~~~~~~~

How does D-ISAM perform transactions?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 The theory behind transaction processing is that a collection of changes to a 
 group of data files can be defined in such a way as to be able to undo these 
 changes at any time during the operation. 

 Changes to records during D-ISAM transactions are performed immediately 
 (other users will see changes made during a D-ISAM transaction before the
 transaction is committed) these changes can be un-done by rolling back the
 transaction.

 Note that the transaction processing logic will lock all records that are 
 changed within the transaction for the duration of the transaction.  
 In some instances it pays to keep the transaction cycle as short as possible 
 to allow other processes access to these records.

Enabling D-ISAM transactions in Easysoft Data Access for ISAM.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Two settings must be made in the server side datasource to enable D-ISAM
 based transactions, firstly transactions must be enabled by setting

   transactions = 1

 Secondly disam requires a transaction log file in which to record changes,
 all users using this facility must have read/write access to the transaction
 log file.

   transaction_log = {full file specification to transaction log}

 Please note that the transaction log file will continually grow in size and
 can be backed up and purged on a regular basis to reduce the file size.

 Windows Only
 =============

 Start -> Run : type in regedit (press return)

 Expand the following (dependant on whether you have a user or system
 datasource).

 HKEY_CURRENT_USER      (user datasource)
 HKEY_LOCAL_MACHINE     (system datasource)

 Under either of these trees open out the following

 Software->ODBC->ODBC.INI

 You should now see a list of datasources, click on the datasource which you
 wish to change, all current datasource values will be listed in the right
 hand panel.

 To enable transactions in disam simply right click in the right hand panel
 and select New -> String Value, call this entry transactions and set the value
 to 1 (by double clicking the newly created entry).
 
 Now repeat the procedure for the transaction log file, right click the right
 hand panel and select (New -> String Value) this value needs to be called
 transaction_log and should be set to the current location of your isam
 transaction log. If you don't currently have a isam transaction log simply
 set this to c:\disam.trn

Transaction Restrictions with Easysoft Data Access for ISAM
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ALTER, CREATE, DROP, GRANT and REVOKE statements are performed outside of 
 the transaction processing cycle.

 INSERT, UPDATE and DELETE are the only statements on which transaction
 processing can be performed.


