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);
});
}