| CPC G06F 16/24544 (2019.01) [G06F 16/2456 (2019.01)] | 20 Claims |

|
1. A system, comprising:
at least one data processor; and
at least one memory storing instructions which, when executed by the at least one data processor, cause operations comprising:
receiving a query request including a join of a first column with a second column, wherein the join includes a range between a first predicate of the join in the first column and a second predicate of the join in the first column;
generating a query plan including an index join operator, wherein the index join operator includes a join handler configured to get, from a sorted dictionary at query plan execution, a first value identifier corresponding to the first predicate in the first column, a second value identifier corresponding to the second predicate in the first column, and, for one or more values in the first column between the first predicate and the second predicate, one or more intervening value identifiers between the first value identifier and the second value identifier;
executing the query plan including the index join operator, wherein the executing further comprises getting, from the sorted dictionary, the first value identifier, the second value identifier, and the one or more intervening value identifiers between the first value identifier and the second value identifier, and executing the index join operator using the first value identifier, the second value identifier, and the one or more intervening value identifiers to obtain a result set; and
responding to the query request by providing the result set.
|