1. A method for determining whether a change affects results produced by queries that belong to a set of registered queries, the method comprising: for a table referenced in a query from the set of registered queries, generating a filter condition based, at least in part, on a predicate of the query; determining whether the filter condition is satisfied by either (a) a before image of a row of the table, wherein the before image reflects the state of the row before the row was modified by a transaction, or (b) an after image of the row, wherein the after image of the row reflects the state of the row after the row was modified by the transaction; in response to determining that the filter condition is satisfied by either the before image or the after image, adding the query to a first set of queries, from the set of registered queries, whose result sets may have been affected by the transaction; wherein at least one query in the set of registered queries is not added to the first set of queries because a condition associated with the at least one query is not satisfied by either the before image or the after image; from among the first set of queries, determining a second set of queries that have result sets that were actually affected by the transaction; wherein one or more queries in the first set of queries are not in the second set of queries because the result sets of the one or more queries were not actually affected by the transaction; and sending notifications based on the second set of queries; wherein the method is performed by one or more computing devices.