Background: https://github.com/Level/abstract-leveldown/pull/24#issuecomment-397760287. **Phase 1: get it working** - [x] The default implementation of `clear()` deletes entries with an iterator. It can take range options, e.g. `clear({ gt: 'foo' })` and should serialize them - [x] PR: https://github.com/Level/abstract-leveldown/pull/310 - [x] Release: `6.1.0` - [x] `encoding-down` can call `this.db.clear()` and should encode the range options - [x] PR: https://github.com/Level/encoding-down/pull/89) - [x] Release: `6.2.0` - [x] `leveldown` - [x] PR: https://github.com/Level/leveldown/pull/660 - [x] Release: `5.2.0` - [x] `deferred-leveldown` should defer it - [x] PR: https://github.com/Level/deferred-leveldown/pull/72 - [x] Release: `5.2.0` - [x] `levelup` - [x] PR: https://github.com/Level/levelup/pull/669 - [x] Release: `4.2.0` - [x] `memdown` - [x] PR: https://github.com/Level/memdown/pull/194 - [x] Release: 5.0.0 - [x] `level-packager` (bump dependencies to prevent dedupe) - [x] Commit: Level/packager@a293d30 - [x] Release: `5.0.3` - [x] `level-js` - [x] PR: https://github.com/Level/level-js/pull/182 - [x] Release: 5.0.0 - [x] `level` - [x] PR or commit: https://github.com/Level/level/pull/162, https://github.com/Level/level/commit/5efdc82e9064e8f1826c708dccd28c85306b759a - [x] Release: 6.0.0 - [x] `level-mem` (bump dependencies to prevent dedupe) - [x] Commit: Level/mem@baec173 - [x] Release: `5.0.1` - [x] `rocksdb` - [x] Commit: https://github.com/Level/rocksdb/commit/b9d58fbc9266aa3d1143dd5bc65a0cdea225feab - [x] Release: 4.1.0 - [x] `level-rocksdb` (bump dependencies to prevent dedupe) - [x] `subleveldown` uses the range options to implement `clear` on a sublevel - [x] PR: https://github.com/Level/subleveldown/pull/74 - [x] Release: 4.1.2 - [x] `multileveldown` (and by extension, `level-party`) - [x] https://github.com/Level/multileveldown/commit/47e0137fc5244d291d696296ef23da32ff7d8a39 - [x] Release: 5.0.0 - [x] ~~`leveldown-hyper` and `level-hyper`~~ (slated to be deprecated) **Phase 2: optimize** - [x] `memdown`: https://github.com/Level/memdown/pull/213 - [x] `leveldown` can implement it natively (https://github.com/Level/leveldown/issues/680) - [x] `rocksdb`: https://github.com/Level/rocksdb/pull/184 (5.2.0) - [x] `level-js` can call either `IDBObjectStore#clear()` or `IDBObjectStore#delete(range)` **On the side** - [x] ~~Use it in [`mafintosh/level-temp`](https://github.com/mafintosh/level-temp)~~ (old) - [x] ~~Add notice to [`Raynos/level-delete-range`](https://github.com/Raynos/level-delete-range)~~ (old) - [x] https://github.com/juliangruber/level-delete-stream/pull/3 - [x] ~~Send PR to [`noffle/kappa-view-level`](https://github.com/noffle/kappa-view-level) for its [`clearIndex()`](https://github.com/noffle/kappa-view-level/blob/0665b631669b34b3f11935f9611a8118e5c73641/index.js#L47-L68)~~
Background: Level/abstract-leveldown#24 (comment).
Phase 1: get it working
clear()deletes entries with an iterator. It can take range options, e.g.clear({ gt: 'foo' })and should serialize them6.1.0encoding-downcan callthis.db.clear()and should encode the range options6.2.0leveldown5.2.0deferred-leveldownshould defer it5.2.0levelup4.2.0memdownlevel-packager(bump dependencies to prevent dedupe)5.0.3level-jslevellevel-mem(bump dependencies to prevent dedupe)5.0.1rocksdblevel-rocksdb(bump dependencies to prevent dedupe)subleveldownuses the range options to implementclearon a sublevelmultileveldown(and by extension,level-party)(slated to be deprecated)leveldown-hyperandlevel-hyperPhase 2: optimize
memdown: Optimizedb.clear()memdown#213leveldowncan implement it natively (Optimize _clear() leveldown#680)rocksdb: Add db.getMany(keys) rocksdb#184 (5.2.0)level-jscan call eitherIDBObjectStore#clear()orIDBObjectStore#delete(range)On the side
Use it in(old)mafintosh/level-tempAdd notice to(old)Raynos/level-delete-rangeSend PR tonoffle/kappa-view-levelfor itsclearIndex()