public static void analyzeDelete(final Delete node, final MPPQueryContext queryContext) {
    queryContext.setQueryType(QueryType.WRITE);
    validateSchema(node, queryContext);

    try (final ConfigNodeClient configNodeClient =
        ConfigNodeClientManager.getInstance().borrowClient(ConfigNodeInfo.CONFIG_REGION_ID)) {
      // TODO: may use time and db/table to filter
      final TRegionRouteMapResp latestRegionRouteMap = configNodeClient.getLatestRegionRouteMap();
      final Set<TRegionReplicaSet> replicaSets = new HashSet<>();
      latestRegionRouteMap.getRegionRouteMap().entrySet().stream()
          .filter(e -> e.getKey().getType() == TConsensusGroupType.DataRegion)
          .forEach(e -> replicaSets.add(e.getValue()));
      node.setReplicaSets(replicaSets);
    } catch (final Exception e) {
      throw new IoTDBRuntimeException(e, TSStatusCode.CAN_NOT_CONNECT_CONFIGNODE.getStatusCode());
    }
  }
get analysis according to statement and params
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeUtils.java