Class AggregationDescriptor

    • Field Detail

      • aggregationFuncName

        protected final java.lang.String aggregationFuncName
      • inputExpressions

        protected java.util.List<Expression> inputExpressions
        Input of aggregation function. Currently, we only support one series in the aggregation function.

        example: select sum(s1) from root.sg.d1; expression [root.sg.d1.s1] will be in this field.

        example: select sum(s1) from root.** group by level = 1; expression [root.sg.*.s1] may be in this field if the data is in different DataRegion

    • Constructor Detail

      • AggregationDescriptor

        public AggregationDescriptor​(java.lang.String aggregationFuncName,
                                     AggregationStep step,
                                     java.util.List<Expression> inputExpressions)
    • Method Detail

      • getAggregationFuncName

        public java.lang.String getAggregationFuncName()
      • getOutputColumnNames

        public java.util.List<java.lang.String> getOutputColumnNames()
      • getInputColumnNamesList

        public java.util.List<java.util.List<java.lang.String>> getInputColumnNamesList()
      • getInputColumnNames

        public java.util.List<java.lang.String> getInputColumnNames​(Expression inputExpression)
      • getInputColumnCandidateMap

        public java.util.Map<java.lang.String,​Expression> getInputColumnCandidateMap()
      • getActualAggregationNames

        protected java.util.List<java.lang.String> getActualAggregationNames​(boolean isPartial)
        Keep the lower case of function name for partial result, and origin value for others.
      • getParametersString

        public java.lang.String getParametersString()
        Generates the parameter part of the function column name.

        Example:

        Full column name -> udf(root.sg.d.s1, sin(root.sg.d.s1))

        The parameter part -> root.sg.d.s1, sin(root.sg.d.s1)

      • getInputExpressions

        public java.util.List<Expression> getInputExpressions()
      • setInputExpressions

        public void setInputExpressions​(java.util.List<Expression> inputExpressions)
      • serialize

        public void serialize​(java.nio.ByteBuffer byteBuffer)
      • serialize

        public void serialize​(java.io.DataOutputStream stream)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object