mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbcommon/src/mpxdbmanager.cpp
--- a/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbcommon/src/mpxdbmanager.cpp Wed Sep 15 12:09:46 2010 +0300
+++ b/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbcommon/src/mpxdbmanager.cpp Wed Oct 13 14:28:40 2010 +0300
@@ -229,10 +229,12 @@
// transforms SQL error to KErrNotReady
if( (err <= KSqlErrGeneral && err >= KSqlErrNotDb) || err == KSqlErrStmtExpired )
{
+ MPX_DEBUG2("CMPXDbManager::DoBeginL - KErrNotReady, err=%d", err);
User::Leave(KErrNotReady);
}
else
{
+ MPX_DEBUG2("CMPXDbManager::DoBeginL, err=%d", err);
User::LeaveIfError(err);
}
}
@@ -2856,18 +2858,6 @@
#endif //__RAMDISK_PERF_ENABLE
}
-// ---------------------------------------------------------------------------
-// CMPXDbManager::ExecuteSelectQueryL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C RSqlStatement CMPXDbManager::ExecuteSelectQueryL( const TDesC& aQuery )
- {
- MPX_FUNC("CMPXDatabase::ExecuteSelectQueryL( const TDesC& aQuery )");
- HBufC* tmp( aQuery.AllocLC() );
- RSqlStatement statement( ExecuteSelectQueryOnAllDrivesL( tmp->Des() ) );
- CleanupStack::PopAndDestroy(tmp);
- return statement;
- }
// ---------------------------------------------------------------------------
// CMPXDbManager::EnsureDiskSpaceL
@@ -3101,4 +3091,56 @@
return filename;
}
+// ----------------------------------------------------------------------------
+// Recreate a specified database file. Delete physical file first and then
+// recreate it
+// ----------------------------------------------------------------------------
+//
+EXPORT_C void CMPXDbManager::RecreateDatabaseFileL(
+ TInt aDrive)
+ {
+ MPX_FUNC("CMPXDbManager::RecreateDatabaseFileL");
+ MPX_DEBUG2("CMPXDbManager::RecreateDatabaseFileL aDrive=%d", aDrive);
+
+ TInt index = KErrNotFound;
+
+ if (aDrive == EDriveC)
+ {
+ index = iDatabaseHandles.Count();
+ }
+ else
+ {
+ TInt count(iDatabaseHandles.Count());
+ for (TInt i = 0; i < count; ++i)
+ {
+ if ( iDatabaseHandles[i].iDrive == aDrive )
+ {
+ index = i;
+ break;
+ }
+ }
+ }
+ if ( index >= 0 )
+ {
+ TInt delErr = BaflUtils::DeleteFile(iFs,
+ *iDatabaseHandles[index].iOrigFullFilePath);
+ MPX_DEBUG2("CMPXDbManager::RecreateDatabaseFileL DeleteFile delErr=%d", delErr);
+ MPX_DEBUG2("CMPXDbManager::RecreateDatabaseFileL, iTargetFullFilePath = %s",
+ iDatabaseHandles[index].iTargetFullFilePath);
+ MPX_DEBUG2("CMPXDbManager::RecreateDatabaseFileL, iOrigFullFilePath = %s",
+ iDatabaseHandles[index].iOrigFullFilePath);
+ MPX_DEBUG2("CMPXDbManager::RecreateDatabaseFileL, index = %d", index);
+
+ User::LeaveIfError( delErr );
+
+ DoCreateDatabaseL( aDrive );
+ }
+ else
+ {
+ MPX_DEBUG2("CMPXDbManager::RecreateDatabaseFileL index = %d", index);
+ User::Leave(KErrNotFound);
+ }
+ }
+
+
// End of File