fix: 同步数据分页错误

This commit is contained in:
taojinlong 2022-12-29 14:27:59 +08:00
parent 90bb64aa07
commit 442b76c013
2 changed files with 9 additions and 1 deletions

View File

@ -811,6 +811,14 @@ public class MysqlQueryProvider extends QueryProvider {
return MessageFormat.format("SELECT {0} FROM {1} LIMIT DE_OFFSET, DE_PAGE_SIZE ", StringUtils.join(array, ","), table);
}
public String getTotalCount(boolean isTable, String sql, Datasource ds) {
if(isTable){
return "SELECT COUNT(*) from " + String.format(MySQLConstants.KEYWORD_TABLE, sql);
}else {
return "SELECT COUNT(*) from ( " + sql + " ) DE_COUNT_TEMP";
}
}
@Override
public String createRawQuerySQLAsTmp(String sql, List<DatasetTableField> fields) {
return createRawQuerySQL(" (" + sqlFix(sql) + ") AS DE_TEMP LIMIT DE_OFFSET, DE_PAGE_SIZE ", fields, null);

View File

@ -452,7 +452,7 @@ public class ExtractDataService {
extractDataByKettle(datasetTable, datasource, datasetTableFields, extractType, sql.get("selectSQL").replace("DE_OFFSET", offset.toString()).replace("DE_PAGE_SIZE", extractPageSize.toString()).replace("DE_ALL", all.toString()));
}
} else {
extractDataByKettle(datasetTable, datasource, datasetTableFields, extractType, selectSQL);
extractDataByKettle(datasetTable, datasource, datasetTableFields, extractType, sql.get("selectSQL"));
}
}