From 4523e8e90f599ad4aa955e537f11c00dfe001580 Mon Sep 17 00:00:00 2001 From: Wayne Merricks Date: Sat, 4 Jun 2016 19:30:09 +0100 Subject: [PATCH] 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). --- lib/rdsvc.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/rdsvc.cpp b/lib/rdsvc.cpp index 63ef68c7..8157fc06 100644 --- a/lib/rdsvc.cpp +++ b/lib/rdsvc.cpp @@ -754,9 +754,9 @@ bool RDSvc::generateLog(const QDate &date,const QString &logname, // // Generate Log Structure // - QString purge_date; + QDate purge_date; 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\"", (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(RDDateDecode(descriptionTemplate(),date)), "RDLogManager"); - if(!purge_date.isEmpty()) { - sql+=(",PURGE_DATE=\""+purge_date+"\""); + if(!purge_date.isValid()) { + sql+=(",PURGE_DATE=\""+purge_date.toString("yyyy-MM-dd")+"\""); } 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(RDDateDecode(descriptionTemplate(),date)), "RDLogManager", - (const char *)purge_date); + (const char *)RDCheckDateTime(purge_date,"yyyy-MM-dd")); q=new RDSqlQuery(sql); delete q; }