/* ownCloud Android client application\r
* Copyright (C) 2011 Bartek Przybylski\r
+ * Copyright (C) 2012-2013 ownCloud Inc.\r
*\r
* This program is free software: you can redistribute it and/or modify\r
* it under the terms of the GNU General Public License as published by\r
- * the Free Software Foundation, either version 3 of the License, or\r
+ * the Free Software Foundation, either version 2 of the License, or\r
* (at your option) any later version.\r
*\r
* This program is distributed in the hope that it will be useful,\r
}\r
if (oldVersion < 3 && newVersion >= 3) {\r
Log.i("SQL", "Entering in the #2 ADD in onUpgrade");\r
- db.execSQL("ALTER TABLE " + ProviderTableMeta.DB_NAME +\r
- " ADD COLUMN " + ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA + " INTEGER " +\r
- " DEFAULT 0");\r
- upgraded = true;\r
+ db.beginTransaction();\r
+ try {\r
+ db.execSQL("ALTER TABLE " + ProviderTableMeta.DB_NAME +\r
+ " ADD COLUMN " + ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA + " INTEGER " +\r
+ " DEFAULT 0");\r
+ \r
+ // assume there are not local changes pending to upload\r
+ db.execSQL("UPDATE " + ProviderTableMeta.DB_NAME + \r
+ " SET " + ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA + " = " + System.currentTimeMillis() + \r
+ " WHERE " + ProviderTableMeta.FILE_STORAGE_PATH + " IS NOT NULL");\r
+ \r
+ upgraded = true;\r
+ db.setTransactionSuccessful();\r
+ } finally {\r
+ db.endTransaction();\r
+ }\r
}\r
if (oldVersion < 4 && newVersion >= 4) {\r
Log.i("SQL", "Entering in the #3 ADD in onUpgrade");\r
- db.execSQL("ALTER TABLE " + ProviderTableMeta.DB_NAME +\r
+ db.beginTransaction();\r
+ try {\r
+ db .execSQL("ALTER TABLE " + ProviderTableMeta.DB_NAME +\r
" ADD COLUMN " + ProviderTableMeta.FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA + " INTEGER " +\r
" DEFAULT 0");\r
- upgraded = true;\r
+ \r
+ db.execSQL("UPDATE " + ProviderTableMeta.DB_NAME + \r
+ " SET " + ProviderTableMeta.FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA + " = " + ProviderTableMeta.FILE_MODIFIED + \r
+ " WHERE " + ProviderTableMeta.FILE_STORAGE_PATH + " IS NOT NULL");\r
+ \r
+ upgraded = true;\r
+ db.setTransactionSuccessful();\r
+ } finally {\r
+ db.endTransaction();\r
+ }\r
}\r
if (!upgraded)\r
Log.i("SQL", "OUT of the ADD in onUpgrade; oldVersion == " + oldVersion + ", newVersion == " + newVersion);\r