: In an extensible database system, evaluation of a query plan is done in cooperation between a collection of operator implementation functions and a component of the DBMS that we call the query processor. Basically, the query processor constructs an operator tree for the query plan and then calls an evaluator function which traverses the tree, calling the operator functions in each node. This seemingly simple strategy is complicated by the fact that operator functions must be able to call for the evaluation of parameter expressions (e.g. predicates), and must be able to process streams of objects in a pipelined manner. Although query processing along these lines is implemented in most database systems, and certainly in all extensible database systems, the details of programming the parameter passing, organizing the interaction between stream operators, etc. are tricky, and seem to be buried in the code of the respective systems. We are not aware of any simple, crisp, clear published e...