Creating bitmaps from multi-level identifiers
First Claim
1. A method for generating a bitmap for a body of records, the method comprising the steps of:
- identifying a plurality of levels of multilevel identifiers used to identify records in said body of records, wherein said plurality of levels includes a leading level and one or more non-leading levels;
determining a number of distinct values for each non-leading level of said plurality of levels;
determining a number of distinct combinations of non-leading level values based on said number of distinct values for each non-leading level; and
generating a bitmap that includes a bit sequence for every value of said leading level, wherein each bit sequence includes one bit for every distinct combination of said non-leading level values.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for generating and using bitmaps in a database system that employs multi-level identifiers is provided. The generated bitmaps include bits that correspond to the identifiers that have been assigned to existing records, as well as bits that correspond to all intervening multi-level identifiers that have not yet been assigned. Therefore, when new rows are inserted into the table associated with the bitmap, new bits do not have to be inserted into the existing bitmap. When existing rows are deleted, the bits that correspond to the deleted rows are not themselves deleted, but are simply set to a value that indicates that the corresponding row does not satisfy the criteria associated with the bitmap.
-
Citations
19 Claims
-
1. A method for generating a bitmap for a body of records, the method comprising the steps of:
-
identifying a plurality of levels of multilevel identifiers used to identify records in said body of records, wherein said plurality of levels includes a leading level and one or more non-leading levels; determining a number of distinct values for each non-leading level of said plurality of levels; determining a number of distinct combinations of non-leading level values based on said number of distinct values for each non-leading level; and generating a bitmap that includes a bit sequence for every value of said leading level, wherein each bit sequence includes one bit for every distinct combination of said non-leading level values. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A database system comprising:
-
a body of records stored on one or more storage devices, wherein each record in said body of records is identified by a multi-level identifier that includes a leading level and one or more nonleading levels; a bitmap associated with said body of records, the bitmap comprising a series of bit sequences; wherein each distinct value of said leading level of said multi-level identifier corresponds to a distinct bit sequence in said series of bit sequences; wherein each bit sequence includes one bit for every possible distinct combination of non-leading level values; wherein bits in said bitmap that correspond to multi-level identifiers that are assigned to records that satisfy a criteria associated with said bitmap are set to a first value; wherein bits in said bitmap that do not correspond to multi-level identifiers that are assigned to records that satisfy said criteria associated with said bitmap are not set to said first value; a mechanism for identifying a bit within said bitmap that corresponds to a record based on the multi-level identifier assigned to the record; and a mechanism for determining the identifier of a record associated with a bit in said bitmap based on the position of said bit within said bitmap. - View Dependent Claims (9, 10, 11, 12, 16, 17, 18, 19)
-
-
13. A computer readable medium having stored thereon sequences of instructions for generating a bitmap for a body of records, the sequences of instructions including instructions for performing the steps of:
-
identifying a plurality of levels of multilevel identifiers used to identify records in said body of records, wherein said plurality of levels includes a leading level and one or more non-leading levels; determining a number of distinct values for each non-leading level of said plurality of levels; determining a number of distinct combinations of non-leading level values based on said number of distinct values for each non-leading level; and generating a bitmap that includes a bit sequence for every value of said leading level, wherein each bit sequence includes one bit for every distinct combination of said non-leading level values. - View Dependent Claims (14, 15)
-
Specification