persistentstorage/sql/SRC/Server/Compact/SqlCompactEntry.cpp
branchRCL_3
changeset 23 26645d81f48d
parent 18 3da531bb4329
child 24 cc28652e0254
--- 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