How do we combine Operations?
•The iterator model. Each operation is implemented by 3 functions:
–Open: sets up the data structures and performs initializations
–GetNext: returns the the next tuple of the result.
–Close: ends the operations. Cleans up the data structures.
•Enables pipelining!
•Contrast with data-driven materialize model.
•Sometimes it’s the same (e.g., sorted scan).