Visibility of Pending Changes

If the consumer completely releases and then refetches a row with a pending update or delete, the visibility of that pending update or delete depends on whether the rowset exposes IRowsetIdentity. If the rowset exposes IRowsetIdentity, it appears as if there is only a single instance of any given row within the rowset. Thus, the rowset recognizes that the newly fetched row matches the existing row, which contains the pending update or delete, and returns a handle through which the pending update or delete is visible. If the rowset does not expose IRowsetIdentity, the rowset can contain multiple copies of the same row and might return a handle through which the pending update or delete is not visible. For more information, see "Uniqueness of Rows in the Rowset" in Chapter 4.

Whether methods that fetch rows can retrieve pending insert rows depends on the DBPROP_RETURNPENDINGINSERTS property. Consumers should be aware that many providers cannot return pending inserts because they use the row-returning mechanisms of the underlying data source. Because pending inserts have not yet been transmitted to the data source, the mechanisms there cannot return them.