@@ -821,7 +821,8 @@ private boolean upgradeDatabase(String name, String dbPath, boolean close) {
821821 // Create and open new CBLDatabase with temporary name:
822822 Database tmpDB = getDatabase (tempName , false );
823823 if (tmpDB == null ) {
824- Log .w (Log .TAG_DATABASE , "Upgrade failed: Creating new db failed: %s" , tempName );
824+ Log .w (Log .TAG_DATABASE ,
825+ "Upgrade failed: Creating new db failed: %s" , tempName );
825826 return false ;
826827 }
827828
@@ -846,7 +847,8 @@ private boolean upgradeDatabase(String name, String dbPath, boolean close) {
846847
847848 if (tmpDB .exists ()) {
848849 // the temporary db should not exist. Just double check
849- Log .w (Log .TAG_DATABASE , "Upgrade failed: Failed to delete already existing db: %s" , tempName );
850+ Log .w (Log .TAG_DATABASE ,
851+ "Upgrade failed: Failed to delete already existing db: %s" , tempName );
850852 return false ;
851853 }
852854
@@ -864,14 +866,19 @@ private boolean upgradeDatabase(String name, String dbPath, boolean close) {
864866 File tmpPath = new File (pathForDatabaseNamed (tempName ));
865867 File newPath = new File (pathForDatabaseNamed (name ));
866868 if (!tmpPath .renameTo (newPath )) {
867- Log .w (Log .TAG_DATABASE , "Upgrade failed: Failed to rename db folder from temporary name: %s -> %s" , tmpPath , newPath );
869+ Log .w (Log .TAG_DATABASE ,
870+ "Upgrade failed: Failed to rename db folder from temporary name: %s -> %s" ,
871+ tmpPath , newPath );
872+ upgrader = new DatabaseUpgrade (this , getDatabase (tempName , false ), dbPath );
873+ upgrader .backOut ();
868874 return false ;
869875 }
870876
871877 // reopen db with name
872878 db = getDatabase (name , false );
873879 if (!db .exists ()) {
874- Log .w (Log .TAG_DATABASE , "Upgrade failed: Failed to open the database after migrate: %s" , name );
880+ Log .w (Log .TAG_DATABASE ,
881+ "Upgrade failed: Failed to open the database after migrate: %s" , name );
875882 return false ;
876883 }
877884 }
0 commit comments