2017-11-08 Fred Gleason <fredg@paravelsystems.com>

* Fixed a bug in the 'List Logs' Web API call that broke searches
	when the 'RECENT' parameter was set.
This commit is contained in:
Fred Gleason
2017-11-08 10:47:28 -05:00
parent b37bd08ca7
commit c557277fd3
2 changed files with 33 additions and 23 deletions

View File

@@ -16342,3 +16342,6 @@
2017-11-08 Fred Gleason <fredg@paravelsystems.com> 2017-11-08 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the 'RDLogFilter' widget that caused excluded * Fixed a bug in the 'RDLogFilter' widget that caused excluded
services to be included when specifying a filter string. services to be included when specifying a filter string.
2017-11-08 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the 'List Logs' Web API call that broke searches
when the 'RECENT' parameter was set.

View File

@@ -138,34 +138,41 @@ void Xport::ListLogs()
// Generate Log List // Generate Log List
// //
sql="select NAME from LOGS"; sql="select NAME from LOGS";
if((!service_name.isEmpty())||(!log_name.isEmpty())||(trackable=="1")|| sql+=" where";
(!filter.isEmpty())||(recent=="1")) { if(!log_name.isEmpty()) {
sql+=" where"; sql+=" (NAME=\""+RDEscapeString(log_name)+"\")&&";
if(!log_name.isEmpty()) { }
sql+=" (NAME=\""+RDEscapeString(log_name)+"\")&&"; if(!service_name.isEmpty()) {
sql+=" (SERVICE=\""+RDEscapeString(service_name)+"\")&&";
}
if(trackable=="1") {
sql+=" (SCHEDULED_TRACKS>0)&&";
}
if(!filter.isEmpty()) {
if(service_name.isEmpty()) {
sql+=" ((LOGS.NAME like \"%%"+RDEscapeString(filter)+"%%\")||";
sql+="(LOGS.DESCRIPTION like \"%%"+RDEscapeString(filter)+"%%\")||";
sql+="(LOGS.SERVICE like \"%%"+RDEscapeString(filter)+"%%\"))&&";
} }
if(!service_name.isEmpty()) { else {
sql+=" (SERVICE=\""+RDEscapeString(service_name)+"\")&&"; sql+=" ((LOGS.NAME like \"%%"+RDEscapeString(filter)+"%%\")||";
} sql+="(LOGS.DESCRIPTION like \"%%"+RDEscapeString(filter)+"%%\"))&&";
if(trackable=="1") {
sql+=" (SCHEDULED_TRACKS>0)&&";
}
if(!filter.isEmpty()) {
if(service_name.isEmpty()) {
sql+=" ((LOGS.NAME like \"%%"+RDEscapeString(filter)+"%%\")||";
sql+="(LOGS.DESCRIPTION like \"%%"+RDEscapeString(filter)+"%%\")||";
sql+="(LOGS.SERVICE like \"%%"+RDEscapeString(filter)+"%%\"))&&";
}
else {
sql+=" ((LOGS.NAME like \"%%"+RDEscapeString(filter)+"%%\")||";
sql+="(LOGS.DESCRIPTION like \"%%"+RDEscapeString(filter)+"%%\"))&&";
}
} }
}
sql=sql.stripWhiteSpace();
if(sql.right(2)=="&&") {
sql=sql.left(sql.length()-2); sql=sql.left(sql.length()-2);
} }
sql+=" order by NAME"; sql=sql.stripWhiteSpace();
if(sql.right(5)=="where") {
sql=sql.left(sql.length()-5);
}
if(recent=="1") { if(recent=="1") {
sql+=QString().sprintf(" limit %d",RD_LOGFILTER_LIMIT_QUAN); sql+=QString().sprintf(" order by LOGS.ORIGIN_DATETIME desc limit %d",
RD_LOGFILTER_LIMIT_QUAN);
}
else {
sql+=" order by NAME";
} }
q=new RDSqlQuery(sql); q=new RDSqlQuery(sql);