Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Ws Wiki" for change 
notification.

The following page has been changed by KevinWilliams:
http://wiki.apache.org/ws/Tuscany/TuscanyJava/DAS_Java_Overview/RDBDAS_Java_User_Guide/OCC

------------------------------------------------------------------------------
- The RDB DAS is intended for use in disconnected scenarios.  When the DAS 
returns a graph of SDO !DataObjects as the result of a query, there are no 
locks held on the  underlying database and the data is no longer associated 
with any database connection or transaction.  Though locks are not held, the 
DAS does employ a mechanism called 
[http://en.wikipedia.org/wiki/Optimistic_locking Optimistic Concurrency 
Control] to manage concurrency.
+ The RDB DAS is intended for use in disconnected scenarios.  When the DAS 
returns a graph of SDO !DataObjects as the result of a query, there are no 
locks held on the  underlying database and the data is no longer associated 
with any database connection or transaction.  Though locks are not held, the 
DAS does employ a mechanism called 
[http://en.wikipedia.org/wiki/Optimistic_locking Optimistic Concurrency 
Control] (OCC) to manage concurrency.
  
+ Basically, when OCC is being utilized, the DAS checks whether the state of 
the database has changed since the original data was read before applying any 
writes to the same location.  For example, suppose that a DAS client reads a 
set of Customers, modifys one and then attempts to write the change back to the 
database:
+ 
+ {{{
+    Command select = das.createCommand("Select * from CUSTOMER where LASTNAME 
= 'Williams'");
+    DataObject root = select.executeQuery();
+ 
+    DataObject customer = (DataObject) root.get("CUSTOMER[1]");
+    customer.set("LASTNAME", "Pavick");
+ 
+    //Some period of time passes in which "CUSTOMER[1]" could be modified by 
another process or application
+ 
+    das.applyChanges(root);
+ }}}
+ 
+ If OCC is enabled then as part of "applyChanges" processing the DAS will 
ensure that the table row representing "CUSTOMER[1]" has not been changed since 
it was read.
+ 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to