You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by Apache Wiki <wi...@apache.org> on 2006/10/12 05:01:48 UTC

[Ws Wiki] Update of "ChangeSummaryProcessing" by KevinWilliams

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/ChangeSummaryProcessing

New page:
SDO provides an important feature called the !ChangeSummary.  Using this feature, a graph of related !DataObjects can track changes made to iteself.  These changes include additions to the graph, deletions, !DataObject property (attribute) changes and even changes to object relationships.

The RDB DAS leverages the SDO !ChangeSummary to drive graph chages to a database.  Here is a simple example:

{{{
   DAS das = DAS.FACTORY.createDAS(getConnection());
   Command select = das.createCommand("Select * from CUSTOMER where ID = 1");
   DataObject root = select.executeQuery();

   DataObject customer = (DataObject) root.get("CUSTOMER[1]");
   customer.set("LASTNAME", "Pavick");
   das.applyChanges(root);
}}}

The first half of this example creates a new read command and executes it.  The result is a graph of !DataObjects (in this case just one) represented by the containing "root".

The second half of the example makes modification to a single object in the graph and then calls the applyChanges() method.  As part of the applyChanges processing, the das will scan the SDO !ChangeSummary and notice the modified !DataObject.  It will then generate the UPDATE statement required to reflect the change to the database:

{{{
   UPDATE CUSTOMER SET LASTNAME = 'Pavick' WHERE ID = 1
}}}

Notice that only a single column is updated rahther than all columns.  This is because the SDO !ChangeSummary has enough fidelity to track changes on a property-by-property bases and the das has the ability to generate partial updates.

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@ws.apache.org
For additional commands, e-mail: general-help@ws.apache.org