diff -r 5e4beccba4e9 -r b8bdbc8f59c7 persistentstorage/sql/OsLayer/os_symbian.cpp --- a/persistentstorage/sql/OsLayer/os_symbian.cpp Thu Jul 08 12:09:58 2010 +0100 +++ b/persistentstorage/sql/OsLayer/os_symbian.cpp Thu Aug 12 11:53:23 2010 +0100 @@ -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;