Class BinaryExpression
- java.lang.Object
-
- org.apache.iotdb.db.mpp.plan.expression.Expression
-
- org.apache.iotdb.db.mpp.plan.expression.binary.BinaryExpression
-
- Direct Known Subclasses:
ArithmeticBinaryExpression,CompareBinaryExpression,LogicBinaryExpression
public abstract class BinaryExpression extends Expression
-
-
Field Summary
Fields Modifier and Type Field Description protected ExpressionleftExpressionprotected ExpressionrightExpression-
Fields inherited from class org.apache.iotdb.db.mpp.plan.expression.Expression
inputColumnIndex, isConstantOperandCache
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedBinaryExpression(java.nio.ByteBuffer byteBuffer)protectedBinaryExpression(Expression leftExpression, Expression rightExpression)
-
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 returnedjava.lang.StringgetExpressionStringInternal()Sub-classes should override this method to provide valid string representation of this object.ExpressiongetLeftExpression()ExpressiongetRightExpression()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)voidsetLeftExpression(Expression leftExpression)voidsetRightExpression(Expression rightExpression)voidupdateStatisticsForMemoryAssigner(LayerMemoryAssigner memoryAssigner)-
Methods inherited from class org.apache.iotdb.db.mpp.plan.expression.Expression
checkInputExpressionDataType, deserialize, equals, getExpressionString, getExpressionType, getInputColumnIndex, hashCode, inferTypes, isBuiltInAggregationFunctionExpression, isCompareBinaryExpression, isConstantOperand, iterator, serialize, serialize, toString
-
-
-
-
Field Detail
-
leftExpression
protected Expression leftExpression
-
rightExpression
protected Expression rightExpression
-
-
Constructor Detail
-
BinaryExpression
protected BinaryExpression(Expression leftExpression, Expression rightExpression)
-
BinaryExpression
protected BinaryExpression(java.nio.ByteBuffer byteBuffer)
-
-
Method Detail
-
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
-
getLeftExpression
public Expression getLeftExpression()
-
getRightExpression
public Expression getRightExpression()
-
setLeftExpression
public void setLeftExpression(Expression leftExpression)
-
setRightExpression
public void setRightExpression(Expression rightExpression)
-
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
-
constructUdfExecutors
public void constructUdfExecutors(java.util.Map<java.lang.String,UDTFExecutor> expressionName2Executor, java.time.ZoneId zoneId)
- Specified by:
constructUdfExecutorsin classExpression
-
bindInputLayerColumnIndexWithExpression
public final 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
-
isMappable
public boolean isMappable(TypeProvider typeProvider)
- Specified by:
isMappablein classExpression
-
getExpressionStringInternal
public final java.lang.String getExpressionStringInternal()
Description copied from class:ExpressionSub-classes should override this method to provide valid string representation of this object. SeeExpression.getExpressionString()- Specified by:
getExpressionStringInternalin 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
-
-