--- 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 <e32debug.h>
#include <hal.h>
#include <sqldb.h>
-#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 <CSqlCompactEntry*> (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