private List<FieldReference> analyzeFillGroup(Fill node, Scope scope, FillPolicy fillMethod) {
      if (node.getFillGroupingElements().isPresent()) {
        ImmutableList.Builder<FieldReference> groupingFieldsBuilder = ImmutableList.builder();
        for (LongLiteral index : node.getFillGroupingElements().get()) {
          FieldReference element = getFieldReferenceForFillGroup(index, scope, fillMethod);
          groupingFieldsBuilder.add(element);
          ExpressionAnalyzer.analyzeExpression(
              metadata,
              queryContext,
              sessionContext,
              statementAnalyzerFactory,
              accessControl,
              scope,
              analysis,
              element,
              WarningCollector.NOOP,
              correlationSupport);
        }
        return groupingFieldsBuilder.build();
      } else {
        return null;
      }
    }
Check if there is Columns function in expression, and verify they are same if there are multi
Column functions.

@param expression input expression
@return if there is Columns function in expression
@throws SemanticException if there are multi Columns functions but different
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java