Timer-Driven Triggers allow users to monitor interesting tuples or interesting
changes to tuples of a view. Trigger condition testing takes place periodically, i.e., once
every few hours, days or weeks. When the timer of a trigger expires, a new copy of the
view is retrieved and the trigger predicates applied to that view. Trigger predicates could
be transition predicates referring to the attribute values of tuples of a view from the
previous timer expiration.
Timer Triggers differ from conventional triggers, in that the trigger testing is not
done for updated tuples only. Timer triggers could be fired on tuples of a view simply
because they satisfy the predicate trigger predicate. Since the trigger conditions are tested
every so often, high update rate tables can have a lot of timer triggers defined on them.
The goal of this thesis is to design a timer trigger system that works hand-in-hand
with a trigger processor and complements its features. The semantics of the timer trigger
differ from that of regular triggers and are explained by a brute-force approach. Several enhanced algorithms can be written that do better than the brute-force approach, but do
not change the semantics. A timer trigger system also provides the user an option of
replacing expensive join and aggregate triggers with timer triggers.