title: sqlite - need to delete more than one row to add a new row when database is full
body: <p>When I try to insert new data to a full SQLite database, I need to remove much more than really needed.
  I'm doing the following:</p>
  
  <pre><code>while(1) {
      do {
          status = insert_1_row_to_db();
          if (status == full) {
              remove_one_row_from_db();
          }
      } while (status == full);
  }
  </code></pre>
  
  <p>The inserted data has always the same size.
  When the database is full, removing only one row is enough to insert the new one. But after a while, I need to remove 30, 40 and even more the 100 rows to be able to insert one new row.
  Is it the correct behavior of SQLite?
  Is there a way to remove only what is needed and no more?
  Thanks</p>