notifyUpdates method

void notifyUpdates(
  1. Set<TableUpdate> updates
)

Dispatches the set of updates to the stream query manager.

This method is more specific than markTablesUpdated in the presence of triggers or foreign key constraints. Drift needs to support both when calculating which streams to update. For instance, consider a simple database with two tables (a and b) and a trigger inserting into b after a delete on a). Now, an insert on a should not update a stream listening on table b, but a delete should! This additional information is not available with markTablesUpdated, so notifyUpdates can be used to more efficiently calculate stream updates in some instances.

Implementation

void notifyUpdates(Set<TableUpdate> updates) {
  final withRulesApplied = attachedDatabase.streamUpdateRules.apply(updates);
  resolvedEngine.streamQueries.handleTableUpdates(withRulesApplied);
}