[This is preliminary documentation and subject to change.]
This is the ApplyTransform method of the MsiDatabase object. This method applies the given transform to this database.
object.ApplyTransform storage, errorConditions
iteAddExistingRow | Adding a row that already exists. |
iteDelNonExistingRow | Deleting a row that doesn't exist. |
iteAddExistingTable | Adding a table that already exists. |
iteDelNonExistingTable | Deleting a table that doesn't exist. |
iteUpdNonExistingRow | Updating a row that doesn't exist. |
The ApplyTransform method delays transforming tables until the last possible moment. The steps taken in ApplyTransform are to immediately transform the table and column catalogs for the database. The table and column catalogs are updated according to what table is added or deleted and what column is added (no deletion of columns is allowed). If a table is currently loaded in memory and needs to be transformed, it is transformed then. Else, the table state is set to that requiring a transform so that when the table is loaded, or when the database is committed, the transform is applied. Transform in this instance means that the actual (row) data of the table is added, deleted, or updated.