@Override
        public void onDowngrade(final SQLiteDatabase db, final int oldVersion, final int newVersion) {
            Log.iForce("[DB] Request to downgrade database from ver. " + oldVersion + " to ver. " + newVersion + ": start");

            //ask the database for a list of downgradeable DB versions AT THE TIME THIS DB WAS LAST UPGRADED
            //(which might be later than the current code version was written)
            final Set<Integer> downgradeableVersions = DBDowngradeableVersions.load(db);

            //allow downgrade if, and only if, all versions between oldVersion and newVersion are marked as "downward-compatible"
            for (int version = oldVersion; version > newVersion; version--) {
                if (!downgradeableVersions.contains(version)) {
                    throw new SQLiteException("Can't downgrade database from version " + oldVersion + " to " + newVersion +
                            ": " + version + " is not downward compatible");
                }
            }
            Log.iForce("[DB] Downgrade database from ver. " + oldVersion + " to ver. " + newVersion + ": allowed");
        }
We override the default open/create as it doesn't work on OS 1.6 and
causes issues on other devices too.
main/src/main/java/cgeo/geocaching/storage/DataStore.java