Class FunctionExpression
- java.lang.Object
-
- org.apache.iotdb.db.mpp.plan.expression.Expression
-
- org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression
-
public class FunctionExpression extends Expression
-
-
Field Summary
-
Fields inherited from class org.apache.iotdb.db.mpp.plan.expression.Expression
inputColumnIndex, isConstantOperandCache
-
-
Constructor Summary
Constructors Constructor Description FunctionExpression(java.lang.String functionName)FunctionExpression(java.lang.String functionName, java.util.LinkedHashMap<java.lang.String,java.lang.String> functionAttributes, java.util.List<Expression> expressions)FunctionExpression(java.nio.ByteBuffer byteBuffer)
-
Method Summary
All Methods Instance 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.voidaddAttribute(java.lang.String key, java.lang.String value)voidaddExpression(Expression expression)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.ExpressionTypegetExpressionType()java.util.LinkedHashMap<java.lang.String,java.lang.String>getFunctionAttributes()java.lang.StringgetFunctionName()java.util.List<org.apache.iotdb.commons.path.PartialPath>getPaths()org.apache.iotdb.tsfile.file.metadata.enums.TSDataTypeinferTypes(TypeProvider typeProvider)booleanisBuiltInAggregationFunctionExpression()booleanisConstantOperandInternal()Sub-classes should override this method indicating if the expression is a constant operandbooleanisCountStar()booleanisMappable(TypeProvider typeProvider)booleanisTimeSeriesGeneratingFunctionExpression()booleanisUserDefinedAggregationFunctionExpression()voidremoveWildcards(WildcardsRemover wildcardsRemover, java.util.List<Expression> resultExpressions)protected voidserialize(java.io.DataOutputStream stream)protected voidserialize(java.nio.ByteBuffer byteBuffer)voidsetExpressions(java.util.List<Expression> expressions)voidupdateStatisticsForMemoryAssigner(LayerMemoryAssigner memoryAssigner)-
Methods inherited from class org.apache.iotdb.db.mpp.plan.expression.Expression
checkInputExpressionDataType, deserialize, equals, getExpressionString, getInputColumnIndex, hashCode, isCompareBinaryExpression, isConstantOperand, iterator, serialize, serialize, toString
-
-
-
-
Constructor Detail
-
FunctionExpression
public FunctionExpression(java.lang.String functionName)
-
FunctionExpression
public FunctionExpression(java.lang.String functionName, java.util.LinkedHashMap<java.lang.String,java.lang.String> functionAttributes, java.util.List<Expression> expressions)
-
FunctionExpression
public FunctionExpression(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
-
isBuiltInAggregationFunctionExpression
public boolean isBuiltInAggregationFunctionExpression()
- Overrides:
isBuiltInAggregationFunctionExpressionin 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
-
isCountStar
public boolean isCountStar()
-
addAttribute
public void addAttribute(java.lang.String key, java.lang.String value)
-
addExpression
public void addExpression(Expression expression)
-
setExpressions
public void setExpressions(java.util.List<Expression> expressions)
-
getFunctionName
public java.lang.String getFunctionName()
-
getFunctionAttributes
public java.util.LinkedHashMap<java.lang.String,java.lang.String> getFunctionAttributes()
-
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 void concat(java.util.List<org.apache.iotdb.commons.path.PartialPath> prefixPaths, java.util.List<Expression> resultExpressions)- Specified by:
concatin classExpression
-
removeWildcards
public 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
-
inferTypes
public org.apache.iotdb.tsfile.file.metadata.enums.TSDataType inferTypes(TypeProvider typeProvider)
- Specified by:
inferTypesin classExpression
-
bindInputLayerColumnIndexWithExpression
public void bindInputLayerColumnIndexWithExpression(UDTFPlan udtfPlan)
- Specified by:
bindInputLayerColumnIndexWithExpressionin classExpression
-
bindInputLayerColumnIndexWithExpression
public 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
-
getPaths
public java.util.List<org.apache.iotdb.commons.path.PartialPath> getPaths()
-
getExpressionStringInternal
public 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
-
getExpressionType
public ExpressionType getExpressionType()
- Specified by:
getExpressionTypein classExpression
-
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
-
-