docs: public boolean processScanNodeWithReAggNode(AbstractPlanNode node, AbstractPlanNode reAggNode) {
          // MV table scan node can not be in in-lined nodes.
          for (int i = 0; i < node.getChildCount(); i++) {
              AbstractPlanNode child = node.getChild(i);
  
              if (child instanceof AbstractScanPlanNode) {
                  AbstractScanPlanNode scanNode = (AbstractScanPlanNode) child;
                  if (!scanNode.getTargetTableName().equals(getMVTableName())) {
                      continue;
                  }
                  if (reAggNode != null) {
                      // Join query case.
                      node.setAndLinkChild(i, reAggNode);
                  }
                  // Process scan node.
                  // Set up the scan plan node's scan columns. Add in-line projection node for scan node.
                  scanNode.addInlinePlanNode(m_scanInlinedProjectionNode);
                  m_scanNode = scanNode;
                  return true;
              }
              else {
                  boolean replaced = processScanNodeWithReAggNode(child, reAggNode);
                  if (replaced) {
                      return true;
                  }
              }
          }
          return false;
      }