m_last1day=Poco::Timestamp();\r
m_last1day-=Poco::Timespan(0,23,51,0,0);\r
\r
+ m_deletemessagesolderthan=180;\r
std::string tempval="180";\r
Option::Instance()->Get("DeleteMessagesOlderThan",tempval);\r
StringFunctions::Convert(tempval,m_deletemessagesolderthan);\r
\r
+ m_messagedownloadmaxdaysbackward=5;\r
+ tempval="5";\r
+ Option::Instance()->Get("MessageDownloadMaxDaysBackward",tempval);\r
+ StringFunctions::Convert(tempval,m_messagedownloadmaxdaysbackward);\r
+\r
}\r
\r
\r
st.Step();\r
}\r
\r
+ // insert all identities not in trust list already\r
+ m_db->Execute("INSERT INTO tblIdentityTrust(LocalIdentityID,IdentityID) SELECT LocalIdentityID,IdentityID FROM tblLocalIdentity,tblIdentity WHERE LocalIdentityID || '_' || IdentityID NOT IN (SELECT LocalIdentityID || '_' || IdentityID FROM tblIdentityTrust);");\r
+\r
m_log->debug("PeriodicDBMaintenance::Do1HourMaintenance");\r
}\r
\r
// delete old messages\r
date=Poco::Timestamp();\r
date-=Poco::Timespan(m_deletemessagesolderthan,0,0,0,0);\r
+ m_log->trace("PeriodicDBMaintenance::Do1DayMaintenance deleting messages prior to "+Poco::DateTimeFormatter::format(date,"%Y-%m-%d"));\r
st=m_db->Prepare("DELETE FROM tblMessage WHERE MessageDate<?;");\r
st.Bind(0,Poco::DateTimeFormatter::format(date,"%Y-%m-%d"));\r
st.Step();\r
\r
+ // delete old message requests\r
+ date=Poco::Timestamp();\r
+ date-=Poco::Timespan(m_messagedownloadmaxdaysbackward,0,0,0,0);\r
+ st=m_db->Prepare("DELETE FROM tblMessageRequests WHERE Day<?;");\r
+ st.Bind(0,Poco::DateTimeFormatter::format(date,"%Y-%m-%d"));\r
+ st.Step();\r
+\r
// delete tblIdentityTrust for local identities and identities that have been deleted\r
m_db->Execute("DELETE FROM tblIdentityTrust WHERE LocalIdentityID NOT IN (SELECT LocalIdentityID FROM tblLocalIdentity);");\r
m_db->Execute("DELETE FROM tblIdentityTrust WHERE IdentityID NOT IN (SELECT IdentityID FROM tblIdentity);");\r