test: add test to verify that a sorted set is automatically deleted if its last element is removed (#10261)

* test: add test to verify that a sorted set is automatically deleted if its last element is removed

* fix: remote empty zsets when all elements have been removed #yolo

* Revert "fix: remote empty zsets when all elements have been removed #yolo"

This reverts commit 0ac73244bb6ffd802007a252a35844c589ce8721.

* fix: altered behaviour in module.exists instead of zrem
isekai-main
Julian Lam 3 years ago committed by GitHub
parent fb3f4f9a13
commit 606808760e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -17,6 +17,13 @@ module.exports = function (module) {
return;
}
// Redis/Mongo consider empty zsets as non-existent, match that behaviour
const type = await module.type(key);
if (type === 'zset') {
const members = await module.getSortedSetRange(key, 0, 0);
return members.length > 0;
}
if (Array.isArray(key)) {
const res = await module.pool.query({
name: 'existsArray',

@ -1085,6 +1085,11 @@ describe('Sorted Set methods', () => {
});
});
it('should not think the sorted set exists if the last element is removed', async () => {
await db.sortedSetRemove('sorted3', 'value1');
assert.strictEqual(await db.exists('sorted3'), false);
});
it('should remove multiple values from multiple keys', (done) => {
db.sortedSetAdd('multiTest1', [1, 2, 3, 4], ['one', 'two', 'three', 'four'], (err) => {
assert.ifError(err);

Loading…
Cancel
Save