public Flux countDeviceNum()

in backup-core/src/main/java/org/apache/iotdb/backup/core/service/ExportPipelineService.java [165:192]


  public Flux<String> countDeviceNum(String s, Integer[] totalSize) {
    return Flux.deferContextual(
        context -> {
          PipelineContext<ExportModel> pcontext = context.get("pipelineContext");
          ExportModel exportModel = pcontext.getModel();
          String version = context.get("VERSION");
          StringBuilder sqlBuilder = new StringBuilder();
          sqlBuilder
              .append("count devices ")
              .append(formatPath(exportModel.getIotdbPath(), version));
          String sql = sqlBuilder.toString();
          try {
            SessionDataSet deviceData = exportModel.getSession().executeQueryStatement(sql);
            if (deviceData.hasNext()) {
              RowRecord rowRecord = deviceData.next();
              String count =
                  rowRecord
                      .getFields()
                      .get(deviceData.getColumnNames().indexOf("devices"))
                      .getStringValue();
              totalSize[0] = Integer.parseInt(count);
            }
          } catch (StatementExecutionException | IoTDBConnectionException e) {
            log.error("异常信息sql:{},e : {}", sql, e);
          }
          return Flux.just(s);
        });
  }