code: def dump(self):
          
          assert self.database is not None
  
          cmd = "SELECT count from {} WHERE rowid={}"
          self._execute(cmd.format(self.STATE_INFO_TABLE, self.STATE_INFO_ROW))
          ret = self._fetchall()
          assert len(ret) == 1
          assert len(ret[0]) == 1
          count = self._from_sqlite(ret[0][0]) + self.inserts
  
          if count > self.row_limit:
              msg = "cleaning up state, this might take a while."
              logger.warning(msg)
  
              delete = count - self.row_limit
              delete += int(self.row_limit * (self.row_cleanup_quota / 100.0))
              cmd = (
                  "DELETE FROM {} WHERE timestamp IN ("
                  "SELECT timestamp FROM {} ORDER BY timestamp ASC LIMIT {});"
              )
              self._execute(
                  cmd.format(self.STATE_TABLE, self.STATE_TABLE, delete)
              )
  
              self._vacuum()
  
              cmd = "SELECT COUNT(*) FROM {}"
  
              self._execute(cmd.format(self.STATE_TABLE))
              ret = self._fetchall()
              assert len(ret) == 1
              assert len(ret[0]) == 1
              count = ret[0][0]
  
          cmd = "UPDATE {} SET count = {} WHERE rowid = {}"
          self._execute(
              cmd.format(
                  self.STATE_INFO_TABLE,
                  self._to_sqlite(count),
                  self.STATE_INFO_ROW,
              )
          )
  
          self._update_cache_directory_state()
  
          self.database.commit()
          self.cursor.close()
          self.database.close()
          self.database = None
          self.cursor = None
          self.inserts = 0
docs: Saves state database.