}
String searchClause = buildSearchClause(searchTerm, searchWorkflowId, searchWorkflowName, searchWorkflowType, searchUserName, minJobs, maxJobs,
minInputBytes, maxInputBytes, minOutputBytes, maxOutputBytes, minDuration, maxDuration, minStartTime, maxStartTime, minFinishTime, maxFinishTime);
List<WorkflowDBEntry> workflows = fetchWorkflows(getQualifiedPS(Statements.FW_PS, searchClause, col, sortAscending, offset, limit));
Summary summary = fetchSummary(getQualifiedPS(Statements.FW_SUMMARY_PS, searchClause));
DataTable table = new DataTable();
table.setiTotalRecords(total);
table.setiTotalDisplayRecords(summary.getNumRows());
if (workflows.isEmpty()) {
table.setStartIndex(-1);
table.setEndIndex(-1);
} else {
table.setStartIndex(offset);