@Override
    public PlanNode visitAggregationTableScan(AggregationTableScanNode node, Void context) {
      throw new RuntimeException(
          "This optimizer should be used before optimizer of PushAggregationIntoTableScan");
    }
<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