Skip to content

Commit f4414b1

Browse files
Fix bug #4959 by correctly setting previous db version number and updating the current db version (#4960)
1 parent 4edabed commit f4414b1

File tree

3 files changed

+90
-15
lines changed

3 files changed

+90
-15
lines changed

app/src/main/java/fr/free/nrw/commons/data/DBOpenHelper.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44
import android.database.sqlite.SQLiteDatabase;
55
import android.database.sqlite.SQLiteException;
66
import android.database.sqlite.SQLiteOpenHelper;
7-
87
import fr.free.nrw.commons.bookmarks.items.BookmarkItemsDao;
9-
import fr.free.nrw.commons.bookmarks.items.BookmarkItemsDao.Table;
108
import fr.free.nrw.commons.bookmarks.locations.BookmarkLocationsDao;
119
import fr.free.nrw.commons.bookmarks.pictures.BookmarkPicturesDao;
1210
import fr.free.nrw.commons.category.CategoryDao;
@@ -16,7 +14,7 @@
1614
public class DBOpenHelper extends SQLiteOpenHelper {
1715

1816
private static final String DATABASE_NAME = "commons.db";
19-
private static final int DATABASE_VERSION = 19;
17+
private static final int DATABASE_VERSION = 20;
2018
public static final String CONTRIBUTIONS_TABLE = "contributions";
2119
private final String DROP_TABLE_STATEMENT="DROP TABLE IF EXISTS %s";
2220

app/src/main/java/fr/free/nrw/commons/recentlanguages/RecentLanguagesDao.java

+3-9
Original file line numberDiff line numberDiff line change
@@ -185,23 +185,17 @@ public static void onUpdate(final SQLiteDatabase db, int from, final int to) {
185185
if (from == to) {
186186
return;
187187
}
188-
if (from < 6) {
188+
if (from < 19) {
189189
// doesn't exist yet
190190
from++;
191191
onUpdate(db, from, to);
192192
return;
193193
}
194-
if (from == 6) {
195-
// table added in version 7
194+
if (from == 19) {
195+
// table added in version 20
196196
onCreate(db);
197197
from++;
198198
onUpdate(db, from, to);
199-
return;
200-
}
201-
if (from == 7) {
202-
from++;
203-
onUpdate(db, from, to);
204-
return;
205199
}
206200
}
207201
}

app/src/test/kotlin/fr/free/nrw/commons/recentlanguages/RecentLanguagesDaoUnitTest.kt

+86-3
Original file line numberDiff line numberDiff line change
@@ -177,20 +177,103 @@ class RecentLanguagesDaoUnitTest {
177177
@Test
178178
fun migrateTableVersionFrom_v5_to_v6() {
179179
onUpdate(database, 5, 6)
180-
// Table didnt exist before v7
180+
// Table didnt exist in version 6
181181
verifyZeroInteractions(database)
182182
}
183183

184184
@Test
185185
fun migrateTableVersionFrom_v6_to_v7() {
186186
onUpdate(database, 6, 7)
187-
verify(database).execSQL(CREATE_TABLE_STATEMENT)
187+
// Table didnt exist in version 7
188+
verifyZeroInteractions(database)
188189
}
189190

190191
@Test
191192
fun migrateTableVersionFrom_v7_to_v8() {
192193
onUpdate(database, 7, 8)
193-
// Table didnt change in version 8
194+
// Table didnt exist in version 8
195+
verifyZeroInteractions(database)
196+
}
197+
198+
@Test
199+
fun migrateTableVersionFrom_v8_to_v9() {
200+
onUpdate(database, 8, 9)
201+
// Table didnt exist in version 9
202+
verifyZeroInteractions(database)
203+
}
204+
205+
@Test
206+
fun migrateTableVersionFrom_v9_to_v10() {
207+
onUpdate(database, 9, 10)
208+
// Table didnt exist in version 10
209+
verifyZeroInteractions(database)
210+
}
211+
212+
@Test
213+
fun migrateTableVersionFrom_v10_to_v11() {
214+
onUpdate(database, 10, 11)
215+
// Table didnt exist in version 11
216+
verifyZeroInteractions(database)
217+
}
218+
219+
@Test
220+
fun migrateTableVersionFrom_v11_to_v12() {
221+
onUpdate(database, 11, 12)
222+
// Table didnt exist in version 12
223+
verifyZeroInteractions(database)
224+
}
225+
226+
@Test
227+
fun migrateTableVersionFrom_v12_to_v13() {
228+
onUpdate(database, 12, 13)
229+
// Table didnt exist in version 13
230+
verifyZeroInteractions(database)
231+
}
232+
233+
@Test
234+
fun migrateTableVersionFrom_v13_to_v14() {
235+
onUpdate(database, 13, 14)
236+
// Table didnt exist in version 14
237+
verifyZeroInteractions(database)
238+
}
239+
240+
@Test
241+
fun migrateTableVersionFrom_v14_to_v15() {
242+
onUpdate(database, 14, 15)
243+
// Table didnt exist in version 15
244+
verifyZeroInteractions(database)
245+
}
246+
247+
@Test
248+
fun migrateTableVersionFrom_v15_to_v16() {
249+
onUpdate(database, 15, 16)
250+
// Table didnt exist in version 16
251+
verifyZeroInteractions(database)
252+
}
253+
254+
@Test
255+
fun migrateTableVersionFrom_v16_to_v17() {
256+
onUpdate(database, 16, 17)
257+
// Table didnt exist in version 17
258+
verifyZeroInteractions(database)
259+
}
260+
261+
@Test
262+
fun migrateTableVersionFrom_v18_to_v19() {
263+
onUpdate(database, 18, 19)
264+
// Table didnt exist in version 18
265+
verifyZeroInteractions(database)
266+
}
267+
268+
@Test
269+
fun migrateTableVersionFrom_v19_to_v20() {
270+
onUpdate(database, 19, 20)
271+
verify(database).execSQL(CREATE_TABLE_STATEMENT)
272+
}
273+
274+
@Test
275+
fun migrateTableVersionFrom_v20_to_v20() {
276+
onUpdate(database, 20, 20)
194277
verifyZeroInteractions(database)
195278
}
196279

0 commit comments

Comments
 (0)