This invention introduces a new concept called virtual construct intervals
(VCI), where each predicate interval is decomposed into one or more of
these construct intervals. These VCIs strictly cover the predicate
interval. Namely, every attribute value covered by the predicate interval
is also covered by at least one of the decomposed VCIs, and vice versa.
Each construct interval has a unique ID or interval coordinate and a set
of endpoints. A construct interval is considered activated when a
predicate interval using it in its decomposition is added to the system.
The predicate ID is then inserted into the ID lists associated with the
decomposed VCIs. To facilitate fast search, a bitmap vector is used to
indicate the activation of VCIs that cover an event value. The challenge
is to find an appropriate set of construct intervals to make predicate
decomposition simple and, more importantly, to build efficient bitmap
indexes. Because each construct interval covers only a small range of
attribute values, the invention also uses bitmap clipping to cut
unnecessary bitmap storage. To facilitate bitmap clipping, the invention
introduce the covering segment concept. Bit positions outside a covering
segment are pruned.