removeMany method

  1. @override
Future<int> removeMany(
  1. List<String> keys, {
  2. bool skipCommit = false,
})
override

Bulk delete — removes every key in keys. Returns the count of keys actually removed (race-tolerant: input keys may already have been deleted).

Implementation

@override
Future<int> removeMany(List<String> keys, {bool skipCommit = false}) async {
  var removed = 0;
  _db.runInTransaction(() {
    for (final k in keys) {
      if (_db.raw.select(
          'SELECT 1 FROM notifications WHERE id = ? LIMIT 1;', [k]).isEmpty) {
        continue;
      }
      _db.raw.execute('DELETE FROM notifications WHERE id = ?;', [k]);
      removed++;
    }
  });
  return removed;
}