1. 12 Nov, 2012 1 commit
    • antirez's avatar
      TTL API change: TTL returns -2 for non existing keys. · 50c41de7
      antirez authored
      The previous behavior was to return -1 if:
      
      1) Existing key but without an expire set.
      2) Non existing key.
      
      Now the second case is handled in a different, and TTL will return -2
      if the key does not exist at all.
      
      PTTL follows the same behavior as well.
      50c41de7
  2. 08 Nov, 2012 1 commit
  3. 11 Sep, 2012 1 commit
    • antirez's avatar
      Make sure that SELECT argument is an integer or return an error. · b58f03a0
      antirez authored
      Unfortunately we had still the lame atoi() without any error checking in
      place, so "SELECT foo" would work as "SELECT 0". This was not an huge
      problem per se but some people expected that DB can be strings and not
      just numbers, and without errors you get the feeling that they can be
      numbers, but not the behavior.
      
      Now getLongFromObjectOrReply() is used as almost everybody else across
      the code, generating an error if the number is not an integer or
      overflows the long type.
      
      Thanks to @mipearson for reporting that on Twitter.
      b58f03a0
  4. 30 Apr, 2012 1 commit
    • Pieter Noordhuis's avatar
      Use safe dictionary iterator from KEYS · 9311d2b5
      Pieter Noordhuis authored
      Every matched key in a KEYS call is checked for expiration. When the key
      is set to expire, the call to `getExpire` will assert that the key also
      exists in the main dictionary. This in turn causes a rehashing step to
      be executed. Rehashing a dictionary when there is an iterator active may
      result in the iterator emitting duplicate entries, or not emitting some
      entries at all. By using a safe iterator, the rehash step is omitted.
      9311d2b5
  5. 07 Apr, 2012 1 commit
  6. 05 Apr, 2012 3 commits
  7. 27 Mar, 2012 2 commits
  8. 10 Mar, 2012 1 commit
  9. 04 Feb, 2012 1 commit
  10. 01 Feb, 2012 1 commit
  11. 30 Jan, 2012 1 commit
  12. 21 Dec, 2011 3 commits
  13. 18 Nov, 2011 1 commit
  14. 10 Nov, 2011 1 commit
  15. 09 Nov, 2011 2 commits
  16. 08 Nov, 2011 1 commit
  17. 17 Oct, 2011 2 commits
  18. 10 Oct, 2011 1 commit
  19. 04 Oct, 2011 1 commit
  20. 07 Jul, 2011 2 commits
  21. 25 Jun, 2011 1 commit
  22. 20 Jun, 2011 1 commit
  23. 05 May, 2011 1 commit
  24. 29 Apr, 2011 1 commit
  25. 28 Apr, 2011 1 commit
  26. 29 Mar, 2011 1 commit
  27. 28 Mar, 2011 3 commits
  28. 23 Mar, 2011 1 commit
  29. 04 Mar, 2011 1 commit
  30. 14 Jan, 2011 1 commit