Class TernaryExpression
- java.lang.Object
-
- org.apache.iotdb.db.mpp.plan.expression.Expression
-
- org.apache.iotdb.db.mpp.plan.expression.ternary.TernaryExpression
-
- Direct Known Subclasses:
BetweenExpression
public abstract class TernaryExpression extends Expression
-
-
Field Summary
Fields Modifier and Type Field Description protected ExpressionfirstExpressionprotected ExpressionsecondExpressionprotected ExpressionthirdExpression-
Fields inherited from class org.apache.iotdb.db.mpp.plan.expression.Expression
inputColumnIndex, isConstantOperandCache
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedTernaryExpression(java.nio.ByteBuffer byteBuffer)protectedTernaryExpression(Expression firstExpression, Expression secondExpression, Expression thirdExpression)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description <R,C>
Raccept(ExpressionVisitor<R,C> visitor, C context)Accessible forExpressionVisitor, useExpressionVisitor.process(org.apache.iotdb.db.mpp.plan.expression.Expression, C)instead.voidbindInputLayerColumnIndexWithExpression(java.util.Map<java.lang.String,java.util.List<InputLocation>> inputLocations)voidbindInputLayerColumnIndexWithExpression(UDTFPlan udtfPlan)voidcollectPaths(java.util.Set<org.apache.iotdb.commons.path.PartialPath> pathSet)voidconcat(java.util.List<org.apache.iotdb.commons.path.PartialPath> prefixPaths, java.util.List<Expression> resultExpressions)voidconstructUdfExecutors(java.util.Map<java.lang.String,UDTFExecutor> expressionName2Executor, java.time.ZoneId zoneId)java.util.List<Expression>getExpressions()returns the DIRECT children expressions if it has any, otherwise an EMPTY list will be returnedExpressiongetFirstExpression()ExpressiongetSecondExpression()ExpressiongetThirdExpression()booleanisConstantOperandInternal()Sub-classes should override this method indicating if the expression is a constant operandbooleanisMappable(TypeProvider typeProvider)booleanisTimeSeriesGeneratingFunctionExpression()booleanisUserDefinedAggregationFunctionExpression()protected abstract java.lang.Stringoperator()voidremoveWildcards(WildcardsRemover wildcardsRemover, java.util.List<Expression> resultExpressions)protected voidserialize(java.io.DataOutputStream stream)protected voidserialize(java.nio.ByteBuffer byteBuffer)voidupdateStatisticsForMemoryAssigner(LayerMemoryAssigner memoryAssigner)-
Methods inherited from class org.apache.iotdb.db.mpp.plan.expression.Expression
checkInputExpressionDataType, deserialize, equals, getExpressionString, getExpressionStringInternal, getExpressionType, getInputColumnIndex, hashCode, inferTypes, isBuiltInAggregationFunctionExpression, isCompareBinaryExpression, isConstantOperand, iterator, serialize, serialize, toString
-
-
-
-
Field Detail
-
firstExpression
protected final Expression firstExpression
-
secondExpression
protected final Expression secondExpression
-
thirdExpression
protected final Expression thirdExpression
-
-
Constructor Detail
-
TernaryExpression
protected TernaryExpression(Expression firstExpression, Expression secondExpression, Expression thirdExpression)
-
TernaryExpression
protected TernaryExpression(java.nio.ByteBuffer byteBuffer)
-
-
Method Detail
-
getFirstExpression
public Expression getFirstExpression()
-
getSecondExpression
public Expression getSecondExpression()
-
getThirdExpression
public Expression getThirdExpression()
-
accept
public <R,C> R accept(ExpressionVisitor<R,C> visitor, C context)
Description copied from class:ExpressionAccessible forExpressionVisitor, useExpressionVisitor.process(org.apache.iotdb.db.mpp.plan.expression.Expression, C)instead.- Overrides:
acceptin classExpression
-
isConstantOperandInternal
public boolean isConstantOperandInternal()
Description copied from class:ExpressionSub-classes should override this method indicating if the expression is a constant operand- Specified by:
isConstantOperandInternalin classExpression
-
isTimeSeriesGeneratingFunctionExpression
public boolean isTimeSeriesGeneratingFunctionExpression()
- Overrides:
isTimeSeriesGeneratingFunctionExpressionin classExpression
-
isUserDefinedAggregationFunctionExpression
public boolean isUserDefinedAggregationFunctionExpression()
- Overrides:
isUserDefinedAggregationFunctionExpressionin classExpression
-
getExpressions
public java.util.List<Expression> getExpressions()
Description copied from class:Expressionreturns the DIRECT children expressions if it has any, otherwise an EMPTY list will be returned- Specified by:
getExpressionsin classExpression
-
concat
public final void concat(java.util.List<org.apache.iotdb.commons.path.PartialPath> prefixPaths, java.util.List<Expression> resultExpressions)- Specified by:
concatin classExpression
-
removeWildcards
public final void removeWildcards(WildcardsRemover wildcardsRemover, java.util.List<Expression> resultExpressions) throws LogicalOptimizeException
- Specified by:
removeWildcardsin classExpression- Throws:
LogicalOptimizeException
-
collectPaths
public void collectPaths(java.util.Set<org.apache.iotdb.commons.path.PartialPath> pathSet)
- Specified by:
collectPathsin classExpression
-
isMappable
public boolean isMappable(TypeProvider typeProvider)
- Specified by:
isMappablein classExpression
-
constructUdfExecutors
public void constructUdfExecutors(java.util.Map<java.lang.String,UDTFExecutor> expressionName2Executor, java.time.ZoneId zoneId)
- Specified by:
constructUdfExecutorsin classExpression
-
bindInputLayerColumnIndexWithExpression
public void bindInputLayerColumnIndexWithExpression(UDTFPlan udtfPlan)
- Specified by:
bindInputLayerColumnIndexWithExpressionin classExpression
-
bindInputLayerColumnIndexWithExpression
public final void bindInputLayerColumnIndexWithExpression(java.util.Map<java.lang.String,java.util.List<InputLocation>> inputLocations)
- Specified by:
bindInputLayerColumnIndexWithExpressionin classExpression
-
updateStatisticsForMemoryAssigner
public void updateStatisticsForMemoryAssigner(LayerMemoryAssigner memoryAssigner)
- Specified by:
updateStatisticsForMemoryAssignerin classExpression
-
operator
protected abstract java.lang.String operator()
-
serialize
protected void serialize(java.nio.ByteBuffer byteBuffer)
- Specified by:
serializein classExpression
-
serialize
protected void serialize(java.io.DataOutputStream stream) throws java.io.IOException- Specified by:
serializein classExpression- Throws:
java.io.IOException
-
-