public class EvalNodeSerializer extends SimpleEvalNodeVisitor<EvalNodeSerializer.EvalTreeProtoBuilderContext>
EvalNode
in a postfix traverse order. The postfix traverse order guarantees that all child nodes of some node N
were already visited when the node N is visited. This manner makes tree serialization possible in a simple logic.| Modifier and Type | Class and Description |
|---|---|
static class |
EvalNodeSerializer.EvalTreeProtoBuilderContext |
| Constructor and Description |
|---|
EvalNodeSerializer() |
visit, visitDefaultFunctionEval, visitInPredicatepublic static PlanProto.EvalNodeTree serialize(EvalNode evalNode)
public EvalNode visitUnaryEval(EvalNodeSerializer.EvalTreeProtoBuilderContext context, Stack<EvalNode> stack, UnaryEval unary)
visitUnaryEval in class SimpleEvalNodeVisitor<EvalNodeSerializer.EvalTreeProtoBuilderContext>public EvalNode visitBinaryEval(EvalNodeSerializer.EvalTreeProtoBuilderContext context, Stack<EvalNode> stack, BinaryEval binary)
visitBinaryEval in class SimpleEvalNodeVisitor<EvalNodeSerializer.EvalTreeProtoBuilderContext>public EvalNode visitConst(EvalNodeSerializer.EvalTreeProtoBuilderContext context, ConstEval constant, Stack<EvalNode> stack)
visitConst in class SimpleEvalNodeVisitor<EvalNodeSerializer.EvalTreeProtoBuilderContext>public EvalNode visitRowConstant(EvalNodeSerializer.EvalTreeProtoBuilderContext context, RowConstantEval rowConst, Stack<EvalNode> stack)
visitRowConstant in class SimpleEvalNodeVisitor<EvalNodeSerializer.EvalTreeProtoBuilderContext>public EvalNode visitField(EvalNodeSerializer.EvalTreeProtoBuilderContext context, Stack<EvalNode> stack, FieldEval field)
visitField in class SimpleEvalNodeVisitor<EvalNodeSerializer.EvalTreeProtoBuilderContext>public EvalNode visitBetween(EvalNodeSerializer.EvalTreeProtoBuilderContext context, BetweenPredicateEval between, Stack<EvalNode> stack)
visitBetween in class SimpleEvalNodeVisitor<EvalNodeSerializer.EvalTreeProtoBuilderContext>public EvalNode visitCaseWhen(EvalNodeSerializer.EvalTreeProtoBuilderContext context, CaseWhenEval caseWhen, Stack<EvalNode> stack)
visitCaseWhen in class SimpleEvalNodeVisitor<EvalNodeSerializer.EvalTreeProtoBuilderContext>public EvalNode visitIfThen(EvalNodeSerializer.EvalTreeProtoBuilderContext context, CaseWhenEval.IfThenEval ifCond, Stack<EvalNode> stack)
visitIfThen in class SimpleEvalNodeVisitor<EvalNodeSerializer.EvalTreeProtoBuilderContext>public EvalNode visitFuncCall(EvalNodeSerializer.EvalTreeProtoBuilderContext context, FunctionEval function, Stack<EvalNode> stack)
visitFuncCall in class SimpleEvalNodeVisitor<EvalNodeSerializer.EvalTreeProtoBuilderContext>public static PlanProto.Datum serialize(Datum datum)
Copyright © 2015 Apache Software Foundation. All Rights Reserved.