package edu.uci.ics.hivesterix.runtime.factory.evaluator; | |
import org.apache.hadoop.hive.ql.plan.ExprNodeNullDesc; | |
import edu.uci.ics.hivesterix.logical.expression.Schema; | |
import edu.uci.ics.hivesterix.runtime.evaluator.ExpressionTranslator; | |
import edu.uci.ics.hivesterix.runtime.evaluator.NullExpressionEvaluator; | |
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException; | |
import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalExpression; | |
import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.IVariableTypeEnvironment; | |
import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluator; | |
import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory; | |
import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider; | |
public class NullExpressionEvaluatorFactory implements ICopyEvaluatorFactory { | |
private static final long serialVersionUID = 1L; | |
private ExprNodeNullDesc expr; | |
private Schema schema; | |
public NullExpressionEvaluatorFactory(ILogicalExpression expression, | |
Schema intputSchema, IVariableTypeEnvironment env) | |
throws AlgebricksException { | |
try { | |
expr = (ExprNodeNullDesc) ExpressionTranslator.getHiveExpression( | |
expression, env); | |
} catch (Exception e) { | |
throw new AlgebricksException(e.getMessage()); | |
} | |
schema = intputSchema; | |
} | |
public ICopyEvaluator createEvaluator(IDataOutputProvider output) | |
throws AlgebricksException { | |
return new NullExpressionEvaluator(expr, schema.toObjectInspector(), | |
output); | |
} | |
public String toString() { | |
return "null expression evaluator factory: " + expr.toString(); | |
} | |
} |