version 0.3.24
[fms.git] / src / threadbuilder.cpp
index 521cccc..175a34a 100644 (file)
@@ -62,10 +62,17 @@ const bool ThreadBuilder::Build(const long messageid, const long boardid, const
                st.Bind(0,threadid);\r
                st.Step();\r
 \r
+               SQLite3DB::Statement deleteotherst=m_db->Prepare("DELETE FROM tblThread WHERE ThreadID IN (SELECT tblThread.ThreadID FROM tblThreadPost INNER JOIN tblThread ON tblThreadPost.ThreadID=tblThread.ThreadID WHERE tblThread.BoardID=? AND tblThreadPost.MessageID=?);");\r
+\r
                count=0;\r
                st=m_db->Prepare("INSERT INTO tblThreadPost(ThreadID,MessageID,PostOrder) VALUES(?,?,?);");\r
                for(std::vector<MessageThread::threadnode>::const_iterator i=m_threadmessages.begin(); i!=m_threadmessages.end(); i++, count++)\r
                {\r
+                       deleteotherst.Bind(0,boardid);\r
+                       deleteotherst.Bind(1,(*i).m_messageid);\r
+                       deleteotherst.Step();\r
+                       deleteotherst.Reset();\r
+\r
                        st.Bind(0,threadid);\r
                        st.Bind(1,(*i).m_messageid);\r
                        st.Bind(2,count);\r