public class TypeDeterminant extends SimpleAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>
| Constructor and Description |
|---|
TypeDeterminant(CatalogService catalog) |
visit, visitAlterTable, visitCreateTable, visitDropTable, visitFilter, visitGroupBy, visitHaving, visitInsert, visitJoin, visitLimit, visitProjection, visitRelationList, visitSort, visitTableSubQuery, visitValueListExprpostHook, preHook, visitAlterTablespace, visitAnd, visitCastExpr, visitConcatenate, visitCreateDatabase, visitDivide, visitDropDatabase, visitEquals, visitExcept, visitExistsPredicate, visitExplain, visitGreaterThan, visitGreaterThanOrEquals, visitInPredicate, visitIntersect, visitIsNullPredicate, visitLessThan, visitLessThanOrEquals, visitLikePredicate, visitMinus, visitModular, visitMultiply, visitNot, visitNotEquals, visitOr, visitPlus, visitQualifiedAsterisk, visitRegexpPredicate, visitRelation, visitScalarSubQuery, visitSetSession, visitSign, visitSimilarToPredicate, visitSimpleTableSubQuery, visitTargetExpr, visitTruncateTable, visitUnionpublic TypeDeterminant(CatalogService catalog)
public TajoDataTypes.DataType determineDataType(LogicalPlanner.PlanContext ctx, Expr expr) throws PlanningException
PlanningExceptionpublic TajoDataTypes.DataType visitUnaryOperator(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, UnaryOperator expr) throws PlanningException
visitUnaryOperator in class SimpleAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType visitBinaryOperator(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, BinaryOperator expr) throws PlanningException
visitBinaryOperator in class SimpleAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType computeBinaryType(OpType type, TajoDataTypes.DataType lhsDataType, TajoDataTypes.DataType rhsDataType) throws PlanningException
PlanningExceptionpublic TajoDataTypes.DataType visitBetween(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, BetweenPredicate expr) throws PlanningException
visitBetween in interface AlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>visitBetween in class SimpleAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType visitCaseWhen(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, CaseWhenPredicate caseWhen) throws PlanningException
visitCaseWhen in interface AlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>visitCaseWhen in class SimpleAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType visitColumnReference(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, ColumnReferenceExpr expr) throws PlanningException
visitColumnReference in interface AlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>visitColumnReference in class BaseAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType visitFunction(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, FunctionExpr expr) throws PlanningException
visitFunction in interface AlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>visitFunction in class SimpleAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType visitCountRowsFunction(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, CountRowsFunctionExpr expr) throws PlanningException
visitCountRowsFunction in interface AlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>visitCountRowsFunction in class SimpleAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType visitGeneralSetFunction(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, GeneralSetFunctionExpr setFunction) throws PlanningException
visitGeneralSetFunction in interface AlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>visitGeneralSetFunction in class SimpleAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType visitWindowFunction(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, WindowFunctionExpr windowFunc) throws PlanningException
visitWindowFunction in interface AlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>visitWindowFunction in class SimpleAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType visitDataType(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, DataTypeExpr expr) throws PlanningException
visitDataType in interface AlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>visitDataType in class SimpleAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType visitLiteral(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, LiteralValue expr) throws PlanningException
visitLiteral in interface AlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>visitLiteral in class SimpleAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType visitNullLiteral(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, NullLiteral expr) throws PlanningException
visitNullLiteral in interface AlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>visitNullLiteral in class SimpleAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType visitTimestampLiteral(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, TimestampLiteral expr) throws PlanningException
visitTimestampLiteral in interface AlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>visitTimestampLiteral in class SimpleAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType visitTimeLiteral(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, TimeLiteral expr) throws PlanningException
visitTimeLiteral in interface AlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>visitTimeLiteral in class SimpleAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType visitDateLiteral(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, DateLiteral expr) throws PlanningException
visitDateLiteral in interface AlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>visitDateLiteral in class BaseAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionpublic TajoDataTypes.DataType visitIntervalLiteral(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, IntervalLiteral expr) throws PlanningException
visitIntervalLiteral in interface AlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>visitIntervalLiteral in class BaseAlgebraVisitor<LogicalPlanner.PlanContext,TajoDataTypes.DataType>PlanningExceptionCopyright © 2015 Apache Software Foundation. All Rights Reserved.