@Override
  public IntermediateLayer visitTimeStampOperand(
      TimestampOperand timestampOperand, IntermediateLayerVisitorContext context) {
    if (!context.expressionIntermediateLayerMap.containsKey(timestampOperand)) {
      float memoryBudgetInMB = context.memoryAssigner.assign();

      LayerReader parentLayerReader = context.rawTimeSeriesInputLayer.constructTimeReader();

      context.expressionIntermediateLayerMap.put(
          timestampOperand,
          context.memoryAssigner.getReference(timestampOperand) == 1
              ? new SingleInputSingleReferenceLayer(
                  timestampOperand, context.queryId, memoryBudgetInMB, parentLayerReader)
              : new SingleInputMultiReferenceLayer(
                  timestampOperand, context.queryId, memoryBudgetInMB, parentLayerReader));
    }

    return context.expressionIntermediateLayerMap.get(timestampOperand);
  }
Responsible for constructing {@link IntermediateLayer} through Expression.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/IntermediateLayerVisitor.java