Recuperar grande bolha do banco de dados Android sqlite
Eu armazenei pedaços de dados binários (protobufs) no banco de dados sqlite de um aplicativo Android sem perceber que o AndroidCursor
só pode conter um máximo de 1 MB de dados. Agora sei que deveria ter armazenado esses blobs binários em arquivos e referenciado apenas os arquivos nas entradas do banco de dados sqlite.
Eu preciso atualizar o banco de dados (o aplicativo tem sido usado por um tempo) para mover esses pedaços binários para arquivos. O problema é que os dados de alguns usuários já podem ter ultrapassado o limite de 1 MB e não consigo recuperá-los do banco de dados (acessando oCursor
para uma única linha que contém uma grande bolha lança umIllegalStateException: Couldn't read row 0, col 0 from CursorWindow. Make sure the Cursor is initialize before accessing data from it
).
Como faço para recuperar os blobs binários que são maiores que o 1MBCursor
limite que foram armazenados no banco de dados sqlite?