@Override
    public PlanNode visitPlan(PlanNode node, Void context) {
      for (PlanNode child : node.getChildren()) {
        child.accept(this, context);
      }
      return node;
    }
<b>Optimization phase:</b> Logical plan planning.

<p>Calculate the preGroupedSymbols in {@link AggregationNode}, used in {@link
AggregationNode#isStreamable()}.

<p>Attention: This optimizer should be used before optimizer of {@link
PushAggregationIntoTableScan}.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformAggregationToStreamable.java