|< < 41 > >|

Iterators

class Iterator { public: void open() = 0; Row* next() = 0; void close() = 0; };

How Iterators will be used

  • A query execution plan is built out of operators.

  • These operators are like Relational Algebra operators, but they also specify an implementation, e.g.
    • SelectScan: Implement the select operator by scanning the entire input and applying a predicate to each row.
    • SelectIndex: Implement the select operator by using an index.

  • Each of these operators is an Iterator.

|< < 41 > >|