lib/rdsvc.cpp Added null checks to purge_date as per MySQL v5.7+ changes

Changed purge_date to a QString so that it can be checked with the normal
RDCheckDateTime function.  Also means the QString.isEmpty check is a straight
forward QDate.isValid and in that case we can use QDate.toString rather than
formatting via RDCheckDateTime (and incurring another QDate.isValid check).
This commit is contained in:
Wayne Merricks 2016-06-04 19:30:09 +01:00
parent e1c9caa987
commit 4523e8e90f

View File

@ -754,9 +754,9 @@ bool RDSvc::generateLog(const QDate &date,const QString &logname,
// //
// Generate Log Structure // Generate Log Structure
// //
QString purge_date; QDate purge_date;
if(defaultLogShelflife()>=0) { if(defaultLogShelflife()>=0) {
purge_date=date.addDays(defaultLogShelflife()).toString("yyyy-MM-dd"); purge_date=date.addDays(defaultLogShelflife());
} }
sql=QString().sprintf("select NAME from LOGS where NAME=\"%s\"", sql=QString().sprintf("select NAME from LOGS where NAME=\"%s\"",
(const char *)RDEscapeString(logname)); (const char *)RDEscapeString(logname));
@ -771,8 +771,8 @@ bool RDSvc::generateLog(const QDate &date,const QString &logname,
(const char *)RDEscapeString(svc_name), (const char *)RDEscapeString(svc_name),
(const char *)RDEscapeString(RDDateDecode(descriptionTemplate(),date)), (const char *)RDEscapeString(RDDateDecode(descriptionTemplate(),date)),
"RDLogManager"); "RDLogManager");
if(!purge_date.isEmpty()) { if(!purge_date.isValid()) {
sql+=(",PURGE_DATE=\""+purge_date+"\""); sql+=(",PURGE_DATE=\""+purge_date.toString("yyyy-MM-dd")+"\"");
} }
sql+=(" where NAME=\""+RDEscapeString(logname)+"\""); sql+=(" where NAME=\""+RDEscapeString(logname)+"\"");
@ -793,7 +793,7 @@ bool RDSvc::generateLog(const QDate &date,const QString &logname,
(const char *)RDEscapeString(svc_name), (const char *)RDEscapeString(svc_name),
(const char *)RDEscapeString(RDDateDecode(descriptionTemplate(),date)), (const char *)RDEscapeString(RDDateDecode(descriptionTemplate(),date)),
"RDLogManager", "RDLogManager",
(const char *)purge_date); (const char *)RDCheckDateTime(purge_date,"yyyy-MM-dd"));
q=new RDSqlQuery(sql); q=new RDSqlQuery(sql);
delete q; delete q;
} }