I agree with you -- my naive assumption would be that EXISTS and DEL on a
single key, if executed at the same time on identical datasets, should
return the same result.
Interestingly, the DEL and EXISTS docs make no mention of key expiry, but
the docs for EXPIRE mention DEL almost in passing:
The timeout is cleared only when the key is removed using the DEL command
That reads to me a little bit like DEL acts on the key before its expiry is
considered, but it's still ambiguous enough to matter.
It's a trivial thing to patch, if it is deemed that the semantics of EXISTS
and DEL should be the same in the face of key expiry -- just need to chuck
expireIfNeeded(c->db,c->argv[j]) before the call to dbDelete in delCommand.
If you feel like shooting to get your name in the commit logs, you could put
up a pull request and see where it goes.
- Matt
--
Well-designed presentation software would, when the user chooses any
transition other than "dissolve", put up a dialog box saying "You are a
jerk. Press OK to continue."
-- Simon Cozens, in a place that doesn't exist