title: SQLiteBlobTooBigException: Row too big to fit into CursorWindow while writing to DB
body: <p>I see the above error when I try to add to sqllite DB on android.I am using cloudant library. Here's the stack trace:</p>
  
  <pre><code>2019-07-17 18:04:48.292 5522-5753/org.iprd.identity E/SQLiteQuery: exception: Row too big to fit into CursorWindow requiredPos=0, totalRows=1; query: SELECT docs.docid, docs.doc_id, revid, sequence, current, deleted, parent, json FROM revs, docs WHERE docs.docid=? AND revs.doc_id=docs.doc_id AND revid=? ORDER BY revs.sequence LIMIT 1
  2019-07-17 18:04:48.302 5522-5522/org.iprd.identity E/DatabaseImpl: Failed to create document
      java.util.concurrent.ExecutionException: android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=0, totalRows=1
          at java.util.concurrent.FutureTask.report(FutureTask.java:123)
          at java.util.concurrent.FutureTask.get(FutureTask.java:193)
          at com.cloudant.sync.internal.documentstore.DatabaseImpl.get(DatabaseImpl.java:1084)
          at com.cloudant.sync.internal.documentstore.DatabaseImpl.create(DatabaseImpl.java:925)
  </code></pre>
  
  <p>I never got this issue previously, however, I recently made a change and started using a 3rd party tool to give me some images. With this new tool, the image sizes seem to be much bigger than before. I am storing these images in my db as a string by doing a Base64 encoding of the image. However, with this new tool, while storing the image, I get the above exception. </p>
  
  <p>I have a unit test which I tried using one of the generated strings from this image, but that also throws an error that the string size is too large and does not even compile.</p>
  
  <p>What is the best approach to solve this? - </p>
  
  <ol>
  <li><p>What I was thinking of doing is to store the image in the device itself and just store the path in the DB.</p></li>
  <li><p>Is there some compression we can do to the image to reduce its file size?</p></li>
  <li><p>Is it possible to tune some db setting to ensure that it can handle larger image sizes?</p></li>
  </ol>
  
  <p>Thanks in advance!</p>