ISequentialStream: Notes

Limitations: None

Implementation Notes

In deferred update mode, when a row's update fails, this provider does not release any of the ISequentialStream pointers due to the lack of knowledge about which pointers have and have not been read. The row is in an unknown state. If the consumer attempts to update again, failure might occur. Because responsibility for a reference on these failed interfaces still exists, this provider releases them in the following cases:

  • If the consumer calls SetData for a given ISS-bound BLOB object ? the old interface will be released and replaced with the new one in the deferred-update buffer.

  • If the consumer calls Undo for the row.

  • If the consumer resynchs the row.

  • If the consumer releases the rowset.

Interface pointers are always released if the back-end updates succeed.

This topic is a part of: