Salesforce

Multi-User Considerations When Defining Data Source Modes (Magic xpa 4.x)

« Go Back

Information

 
Created BySalesforce Service User
Approval Process StatusPublished
Objective
Description

Multi-User Considerations When Defining Data Source Modes (Magic xpa 4.x)

Data source locks are issued when either None or Read is selected for the Share mode of a data source within a task. Magic xpa locks this data source exclusively. The behavior for an exclusive lock depends on the particular DBMS. Some DBMS systems support exclusive locks; other DBMS systems do not. In Oracle, for example, although the data source is locked exclusively, other users are able to read from the data source. Therefore the use of Share mode=N is invalid.

It is recommended that the developer be aware of support limitations for exclusive locks by the selected DBMS.

  • A data source lock is only valid within a transaction. Do not use record level transactions with a data source lock. Magic xpa will behave as if the entire data source is locked, and will not let additional users access other records in the data source.

  • Data source locks should be avoided if possible, because they greatly diminish concurrency.

  • The developer can issue a Magic xpa lock at the data source level. Note that for exclusive locking the same limitations apply, as described above.

  • Magic xpa issues a database lock when the Write option has been selected for both the Access mode and Share mode. If the transaction is in a Deferred mode, a database lock is not issued and a Magic xpa lock is issued, using the mglock file. Be aware that the Magic xpa lock is only released once the transaction ends.

  • In Browser tasks, database locks or data source locks do not apply, because there is no physical transaction. Only logical Magic xpa locks apply to browser tasks.

  • In MSSQL, the record locking default is physical locking. Magic xpa sends a SELECT …UPDLOCK command to the database that is similar to the SELECT … FOR UPDATE command in Oracle. This default differs from previous versions of Magic, which was a logical lock (that is, a regular SELECT statement was sent to the database using all its selected columns). To change the default, refer to SQL Considerations. Note that in a Browser task, there is only logical locking.

Reference
Attachment 
Attachment