Class Interpreter.CompilerImpl

  • All Implemented Interfaces:
    Compiler, ReflectiveVisitor
    Direct Known Subclasses:
    Nodes.CoreCompiler
    Enclosing class:
    Interpreter

    static class Interpreter.CompilerImpl
    extends RelVisitor
    implements Compiler, ReflectiveVisitor
    Walks over a tree of RelNode and, for each, creates a Node that can be executed in the interpreter.

    The compiler looks for methods of the form "visit(XxxRel)". A "visit" method must create an appropriate Node and put it into the node field.

    If you wish to handle more kinds of relational expressions, add extra "visit" methods in this or a sub-class, and they will be found and called via reflection.