Property group: Rowset
Property set: DBPROPSET_ROWSET
Typical R/W: R/W
Description: Notification Granularity
DBPROPVAL_NT_SINGLEROW— For methods that operate on multiple rows and generate multi-phased notifications, the provider calls IRowsetNotify::OnRowChange separately for each phase for each row. A cancellation affects a single row; it does not affect the other rows, and notifications are still sent for these rows.
DBPROPVAL_NT_MULTIPLEROWS— For each phase, and for methods that operate on multiple rows and generate multi-phased notifications, the provider calls OnRowChange once for all rows that succeed and once for all rows that fail. This separation can occur at each phase where a change can fail. For example, if IRowsetChange::DeleteRows deletes some rows and fails to delete others during the Preliminary Work phase, it calls OnRowChange twice: once with DBEVENTPHASE_SYNCHAFTER and the array of handles of rows that it deleted, and once with DBEVENTPHASE_FAILEDTODO and the array of handles of rows it failed to delete. A cancellation affects all rows with handles that were passed to OnRowChange.
DBPROP_NOTIFICATIONGRANULARITY does not affect how providers return notifications about events that affect columns or the entire rowset.
Providers make a single call to OnRowChange for methods that operate on multiple rows and generate a single-phased notification. DBPROP_NOTIFICATIONGRANULARITY does not affect the providers' behavior for these methods.