Skip to content

Commit

Permalink
[Fix-9316] [Task] Configure DB2 data source SQL script execution repo…
Browse files Browse the repository at this point in the history
…rt ResultSet has been closed exception in SQL task (#9317)

* fix db2 error in the sql task

* update limit in sql task
  • Loading branch information
zhuangchong committed Apr 11, 2022
1 parent 0376925 commit 923f3f3
Showing 1 changed file with 6 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,11 @@ private String resultProcess(ResultSet resultSet) throws Exception {
int rowCount = 0;
int limit = sqlParameters.getLimit() == 0 ? QUERY_LIMIT : sqlParameters.getLimit();

while (rowCount < limit && resultSet.next()) {
while (resultSet.next()) {
if (rowCount == limit) {
logger.info("sql result limit : {} exceeding results are filtered", limit);
break;
}
ObjectNode mapOfColValues = JSONUtils.createObjectNode();
for (int i = 1; i <= num; i++) {
mapOfColValues.set(md.getColumnLabel(i), JSONUtils.toJsonNode(resultSet.getObject(i)));
Expand All @@ -252,17 +256,12 @@ private String resultProcess(ResultSet resultSet) throws Exception {
rowCount++;
}
int displayRows = sqlParameters.getDisplayRows() > 0 ? sqlParameters.getDisplayRows() : TaskConstants.DEFAULT_DISPLAY_ROWS;
displayRows = Math.min(displayRows, resultJSONArray.size());
displayRows = Math.min(displayRows, rowCount);
logger.info("display sql result {} rows as follows:", displayRows);
for (int i = 0; i < displayRows; i++) {
String row = JSONUtils.toJsonString(resultJSONArray.get(i));
logger.info("row {} : {}", i + 1, row);
}
if (resultSet.next()) {
logger.info("sql result limit : {} exceeding results are filtered", limit);
String log = String.format("sql result limit : %d exceeding results are filtered", limit);
resultJSONArray.add(JSONUtils.toJsonNode(log));
}
}
String result = JSONUtils.toJsonString(resultJSONArray);
if (sqlParameters.getSendEmail() == null || sqlParameters.getSendEmail()) {
Expand Down

0 comments on commit 923f3f3

Please sign in to comment.