diff -r 28839de615b4 -r 26645d81f48d persistentstorage/sql/SRC/Server/Compact/SqlCompactEntry.cpp --- a/persistentstorage/sql/SRC/Server/Compact/SqlCompactEntry.cpp Thu Aug 19 11:36:21 2010 +0300 +++ b/persistentstorage/sql/SRC/Server/Compact/SqlCompactEntry.cpp Tue Aug 31 16:57:14 2010 +0300 @@ -16,10 +16,15 @@ #include #include #include -#include "SqlPanic.h" +#include "SqlAssert.h" #include "SqlCompactEntry.h" #include "SqlCompactTimer.h" #include "SqliteSymbian.h" //TSqlFreePageCallback +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "SqlCompactEntryTraces.h" +#endif +#include "SqlTraceDef.h" //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -47,11 +52,13 @@ CSqlCompactEntry* CSqlCompactEntry::NewLC(const TDesC& aFullName, TSqlCompactConnFactoryL aConnFactoryL, const TSqlCompactSettings& aSettings, CSqlCompactTimer& aTimer) { - __SQLASSERT(aFullName.Length() > 0 && aFullName.Length() <= KMaxFileName, ESqlPanicBadArgument); - __SQLASSERT(aConnFactoryL != NULL, ESqlPanicBadArgument); + SQL_TRACE_COMPACT(OstTraceExt1(TRACE_INTERNALS, CSQLCOMPACTENTRY_NEWLC_ENTRY, "Entry;0;CSqlCompactEntry::NewLC;aFullName=%S", __SQLPRNSTR(aFullName))); + __ASSERT_DEBUG(aFullName.Length() > 0 && aFullName.Length() <= KMaxFileName, __SQLPANIC2(ESqlPanicBadArgument)); + __ASSERT_DEBUG(aConnFactoryL != NULL, __SQLPANIC2(ESqlPanicBadArgument)); CSqlCompactEntry* self = new (ELeave) CSqlCompactEntry(aSettings, aTimer); CleanupStack::PushL(self); self->ConstructL(aFullName, aConnFactoryL); + SQL_TRACE_COMPACT(OstTrace1(TRACE_INTERNALS, CSQLCOMPACTENTRY_NEWLC_EXIT, "Exit;0x%X;CSqlCompactEntry::NewLC", (TUint)self)); return self; } @@ -60,6 +67,7 @@ */ CSqlCompactEntry::~CSqlCompactEntry() { + SQL_TRACE_COMPACT(OstTraceExt3(TRACE_INTERNALS, CSQLCOMPACTENTRY_CSQLCOMPACTENTRY2, "0x%X;CSqlCompactEntry::~CSqlCompactEntry;iState=%d;iPageCount=%d", (TUint)this, (TInt)iState, iPageCount)); if(iState == CSqlCompactEntry::EInProgress) { iTimer.DeQueue(*this); @@ -78,6 +86,7 @@ */ TInt CSqlCompactEntry::AddRef() { + SQL_TRACE_COMPACT(OstTraceExt4(TRACE_INTERNALS, CSQLCOMPACTENTRY_ADDREF, "0x%X;CSqlCompactEntry::AddRef;iState=%d;iPageCount=%d;iRefCounter=%d", (TUint)this, (TInt)iState, iPageCount, iRefCounter)); SQLCOMPACTENTRY_INVARIANT(); return ++iRefCounter; } @@ -90,6 +99,7 @@ */ TInt CSqlCompactEntry::Release() { + SQL_TRACE_COMPACT(OstTraceExt4(TRACE_INTERNALS, CSQLCOMPACTENTRY_RELEASE, "0x%X;CSqlCompactEntry::Release;iState=%d;iPageCount=%d;iRefCounter=%d", (TUint)this, (TInt)iState, iPageCount, iRefCounter)); SQLCOMPACTENTRY_INVARIANT(); TInt rc = --iRefCounter; if(rc == 0) @@ -114,10 +124,11 @@ */ /* static */ void CSqlCompactEntry::FreePageCallback(void* aThis, TInt aFreePageCount) { - __SQLASSERT(aThis != NULL, ESqlPanicBadArgument); - __SQLASSERT(aFreePageCount > 0, ESqlPanicBadArgument); + __ASSERT_DEBUG(aThis != NULL, __SQLPANIC2(ESqlPanicBadArgument)); + __ASSERT_DEBUG(aFreePageCount > 0, __SQLPANIC2(ESqlPanicBadArgument)); CSqlCompactEntry& entry = *(static_cast (aThis)); + SQL_TRACE_COMPACT(OstTraceExt3(TRACE_INTERNALS, CSQLCOMPACTENTRY_FREEPAGECALLBACK, "0x%X;CSqlCompactEntry::FreePageCallback;aFreePageCount=%d;iState=%d", (TUint)aThis, aFreePageCount, (TInt)entry.iState)); if(entry.iFreePageCallbackDisabled) {//The callback is disabled during the background compaction step. //The server is single-threaded, so no other client can activate the callback. @@ -161,9 +172,9 @@ */ void CSqlCompactEntry::ConstructL(const TDesC& aFullName, TSqlCompactConnFactoryL aConnFactoryL) { - __SQLASSERT(aFullName.Length() > 0 && aFullName.Length() <= KMaxFileName, ESqlPanicBadArgument); - __SQLASSERT(aConnFactoryL != NULL, ESqlPanicBadArgument); - __SQLASSERT(!iConnection, ESqlPanicInternalError); + __ASSERT_DEBUG(aFullName.Length() > 0 && aFullName.Length() <= KMaxFileName, __SQLPANIC(ESqlPanicBadArgument)); + __ASSERT_DEBUG(aConnFactoryL != NULL, __SQLPANIC(ESqlPanicBadArgument)); + __ASSERT_DEBUG(!iConnection, __SQLPANIC(ESqlPanicInternalError)); __SQLLEAVE_IF_ERROR(iFullName.Create(aFullName)); @@ -173,7 +184,7 @@ //the threshold from Kbs to pages when the connection with the database is established. TSqlFreePageCallback callback(this, iSettings.iFreePageThresholdKb, &CSqlCompactEntry::FreePageCallback); iConnection = (*aConnFactoryL)(aFullName, callback); - __SQLASSERT(iConnection != NULL, ESqlPanicInternalError); + __ASSERT_DEBUG(iConnection != NULL, __SQLPANIC(ESqlPanicInternalError)); //"callback.iThreshold > 0" is an indication that the background compaction should be kicked-off if(callback.iThreshold > 0) @@ -201,19 +212,19 @@ */ TInt CSqlCompactEntry::Compact() { - //RDebug::Print(_L("++ CSqlCompactEntry::Compact() ++\r\n")); + SQL_TRACE_COMPACT(OstTraceExt3(TRACE_INTERNALS, CSQLCOMPACTENTRY_COMPACT_ENTRY, "Entry;0x%X;CSqlCompactEntry::Compact;aFreePageCount=%d;iState=%d", (TUint)this, iPageCount, (TInt)iState)); SQLCOMPACTENTRY_INVARIANT(); - __SQLASSERT(iPageCount > 0, ESqlPanicInternalError); - __SQLASSERT(iState == CSqlCompactEntry::EInProgress, ESqlPanicInternalError); + __ASSERT_DEBUG(iPageCount > 0, __SQLPANIC(ESqlPanicInternalError)); + __ASSERT_DEBUG(iState == CSqlCompactEntry::EInProgress, __SQLPANIC(ESqlPanicInternalError)); TInt processedPageCount = 0; iFreePageCallbackDisabled = ETrue; TInt err = Connection().Compact(iPageCount, processedPageCount, iSettings.iStepLength); iFreePageCallbackDisabled = EFalse; - __SQLASSERT(processedPageCount >= 0, ESqlPanicInternalError); + __ASSERT_DEBUG(processedPageCount >= 0, __SQLPANIC(ESqlPanicInternalError)); if(err == KErrNone) { iPageCount -= processedPageCount; - __SQLASSERT(iPageCount >= 0, ESqlPanicInternalError); + __ASSERT_DEBUG(iPageCount >= 0, __SQLPANIC(ESqlPanicInternalError)); } TBool stopCompaction = err == KSqlErrCorrupt || err == KSqlErrNotDb || err == KErrCorrupt || err == KErrDisMounted; if(iPageCount <= 0 || stopCompaction) @@ -221,6 +232,7 @@ ResetState(); iTimer.DeQueue(*this); } + SQL_TRACE_COMPACT(OstTraceExt4(TRACE_INTERNALS, CSQLCOMPACTENTRY_COMPACT_EXIT, "Exit;0x%X;CSqlCompactEntry::Compact;iPageCount=%d;iState=%d;err=%d", (TUint)this, iPageCount, (TInt)iState, err)); SQLCOMPACTENTRY_INVARIANT(); return err; } @@ -257,7 +269,7 @@ MSqlCompactConn& CSqlCompactEntry::Connection() { SQLCOMPACTENTRY_INVARIANT(); - __SQLASSERT_ALWAYS(iConnection != NULL, ESqlPanicInternalError); + __ASSERT_ALWAYS(iConnection != NULL, __SQLPANIC(ESqlPanicInternalError)); return *iConnection; } @@ -267,11 +279,11 @@ */ void CSqlCompactEntry::Invariant() const { - __SQLASSERT(iFullName.Length() > 0 && iFullName.Length() <= KMaxFileName, ESqlPanicInternalError); - __SQLASSERT(iConnection != NULL, ESqlPanicInternalError); - __SQLASSERT(iRefCounter > 0, ESqlPanicInternalError); - __SQLASSERT(iState == CSqlCompactEntry::EInactive || iState == CSqlCompactEntry::EInProgress, ESqlPanicInternalError); - __SQLASSERT(iPageCount >= 0, ESqlPanicInternalError); + __ASSERT_DEBUG(iFullName.Length() > 0 && iFullName.Length() <= KMaxFileName, __SQLPANIC(ESqlPanicInternalError)); + __ASSERT_DEBUG(iConnection != NULL, __SQLPANIC(ESqlPanicInternalError)); + __ASSERT_DEBUG(iRefCounter > 0, __SQLPANIC(ESqlPanicInternalError)); + __ASSERT_DEBUG(iState == CSqlCompactEntry::EInactive || iState == CSqlCompactEntry::EInProgress, __SQLPANIC(ESqlPanicInternalError)); + __ASSERT_DEBUG(iPageCount >= 0, __SQLPANIC(ESqlPanicInternalError)); iSettings.Invariant(); } #endif//_DEBUG