Class Expression

    • Field Detail

      • isConstantOperandCache

        protected java.lang.Boolean isConstantOperandCache
      • inputColumnIndex

        protected java.lang.Integer inputColumnIndex
    • Constructor Detail

      • Expression

        public Expression()
    • Method Detail

      • getExpressionType

        public abstract ExpressionType getExpressionType()
      • isBuiltInAggregationFunctionExpression

        public boolean isBuiltInAggregationFunctionExpression()
      • isUserDefinedAggregationFunctionExpression

        public boolean isUserDefinedAggregationFunctionExpression()
      • isTimeSeriesGeneratingFunctionExpression

        public boolean isTimeSeriesGeneratingFunctionExpression()
      • isCompareBinaryExpression

        public boolean isCompareBinaryExpression()
      • isMappable

        public abstract boolean isMappable​(TypeProvider typeProvider)
      • isConstantOperand

        public final boolean isConstantOperand()
        If this expression and all of its sub-expressions are ConstantOperand.
      • isConstantOperandInternal

        protected abstract boolean isConstantOperandInternal()
        Sub-classes should override this method indicating if the expression is a constant operand
      • concat

        @Deprecated
        public abstract void concat​(java.util.List<org.apache.iotdb.commons.path.PartialPath> prefixPaths,
                                    java.util.List<Expression> resultExpressions)
        Deprecated.
      • collectPaths

        @Deprecated
        public abstract void collectPaths​(java.util.Set<org.apache.iotdb.commons.path.PartialPath> pathSet)
        Deprecated.
      • constructUdfExecutors

        public abstract void constructUdfExecutors​(java.util.Map<java.lang.String,​UDTFExecutor> expressionName2Executor,
                                                   java.time.ZoneId zoneId)
      • inferTypes

        public abstract org.apache.iotdb.tsfile.file.metadata.enums.TSDataType inferTypes​(TypeProvider typeProvider)
      • checkInputExpressionDataType

        protected static void checkInputExpressionDataType​(java.lang.String expressionString,
                                                           org.apache.iotdb.tsfile.file.metadata.enums.TSDataType actual,
                                                           org.apache.iotdb.tsfile.file.metadata.enums.TSDataType... expected)
      • bindInputLayerColumnIndexWithExpression

        @Deprecated
        public abstract void bindInputLayerColumnIndexWithExpression​(UDTFPlan udtfPlan)
        Deprecated.
      • bindInputLayerColumnIndexWithExpression

        public abstract void bindInputLayerColumnIndexWithExpression​(java.util.Map<java.lang.String,​java.util.List<InputLocation>> inputLocations)
      • getInputColumnIndex

        public java.lang.Integer getInputColumnIndex()
      • updateStatisticsForMemoryAssigner

        public abstract void updateStatisticsForMemoryAssigner​(LayerMemoryAssigner memoryAssigner)
      • toString

        public final java.lang.String toString()
        Sub-classes must not override this method.
        Overrides:
        toString in class java.lang.Object
      • getExpressionString

        public final java.lang.String getExpressionString()
        Get the representation of the expression in string. The hash code of the returned value will be the hash code of this object. See hashCode() and equals(Object). In other words, same expressions should have exactly the same string representation, and different expressions must have different string representations.
      • getExpressionStringInternal

        protected abstract java.lang.String getExpressionStringInternal()
        Sub-classes should override this method to provide valid string representation of this object. See getExpressionString()
      • hashCode

        public final int hashCode()
        Sub-classes must not override this method.
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public final boolean equals​(java.lang.Object o)
        Sub-classes must not override this method.
        Overrides:
        equals in class java.lang.Object
      • getExpressions

        public abstract java.util.List<Expression> getExpressions()
        returns the DIRECT children expressions if it has any, otherwise an EMPTY list will be returned
      • serialize

        public static void serialize​(Expression expression,
                                     java.nio.ByteBuffer byteBuffer)
      • serialize

        public static void serialize​(Expression expression,
                                     java.io.DataOutputStream stream)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • deserialize

        public static Expression deserialize​(java.nio.ByteBuffer byteBuffer)
      • serialize

        protected abstract void serialize​(java.nio.ByteBuffer byteBuffer)
      • serialize

        protected abstract void serialize​(java.io.DataOutputStream stream)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • iterator

        public final java.util.Iterator<Expression> iterator()
        returns an iterator to traverse all the successor expressions in a level-order