Index: src/libchcore/TSQLiteSerializerContainer.cpp =================================================================== diff -u -N -r081055369d6b332ef1651877756657973b1b2d9c -r213cc1a2b3530ea7cb31fd0dac258df23bcc3416 --- src/libchcore/TSQLiteSerializerContainer.cpp (.../TSQLiteSerializerContainer.cpp) (revision 081055369d6b332ef1651877756657973b1b2d9c) +++ src/libchcore/TSQLiteSerializerContainer.cpp (.../TSQLiteSerializerContainer.cpp) (revision 213cc1a2b3530ea7cb31fd0dac258df23bcc3416) @@ -48,19 +48,13 @@ { } -chcore::ISerializerRowDataPtr TSQLiteSerializerContainer::AddRow(size_t stRowID) +ISerializerRowDataPtr TSQLiteSerializerContainer::GetRow(size_t stRowID, bool bMarkAsAdded) { - RowMap::iterator iterInsert = m_mapRows.insert( - std::make_pair(stRowID, TSQLiteSerializerRowDataPtr(new TSQLiteSerializerRowData(stRowID, m_tColumns, true))) - ).first; - return (*iterInsert).second; -} - -ISerializerRowDataPtr TSQLiteSerializerContainer::GetRow(size_t stRowID) -{ RowMap::iterator iterFnd = m_mapRows.find(stRowID); if(iterFnd == m_mapRows.end()) - iterFnd = m_mapRows.insert(std::make_pair(stRowID, TSQLiteSerializerRowDataPtr(new TSQLiteSerializerRowData(stRowID, m_tColumns, false)))).first; + iterFnd = m_mapRows.insert(std::make_pair(stRowID, TSQLiteSerializerRowDataPtr(new TSQLiteSerializerRowData(stRowID, m_tColumns, bMarkAsAdded)))).first; + else if(bMarkAsAdded) + iterFnd->second->MarkAsAdded(); return (*iterFnd).second; }