public class TypeCheckingExpVisitor extends LogicalExpressionVisitor
currentWalker, DEFAULT_SCOPE, plan| Constructor and Description |
|---|
TypeCheckingExpVisitor(OperatorPlan expPlan,
CompilationMessageCollector msgCollector,
LogicalRelationalOperator relOp) |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
schemaEqualsForMatching(Schema inputSchema,
Schema udfSchema,
EvalFunc.SchemaType udfSchemaType,
boolean ignoreByteArrays)
Compare two schemas for equality for argument matching purposes.
|
void |
visit(AddExpression binOp) |
void |
visit(AndExpression andExp) |
void |
visit(BinCondExpression binCond) |
void |
visit(CastExpression cast)
For Basic Types:
0) Casting to itself is always ok
1) Casting from number to number is always ok
2) ByteArray to anything is ok
3) number to chararray is ok
For Composite Types:
Recursively traverse the schemas till you get a basic type
|
void |
visit(DereferenceExpression deref) |
void |
visit(DivideExpression binOp) |
void |
visit(EqualExpression binOp) |
void |
visit(GreaterThanEqualExpression binOp) |
void |
visit(GreaterThanExpression binOp) |
void |
visit(LessThanEqualExpression binOp) |
void |
visit(LessThanExpression binOp) |
void |
visit(MapLookupExpression map) |
void |
visit(ModExpression binOp) |
void |
visit(MultiplyExpression binOp) |
void |
visit(NegativeExpression negExp) |
void |
visit(NotEqualExpression binOp) |
void |
visit(NotExpression notExp) |
void |
visit(OrExpression orExp) |
void |
visit(RegexExpression rg)
RegexExpression expects CharArray as input
Itself always returns Boolean |
void |
visit(SubtractExpression binOp) |
void |
visit(UserFuncExpression func) |
visit, visit, visit, visitgetPlan, popWalker, pushWalker, visitpublic TypeCheckingExpVisitor(OperatorPlan expPlan, CompilationMessageCollector msgCollector, LogicalRelationalOperator relOp) throws FrontendException
FrontendExceptionpublic void visit(AddExpression binOp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(SubtractExpression binOp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(MultiplyExpression binOp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(DivideExpression binOp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(ModExpression binOp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(NegativeExpression negExp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(NotExpression notExp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(OrExpression orExp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(AndExpression andExp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(LessThanExpression binOp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(LessThanEqualExpression binOp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(GreaterThanExpression binOp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(GreaterThanEqualExpression binOp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(EqualExpression binOp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(NotEqualExpression binOp) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(CastExpression cast) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(RegexExpression rg) throws FrontendException
RegexExpression expects CharArray as input
Itself always returns Booleanvisit in class LogicalExpressionVisitorrg - FrontendExceptionpublic void visit(BinCondExpression binCond) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(MapLookupExpression map) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(DereferenceExpression deref) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic void visit(UserFuncExpression func) throws FrontendException
visit in class LogicalExpressionVisitorFrontendExceptionpublic static boolean schemaEqualsForMatching(Schema inputSchema, Schema udfSchema, EvalFunc.SchemaType udfSchemaType, boolean ignoreByteArrays) throws FrontendException
inputSchema - udfSchema - ignoreByteArrays - FrontendExceptionCopyright © 2007-2017 The Apache Software Foundation