public static int getSerializeSize(ViewExpression expression) {
    if (expression.serSize == -1) {
      ByteArrayOutputStream baos = new ByteArrayOutputStream();
      try {
        ViewExpression.serialize(expression, baos);
        expression.serSize = baos.toByteArray().length;
      } catch (Exception e) {
        // ByteArrayOutputStream is a memory-based output stream that does not involve disk IO and
        // will not throw an IOException except for OOM.
        throw new RuntimeException(e);
      }
    }
    return expression.serSize;
  }
@return if this view expression could be a source for an ALIAS series (one kind of view),
    return true; else return false. Foe example, a SINGLE TimeSeriesOperand could be a source
    for an alias view.
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/ViewExpression.java