Quantcast
Channel: Mobile - Couchbase Forums
Viewing all articles
Browse latest Browse all 1119

Delete Database In 2.8.5

$
0
0

Hi @priya.rajagopal ,

I am facing an issue while deleting database after upgrading to the couchbase 2.8.5. Here I tried everything but I am getting exceptions. As per your new documentation database.delete() will stop all replicators, live queries, and listeners attached to it. But I am getting below written error

CouchbaseLiteException{CouchbaseLite,16,'Can't delete db file while other connections are open
2021-04-30 20:24:04.203 9762-9762/com.drlite W/System.err:    (CouchbaseLite Android v2.8.5-1 (CE/release, Commit/40e7b34008@c65a5127e818 Core/2.8.5 (1) at 2021-03-10T01:41:36.538Z) on Java; Android 10; Android SDK built for x86)'}
2021-04-30 20:24:04.203 9762-9762/com.drlite W/System.err:     at com.couchbase.lite.internal.CBLStatus.toCouchbaseLiteException(CBLStatus.java:96)
2021-04-30 20:24:04.203 9762-9762/com.drlite W/System.err:     at com.couchbase.lite.internal.CBLStatus.convertException(CBLStatus.java:45)
2021-04-30 20:24:04.203 9762-9762/com.drlite W/System.err:     at com.couchbase.lite.AbstractDatabase.shutdown(AbstractDatabase.java:1697)
2021-04-30 20:24:04.203 9762-9762/com.drlite W/System.err:     at com.couchbase.lite.AbstractDatabase.delete(AbstractDatabase.java:775)
2021-04-30 20:24:04.203 9762-9762/com.drlite W/System.err:     at com.couchbase.lite.Database.delete(Database.java:28)
2021-04-30 20:24:04.203 9762-9762/com.drlite W/System.err:     at com.drlite.database.SchedulerDatabase.deleteDatabase(SchedulerDatabase.java:72)
2021-04-30 20:24:04.204 9762-9762/com.drlite W/System.err:     at com.drlite.utils.DRXApplication.deleteAllDatabase(DRXApplication.java:652)
2021-04-30 20:24:04.204 9762-9762/com.drlite W/System.err:     at com.drlite.activity.SettingActivity$1$1.run(SettingActivity.java:274)
2021-04-30 20:24:04.204 9762-9762/com.drlite W/System.err:     at android.os.Handler.handleCallback(Handler.java:883)
2021-04-30 20:24:04.204 9762-9762/com.drlite W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:100)
2021-04-30 20:24:04.204 9762-9762/com.drlite W/System.err:     at android.os.Looper.loop(Looper.java:214)
2021-04-30 20:24:04.204 9762-9762/com.drlite W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:7356)
2021-04-30 20:24:04.204 9762-9762/com.drlite W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
2021-04-30 20:24:04.204 9762-9762/com.drlite W/System.err:     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
2021-04-30 20:24:04.204 9762-9762/com.drlite W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
2021-04-30 20:24:04.204 9762-9762/com.drlite W/System.err: Caused by: LiteCoreException{domain=1, code=16, msg=Can't delete db file while other connections are open}
2021-04-30 20:24:04.204 9762-9762/com.drlite W/System.err:     at com.couchbase.lite.internal.core.C4Database.delete(Native Method)
2021-04-30 20:24:04.204 9762-9762/com.drlite W/System.err:     at com.couchbase.lite.internal.core.C4Database.delete(C4Database.java:117)
2021-04-30 20:24:04.205 9762-9762/com.drlite W/System.err:     at com.couchbase.lite.-$$Lambda$oDs8YQC1RAP18TZgiPd8o9rig3o.accept(Unknown Source:2)
2021-04-30 20:24:04.205 9762-9762/com.drlite W/System.err:     at com.couchbase.lite.AbstractDatabase.shutdown(AbstractDatabase.java:1696)
2021-04-30 20:24:04.205 9762-9762/com.drlite W/System.err: 	... 12 more`

While my code is given below. I am not able to understand where I am doing wrong. even I tried to close the database before delete which was working in 2.7.0. Right now that is also giving me Attempt to perform an operation on a closed database.

public void deleteAllDatabase() {
    try {
        if (schedulerDatabase != null) {

            schedulerDatabase.deleteDatabase(getSchedularDatabase());
            schedulerDatabase = null;
            schedularDatabaseInstance = null;
        }
}

public Database getSchedularDatabase() {
    if (schedularDatabaseInstance != null) {
        return schedularDatabaseInstance;
    } else {

        initSchedularDatabase();
        return schedularDatabaseInstance;
    }
}

private void initSchedularDatabase() {
    try {
        DatabaseConfiguration config = new DatabaseConfiguration();
        schedularDatabaseInstance = new Database(Constants.SCHEDULAR_DATABASE_NAME, config);
    } catch (CouchbaseLiteException e) {
        e.printStackTrace();
    }
}

public void deleteDatabase(Database database) {
    try {
        database.delete();
    } catch (CouchbaseLiteException e) {
        e.printStackTrace();
        return;
    }
}

Please help provide some assistance how to delete a database in 2.8.5

4 posts - 2 participants

Read full topic


Viewing all articles
Browse latest Browse all 1119

Trending Articles