Apache Tuscany > Home > DAS Overview > DAS C++ > DAS C++ Documentation Menu > RDB DAS C++ - User Guide > RDB DAS CPP - PartialUpdate User List | Dev List | Issue Tracker  

PartialUpdate

The RDB DAS uses the SDO Change Summary to generate a set of database write operations. Rather than generated a statement to update all columns in a table that maps to a SDO DataObject Type, the DAS generates statements that update ony those columns that map to a modified DataObject property. For example, consider a Customer DataObject that has had the LastName property changed. The partial update statement generated by the DAS will look something like this:

UPDATE CUSTOMER SET LASTNAME = 'Tuscany' WHERE ID = '1'

Rather than a statement that updates all columns like this:

UPDATE CUSTOMER SET FIRSTNAME = 'APACHE', SET LASTNAME = 'TUSCANY', SET ADDRESS = 'USA', SET PHONE = '555-5555', SET AGE = '7', SET SHOESIZE = '15' WHERE ID = '1'

There are a couple of very good reasons for using a partial update approach. For one, a performance boost can be realized by applications writing to wide tables. For example, tables with over 100 columns are not unheard of. It can be a huge waste of resource to update 100 columns when only one was modified. Another reason for partial update is that some databases employ triggerson specific columns in a table. Partial updates are necessary when column triggers are employed to avoid tripping the trigger on every row update rather than only on updates to the specific column.

website stats