]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Performance improvement and bug fix in sqlite3WinDelete(). (CVS 3445)
authordrh <drh@noemail.net>
Tue, 26 Sep 2006 00:34:17 +0000 (00:34 +0000)
committerdrh <drh@noemail.net>
Tue, 26 Sep 2006 00:34:17 +0000 (00:34 +0000)
FossilOrigin-Name: 46ac1ac2d10cf2f1ebfb8dd4bb9a2ccffd85e816

manifest
manifest.uuid
src/os_win.c

index e4823e840152197a0c67ecb29ac07cc6426f5a68..06fc90e8357128b910788c541c6429e44dda2faa 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C CVS\smalfunctioned\son\sthe\sprevious\scheck-in.\s\sMake\ssure\sthe\srevision\sto\ndate.c\swas\sreceived.\s\sTicket\s#1991.\s(CVS\s3444)
-D 2006-09-25T18:05:04
+C Performance\simprovement\sand\sbug\sfix\sin\ssqlite3WinDelete().\s(CVS\s3445)
+D 2006-09-26T00:34:18
 F Makefile.in cabd42d34340f49260bc2a7668c38eba8d4cfd99
 F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -74,7 +74,7 @@ F src/os_test.c 49833426101f99aee4bb5f6a44b7c4b2029fda1c
 F src/os_test.h 903c93554c23d88f34f667f1979e4a1cee792af3
 F src/os_unix.c 3ed7fd1639c052d1df167321917a39ba738c46c9
 F src/os_unix.h 5768d56d28240d3fe4537fac08cc85e4fb52279e
-F src/os_win.c a66763099e093785bee7e8cff3baef01868b2e73
+F src/os_win.c 6c9da4c76186999f3a709f00e5be3162bd0482eb
 F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
 F src/pager.c 0f966f7fa225c377da2021fbbfdd50a48d877000
 F src/pager.h 0cff9de5e9019cb695a04d18df8caaaff933a272
@@ -399,7 +399,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
 F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P 51b9c755ea01528e32690aabe91236ed917369f1
-R 16a54898bdd88e4f2298e9240a32bfda
+P 433dac1f2924d00282ef952668b21a9c023c93cb
+R adfaafd21ebd33f9c19d737c37fb9013
 U drh
-Z 8d1c7066ea960a79af02d14d93066c8a
+Z 34da4a23531e2f2bbe863c8e85206ba7
index 555b203a9e673e032decf03fe98e6d06e27d7d70..18e720decaf99d70e567a500d262e07011625a4d 100644 (file)
@@ -1 +1 @@
-433dac1f2924d00282ef952668b21a9c023c93cb
\ No newline at end of file
+46ac1ac2d10cf2f1ebfb8dd4bb9a2ccffd85e816
\ No newline at end of file
index aab936e1c5aada4e61915389f59d1b30e145b946..f96698254ea37e7f191cab7975dd0153a8df35e4 100644 (file)
@@ -495,7 +495,8 @@ int sqlite3WinDelete(const char *zFilename){
   if( zWide ){
     do{
       rc = DeleteFileW(zWide);
-    }while( rc==0 && cnt++ < MX_DELETION_ATTEMPTS && (Sleep(100), 1) );
+    }while( rc==0 && GetFileAttributesW(zWide)!=0xffffffff 
+            && cnt++ < MX_DELETION_ATTEMPTS && (Sleep(100), 1) );
     sqliteFree(zWide);
   }else{
 #if OS_WINCE
@@ -503,11 +504,12 @@ int sqlite3WinDelete(const char *zFilename){
 #else
     do{
       rc = DeleteFileA(zFilename);
-    }while( rc==0 && cnt++ < MX_DELETION_ATTEMPTS && (Sleep(100), 1) );
+    }while( rc==0 && GetFileAttributesA(zFilename)
+            && cnt++ < MX_DELETION_ATTEMPTS && (Sleep(100), 1) );
 #endif
   }
   TRACE2("DELETE \"%s\"\n", zFilename);
-  return rc==0 ? SQLITE_OK : SQLITE_IOERR;
+  return rc!=0 ? SQLITE_OK : SQLITE_IOERR;
 }
 
 /*