Index: src/libchcore/TTaskLocalStats.cpp =================================================================== diff -u -N -r081055369d6b332ef1651877756657973b1b2d9c -rfc67a825635691930b3ac00dc95b16e59f3d2fae --- src/libchcore/TTaskLocalStats.cpp (.../TTaskLocalStats.cpp) (revision 081055369d6b332ef1651877756657973b1b2d9c) +++ src/libchcore/TTaskLocalStats.cpp (.../TTaskLocalStats.cpp) (revision fc67a825635691930b3ac00dc95b16e59f3d2fae) @@ -154,6 +154,7 @@ void TTaskLocalStatsInfo::Store(const ISerializerContainerPtr& spContainer) const { boost::shared_lock lock(m_lock); + InitColumns(spContainer); ISerializerRowDataPtr spRow; bool bAdded = m_setModifications[eMod_Added]; @@ -175,10 +176,7 @@ { boost::unique_lock lock(m_lock); - IColumnsDefinition& rColumns = spContainer->GetColumnsDefinition(); - if(rColumns.IsEmpty()) - rColumns % _T("id") % _T("elapsed_time"); - + InitColumns(spContainer); ISerializerRowReaderPtr spRowReader = spContainer->GetRowReader(); if(spRowReader->Next()) { @@ -190,4 +188,14 @@ } } +void TTaskLocalStatsInfo::InitColumns(const ISerializerContainerPtr& spContainer) const +{ + IColumnsDefinition& rColumns = spContainer->GetColumnsDefinition(); + if(rColumns.IsEmpty()) + { + rColumns.AddColumn(_T("id"), IColumnsDefinition::eType_long); + rColumns.AddColumn(_T("elapsed_time"), IColumnsDefinition::eType_ulonglong); + } +} + END_CHCORE_NAMESPACE