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

12,607

Solution 1

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.

Solution 2

From SQLite documentation

(13) SQLITE_FULL

The SQLITE_FULL result code indicates that a write could not complete because the disk is full. Note that this error can occur when trying to write information into the main database file, or it can also occur when writing into temporary disk files. Sometimes applications encounter this error even though there is an abundance of primary disk space because the error occurs when writing into temporary disk files on a system where temporary files are stored on a separate partition with much less space that the primary disk. https://www.sqlite.org/rescode.html#full

I guess application is installed on SDCARD or something.

Share:
12,607
Gigin Ginanjar
Author by

Gigin Ginanjar

By Day : Android developer and UWP developer By Night : Good boys, stay at home and enjoying live.. maybe introvert. but I like someone who care for everyone.

Updated on June 19, 2022

Comments

  • Gigin Ginanjar
    Gigin Ginanjar about 2 years

    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();
    
  • Gigin Ginanjar
    Gigin Ginanjar about 8 years
    is there the ability from GreenDao for setting schema.auto_vacuum in the database, @greenrobot ?
  • Markus Junginger
    Markus Junginger about 8 years
    No, greenDAO does not touch vacuum at all