Package org.apache.drill.exec.expr.CodeGenerator

Examples of org.apache.drill.exec.expr.CodeGenerator.HoldingContainer


    @Override
    public HoldingContainer visitFunctionCall(FunctionCall e, CodeGenerator<?> generator) throws RuntimeException {
      if (constantBoundaries.contains(e)) {
        generator.getMappingSet().enterConstant();
        HoldingContainer c = super.visitFunctionCall(e, generator);
        generator.getMappingSet().exitConstant();
        return c;
      } else {
        return super.visitFunctionCall(e, generator);
      }
View Full Code Here


    @Override
    public HoldingContainer visitIfExpression(IfExpression e, CodeGenerator<?> generator) throws RuntimeException {
      if (constantBoundaries.contains(e)) {
        generator.getMappingSet().enterConstant();
        HoldingContainer c = super.visitIfExpression(e, generator);
        generator.getMappingSet().exitConstant();
        return c;
      } else {
        return super.visitIfExpression(e, generator);
      }
View Full Code Here

    @Override
    public HoldingContainer visitSchemaPath(SchemaPath e, CodeGenerator<?> generator) throws RuntimeException {
      if (constantBoundaries.contains(e)) {
        generator.getMappingSet().enterConstant();
        HoldingContainer c = super.visitSchemaPath(e, generator);
        generator.getMappingSet().exitConstant();
        return c;
      } else {
        return super.visitSchemaPath(e, generator);
      }
View Full Code Here

    @Override
    public HoldingContainer visitLongConstant(LongExpression e, CodeGenerator<?> generator) throws RuntimeException {
      if (constantBoundaries.contains(e)) {
        generator.getMappingSet().enterConstant();
        HoldingContainer c = super.visitLongConstant(e, generator);
        generator.getMappingSet().exitConstant();
        return c;
      } else {
        return super.visitLongConstant(e, generator);
      }
View Full Code Here

    @Override
    public HoldingContainer visitDoubleConstant(DoubleExpression e, CodeGenerator<?> generator) throws RuntimeException {
      if (constantBoundaries.contains(e)) {
        generator.getMappingSet().enterConstant();
        HoldingContainer c = super.visitDoubleConstant(e, generator);
        generator.getMappingSet().exitConstant();
        return c;
      } else {
        return super.visitDoubleConstant(e, generator);
      }
View Full Code Here

    @Override
    public HoldingContainer visitBooleanConstant(BooleanExpression e, CodeGenerator<?> generator)
        throws RuntimeException {
      if (constantBoundaries.contains(e)) {
        generator.getMappingSet().enterConstant();
        HoldingContainer c = super.visitBooleanConstant(e, generator);
        generator.getMappingSet().exitConstant();
        return c;
      } else {
        return super.visitBooleanConstant(e, generator);
      }
View Full Code Here

   
    @Override
    public HoldingContainer visitUnknown(LogicalExpression e, CodeGenerator<?> generator) throws RuntimeException {
      if (constantBoundaries.contains(e)) {
        generator.getMappingSet().enterConstant();
        HoldingContainer c = super.visitUnknown(e, generator);
        generator.getMappingSet().exitConstant();
        return c;
      } else {
        return super.visitUnknown(e, generator);
      }
View Full Code Here

    @Override
    public HoldingContainer visitQuotedStringConstant(QuotedString e, CodeGenerator<?> generator)
        throws RuntimeException {
      if (constantBoundaries.contains(e)) {
        generator.getMappingSet().enterConstant();
        HoldingContainer c = super.visitQuotedStringConstant(e, generator);
        generator.getMappingSet().exitConstant();
        return c;
      } else {
        return super.visitQuotedStringConstant(e, generator);
      }
View Full Code Here

  }


  @Override
  public HoldingContainer renderEnd(CodeGenerator<?> g, HoldingContainer[] inputVariables, JVar[]  workspaceJVars) {
    HoldingContainer out = g.declare(returnValue.type, false);
    JBlock sub = new JBlock();
    g.getEvalBlock().add(sub);
    JVar internalOutput = sub.decl(JMod.FINAL, g.getHolderType(returnValue.type), returnValue.name, JExpr._new(g.getHolderType(returnValue.type)));
    addProtectedBlock(g, sub, output, null, workspaceJVars);
    sub.assign(out.getHolder(), internalOutput);

    generateBody(g, BlockType.RESET, reset, workspaceJVars);
    generateBody(g, BlockType.CLEANUP, cleanup, workspaceJVars);
    return out;
  }
View Full Code Here

    return false;
  }
 
  public HoldingContainer renderEnd(CodeGenerator<?> g, HoldingContainer[] inputVariables, JVar[]  workspaceJVars){
    generateBody(g, BlockType.SETUP, setupBody, workspaceJVars);
    HoldingContainer c = generateEvalBody(g, inputVariables, evalBody, workspaceJVars);
    generateBody(g, BlockType.RESET, resetBody, workspaceJVars);
    generateBody(g, BlockType.CLEANUP, cleanupBody, workspaceJVars);
    return c;
  }
View Full Code Here

TOP

Related Classes of org.apache.drill.exec.expr.CodeGenerator.HoldingContainer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.