X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ffreenet%2Fmessageinserter.cpp;h=cc7cfd5c13d853743fcb88ecb687f7ef4fac8d9a;hb=c7fcb4c4bc5012a584add81a9509fc1f84c3c688;hp=acd6bfe63ae36abcd0f4ba66266f2764c2a7e0f6;hpb=6b896a9e1dc143bba86795be1e9336549db9b85f;p=fms.git diff --git a/src/freenet/messageinserter.cpp b/src/freenet/messageinserter.cpp index acd6bfe..cc7cfd5 100644 --- a/src/freenet/messageinserter.cpp +++ b/src/freenet/messageinserter.cpp @@ -5,7 +5,7 @@ MessageInserter::MessageInserter() Initialize(); } -MessageInserter::MessageInserter(FCPv2 *fcp):IIndexInserter(fcp) +MessageInserter::MessageInserter(FCPv2 *fcp):IIndexInserter(fcp) { Initialize(); } @@ -53,10 +53,13 @@ const bool MessageInserter::HandlePutFailed(FCPMessage &message) const bool MessageInserter::HandlePutSuccessful(FCPMessage &message) { + DateTime date; + int localidentityid; int index; std::vector idparts; StringFunctions::Split(message["Identifier"],"|",idparts); StringFunctions::Convert(idparts[3],index); + StringFunctions::Convert(idparts[2],localidentityid); SQLite3DB::Statement st=m_db->Prepare("UPDATE tblMessageInserts SET Day=?, InsertIndex=?, Inserted='true' WHERE MessageUUID=?;"); st.Bind(0,idparts[5]); @@ -64,6 +67,13 @@ const bool MessageInserter::HandlePutSuccessful(FCPMessage &message) st.Bind(2,idparts[1]); st.Step(); + // insert record into temp table so MessageList will be inserted ASAP + date.SetToGMTime(); + st=m_db->Prepare("INSERT INTO tmpMessageListInsert(LocalIdentityID,Date) VALUES(?,?);"); + st.Bind(0,localidentityid); + st.Bind(1,date.Format("%Y-%m-%d")); + st.Step(); + RemoveFromInsertList(idparts[1]); m_log->WriteLog(LogFile::LOGLEVEL_DEBUG,"MessageInserter::HandlePutSuccessful successfully inserted message "+message["Identifier"]);