@Override
        public void onCreate(final SQLiteDatabase db) {
            newlyCreatedDatabase = true;
            db.execSQL(dbCreateCaches);
            db.execSQL(dbCreateLists);
            db.execSQL(dbCreateCachesLists);
            db.execSQL(dbCreateAttributes);
            db.execSQL(dbCreateWaypoints);
            db.execSQL(dbCreateVariables);
            db.execSQL(dbCreateCategories);
            db.execSQL(dbCreateSpoilers);
            db.execSQL(dbCreateLogs);
            db.execSQL(dbCreateLogCount);
            db.execSQL(dbCreateLogImages);
            db.execSQL(dbCreateLogsOffline);
            db.execSQL(dbCreateLogsOfflineImages);
            db.execSQL(dbCreateLogsOfflineTrackables);
            db.execSQL(dbCreateTrackables);
            db.execSQL(dbCreateSearchDestinationHistory);
            db.execSQL(dbCreateTrailHistory);
            db.execSQL(dbCreateRoute);
            db.execSQL(dbCreateExtension);
            db.execSQL(dbCreateFilters);

            createIndices(db, dbVersion);

            //at the very end of onCreate: write downgradeable versions in database
            try {
                DBDowngradeableVersions.save(db, DBVERSIONS_DOWNWARD_COMPATIBLE);
            } catch (final Exception e) {
                Log.e("Failed to write downgradeable versions to " + DBVERSIONS_DOWNWARD_COMPATIBLE, e);
            }
        }
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