@Override
      protected List<Expression> visitArithmeticUnary(
          ArithmeticUnaryExpression node, Scope context) {
        List<Expression> childResult = process(node.getValue(), context);
        if (expandedExpressions == null) {
          // no Columns need to be expanded
          return Collections.singletonList(node);
        }

        ImmutableList.Builder<Expression> resultBuilder = new ImmutableList.Builder<>();
        for (Expression expression : childResult) {
          resultBuilder.add(new ArithmeticUnaryExpression(node.getSign(), expression));
        }

        return resultBuilder.build();
      }
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