--- a/tzservices/tzloc/src/TzLocalizationDbAccessor.cpp Fri May 14 16:01:13 2010 +0300
+++ b/tzservices/tzloc/src/TzLocalizationDbAccessor.cpp Thu May 27 13:01:09 2010 +0300
@@ -99,7 +99,28 @@
User::LeaveIfError(iDbsSession.Connect());
//Attempt to open the database
TInt error = iLocalizedTimeZoneDb.Open(iDbsSession,KTzLocalizationDbName,KTzLocalizationDbSecurityPolicy);
+ if (error == KErrNotFound)
+ {
+ //Database file doesn't exist. Attempt to create a new one.
+ error = iLocalizedTimeZoneDb.Create(iDbsSession,KTzLocalizationDbName,KTzLocalizationDbSecurityPolicy);
+ if (error == KErrNone)
+ {
+ User::LeaveIfError(CreateFrequentlyUsedZoneTableL());
+ User::LeaveIfError(CreateUserCityTableL());
+ }
+ }
User::LeaveIfError(error);
+ // Check if both tables are created.
+ TRAP(error, iLocalizedTimeZoneDb.ColSetL(KCZTableName));
+ if (error)
+ {
+ User::LeaveIfError(CreateFrequentlyUsedZoneTableL());
+ }
+ TRAP(error, iLocalizedTimeZoneDb.ColSetL(KUCTableName));
+ if (error)
+ {
+ User::LeaveIfError(CreateUserCityTableL());
+ }
}
/**