SQLiteFullException: database or disk is full (code 13) GreenDao

Gigin Ginanjar picture Gigin Ginanjar · Jun 16, 2016 · Viewed 9.6k times · Source

how to solving SQLiteFulException in greenDao when I delete record from table?

this is my stacktrace :

android.database.sqlite.SQLiteFullException: database or disk is full (code 13)
at android.database.sqlite.SQLiteConnection.nativeExecute(Native Method)
at android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:555)
at android.database.sqlite.SQLiteSession.endTransactionUnchecked(SQLiteSession.java:437)
at android.database.sqlite.SQLiteSession.endTransaction(SQLiteSession.java:401)
at android.database.sqlite.SQLiteDatabase.endTransaction(SQLiteDatabase.java:522)
at de.greenrobot.dao.AbstractDao.deleteInTxInternal(AbstractDao.java:613)
at de.greenrobot.dao.AbstractDao.deleteInTx(AbstractDao.java:623)

this is my code for delete record from database :

QueryBuilder<TaskD> qb = getTaskDDao(context).queryBuilder();
qb.where(TaskDDao.Properties.Uuid_task_h.eq(keyTaskH));
qb.build();
getTaskDDao(context).deleteInTx(qb.list());
getDaoSession(context).clear();

Answer

Markus Junginger picture Markus Junginger · Jun 16, 2016

This is unrelated to greenDAO. If your disk is full, it is full. You ran out of disk space. Depending on what you do, running VACUUM SQLite occasionally may defrag your DB.