diff -r 3256212fc81f -r 826b40dcb0a8 persistentstorage/sql/OsLayer/os_symbian.cpp --- a/persistentstorage/sql/OsLayer/os_symbian.cpp Wed Aug 18 11:30:17 2010 +0300 +++ b/persistentstorage/sql/OsLayer/os_symbian.cpp Thu Sep 02 22:18:45 2010 +0300 @@ -1604,6 +1604,14 @@ (void)parse.AddDir(KTempFileDir);//this call can't fail __FS_CALL(EFsOpFileCreateTemp, 0); TInt err = aDbFile.iFileBuf.Temp(osLayerData.iFs, parse.FullName(), parse.FileName(), EFileRead|EFileWrite|EDeleteOnClose); + if(err == KErrPathNotFound) + { + err = osLayerData.iFs.MkDirAll(parse.DriveAndPath()); + if(err == KErrNone) + { + err = aDbFile.iFileBuf.Temp(osLayerData.iFs, parse.FullName(), parse.FileName(), EFileRead|EFileWrite|EDeleteOnClose); + } + } if(err == KErrNone) { TInt recReadBufSize = -1;