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]
