Indexing and searching for database records with defined validity intervals
First Claim
1. A computer-implemented method of performing an electronic database search, the method comprising:
- receiving a request to identify database records in a database that satisfy a specified condition, the records being of a type that has, for a time property, a defined validity range bounded by a value for a first attribute and a value for a second attribute, wherein the specified condition is of a type that is satisfied for a record when for a record both a first inequality condition on the first attribute value and a second inequality condition on the second attribute value are satisfied, the database permitting only one inequality condition in a scan of an index of the database;
executing a first scan of the index for the database records, the index including, for each of the records, the first attribute value for the record and an encoded value of the second attribute value for the record, the encoded value being one of multiple unique digital values for each of multiple consecutive ranges for the property within which the second attribute falls, each different unique digital value defined for each of the multiple defined consecutive ranges being a different binary code, each of the ranges comprising at least two values, the first scan identifying records for which both the inequality condition on the first attribute value and an equality condition on the encoded value for the second attribute value are satisfied;
executing a second scan of the index of the records, the second scan identifying, from among the records identified in the first scan using the inequality condition on the first attribute values and the equality condition on the encoded values for the second attribute values, records for which the inequality condition on the unencoded second attribute values is also satisfied, the equality condition on the encoded value for the second attribute filtering all records for which no value within the range corresponding to the encoded value would satisfy the inequality condition on the second attribute; and
returning data characterizing the records identified in the second scan.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented method of indexing an electronic database record to facilitate searching is provided, as well as a method of performing a search using the index. The method includes receiving a value for one of a start field and an end field for a database record that defines a validity range for a property. The method further includes assigning a corresponding one of multiple defined index values for the received value. There is a different index value defined for each of multiple defined consecutive ranges for the property. The assigned index value corresponds to a one of the multiple defined consecutive ranges within which the received value falls. The method also includes storing the assigned index value in association with the database record in a manner that is searchable.
-
Citations
18 Claims
-
1. A computer-implemented method of performing an electronic database search, the method comprising:
-
receiving a request to identify database records in a database that satisfy a specified condition, the records being of a type that has, for a time property, a defined validity range bounded by a value for a first attribute and a value for a second attribute, wherein the specified condition is of a type that is satisfied for a record when for a record both a first inequality condition on the first attribute value and a second inequality condition on the second attribute value are satisfied, the database permitting only one inequality condition in a scan of an index of the database; executing a first scan of the index for the database records, the index including, for each of the records, the first attribute value for the record and an encoded value of the second attribute value for the record, the encoded value being one of multiple unique digital values for each of multiple consecutive ranges for the property within which the second attribute falls, each different unique digital value defined for each of the multiple defined consecutive ranges being a different binary code, each of the ranges comprising at least two values, the first scan identifying records for which both the inequality condition on the first attribute value and an equality condition on the encoded value for the second attribute value are satisfied; executing a second scan of the index of the records, the second scan identifying, from among the records identified in the first scan using the inequality condition on the first attribute values and the equality condition on the encoded values for the second attribute values, records for which the inequality condition on the unencoded second attribute values is also satisfied, the equality condition on the encoded value for the second attribute filtering all records for which no value within the range corresponding to the encoded value would satisfy the inequality condition on the second attribute; and returning data characterizing the records identified in the second scan. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product tangibly embodied in a storage medium comprising program instructions that when executed perform a method of performing an electronic database search, wherein the method comprises:
-
receiving a request to identify database records in a database that satisfy a specified condition, the records being of a type that has, for a time property, a defined validity range bounded by a value for a first attribute and a value for a second attribute, wherein the specified condition is of a type that is satisfied for a record when for a record both a first inequality condition on the first attribute value and a second inequality condition on the second attribute value are satisfied, the database permitting only one inequality condition in a scan of an index of the database; executing a first scan of the index for the database records, the index including, for each of the records, the first attribute value for the record and an encoded value of the second attribute value for the record, the encoded value being one of multiple unique digital values for each of multiple consecutive ranges for the property within which the second attribute falls, each different unique digital value defined for each of the multiple defined consecutive ranges being a different binary code, each of the ranges comprising at least two values, the first scan identifying records for which both the inequality condition on the first attribute value and an equality condition on the encoded value for the second attribute value are satisfied; executing a second scan of the index of the records, the second scan identifying, from among the records identified in the first scan using the inequality condition on the first attribute values and the equality condition on the encoded values for the second attribute values, records for which the inequality condition on the unencoded second attribute values is also satisfied, the equality condition on the encoded value for the second attribute filtering all records for which no value within the range corresponding to the encoded value would satisfy the inequality condition on the second attribute; and returning data characterizing the records identified in the second scan. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computing system performing an electronic database search, the system comprising:
-
memory; and one or more processors that perform operations comprising; receiving a request to identify database records in a database that satisfy a specified condition, the records being of a type that has, for a time property, a defined validity range bounded by a value for a first attribute and a value for a second attribute, wherein the specified condition is of a type that is satisfied for a record when for a record both a first inequality, condition on the first attribute value and a second inequality condition on the second attribute value are satisfied, the database permitting only one inequality condition in a scan of an index of the database; executing a first scan of the index for the database records, the index including, for each of the records, the first attribute value for the record and an encoded value of the second attribute value for the record, the encoded value being one of multiple unique digital values for each of multiple consecutive ranges for the property within which the second attribute falls, each different unique digital value defined for each of the multiple defined consecutive ranges being a different binary code, each of the ranges comprising at least two values, the first scan identifying records for which both the inequality condition on the first attribute value and an equality condition on the encoded value for the second attribute value are satisfied; executing a second scan of the index of the records, the second scan identifying, from among the records identified in the first scan using the inequality condition on the first attribute values and the equality condition on the encoded values for the second attribute values, records for which the inequality condition on the unencoded second attribute values is also satisfied, the equality condition on the encoded value for the second attribute filtering all records for which no value within the range corresponding to the encoded value would satisfy the inequality condition on the second attribute; and returning data characterizing the records identified in the second scan. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification