Prechádzať zdrojové kódy

修复sqlserver包含过滤条件统计总数

AE86 1 rok pred
rodič
commit
49534ddfd5

+ 4 - 4
dbsyncer-biz/src/main/java/org/dbsyncer/biz/impl/MonitorServiceImpl.java

@@ -294,13 +294,13 @@ public class MonitorServiceImpl extends BaseServiceImpl implements MonitorServic
     }
 
     private List<MetricResponseVo> getMetrics(List<MetricResponse> metrics) {
-        // 线程池状态
-        List<MetricResponse> metricList = monitor.getMetricInfo();
         // 系统指标
-        metricList.addAll(metrics);
+        List<MetricResponse> metricList = monitor.getMetricInfo();
+        // 线程池状态
+        metrics.addAll(metricList);
 
         // 转换显示
-        return metricList.stream().map(metric -> {
+        return metrics.stream().map(metric -> {
             MetricResponseVo vo = new MetricResponseVo();
             BeanUtils.copyProperties(metric, vo);
             MetricDetailFormatter detailFormatter = metricDetailFormatterMap.get(vo.getCode());

+ 2 - 1
dbsyncer-connector/src/main/java/org/dbsyncer/connector/database/sqlbuilder/SqlBuilderQueryCount.java

@@ -24,7 +24,8 @@ public class SqlBuilderQueryCount extends SqlBuilderQuery {
         String queryFilter = config.getQueryFilter();
 
         StringBuilder sql = new StringBuilder();
-        sql.append("SELECT COUNT(1) FROM (SELECT 1 FROM ").append(schema);
+        sql.append("SELECT COUNT(1) FROM (SELECT 1 AS ").append(quotation).append("_ROW").append(quotation).append(" FROM ");
+        sql.append(schema);
         sql.append(quotation);
         sql.append(database.buildTableName(tableName));
         sql.append(quotation);

+ 1 - 1
dbsyncer-storage/src/main/java/org/dbsyncer/storage/support/MysqlStorageServiceImpl.java

@@ -248,7 +248,7 @@ public class MysqlStorageServiceImpl extends AbstractStorageService {
     private String buildQueryCountSql(Query query, Executor executor, List<Object> args) {
         StringBuilder queryCount = new StringBuilder();
         queryCount.append("SELECT COUNT(1) FROM (");
-        StringBuilder sql = new StringBuilder("SELECT 1 FROM `").append(executor.getTable()).append("`");
+        StringBuilder sql = new StringBuilder("SELECT 1 AS `_ROW` FROM `").append(executor.getTable()).append("`");
         buildQuerySqlWithParams(query, args, sql, null);
         queryCount.append(sql);
         queryCount.append(" GROUP BY `ID`) DBSYNCER_T");