- 16 Jul, 2013 1 commit
-
-
antirez authored
This fixes issue #1194, that contains many details. However in short, it was possible for ZADD to not accept as score values that was however possible to obtain with multiple calls to ZINCRBY, like in the following example: redis 127.0.0.1:6379> zadd k 2.5e-308 m (integer) 1 redis 127.0.0.1:6379> zincrby k -2.4e-308 m "9.9999999999999694e-310" redis 127.0.0.1:6379> zscore k m "9.9999999999999694e-310" redis 127.0.0.1:6379> zadd k 9.9999999999999694e-310 m1 (error) ERR value is not a valid float The problem was due to strtod() returning ERANGE in the following case specified by POSIX: "If the correct value would cause an underflow, a value whose magnitude is no greater than the smallest normalized positive number in the return type shall be returned and errno set to [ERANGE].". Now instead the returned value is accepted even when ERANGE is returned as long as the return value of the function is not negative or positive HUGE_VAL or zero.
-
- 12 Jul, 2013 1 commit
-
-
antirez authored
compareStringObject was not always giving the same result when comparing two exact strings, but encoded as integers or as sds strings, since it switched to strcmp() when at least one of the strings were not sds encoded. For instance the two strings "123" and "123\x00456", where the first string was integer encoded, would result into the old implementation of compareStringObject() to return 0 as if the strings were equal, while instead the second string is "greater" than the first in a binary comparison. The same compasion, but with "123" encoded as sds string, would instead return a value < 0, as it is correct. It is not impossible that the above caused some obscure bug, since the comparison was not always deterministic, and compareStringObject() is used in the implementation of skiplists, hash tables, and so forth. At the same time, collateStringObject() was introduced by this commit, so that can be used by SORT command to return sorted strings usign collation instead of binary comparison. See next commit.
-
- 28 Jan, 2013 2 commits
-
-
antirez authored
-
antirez authored
decrRefCount used to get its argument as a void* pointer in order to be used as destructor where a 'void free_object(void*)' prototype is expected. However this made simpler to introduce bugs by freeing the wrong pointer. This commit fixes the argument type and introduces a new wrapper called decrRefCountVoid() that can be used when the void* argument is needed.
-
- 19 Jan, 2013 1 commit
-
-
guiquanz authored
Conflicts fixed, mainly because 2.8 has no cluster support / files: 00-RELEASENOTES src/cluster.c src/crc16.c src/redis-trib.rb src/redis.h
-
- 08 Nov, 2012 1 commit
-
-
antirez authored
-
- 05 Apr, 2012 1 commit
-
-
Premysl Hruby authored
-
- 27 Mar, 2012 1 commit
-
-
Premysl Hruby authored
-
- 22 Mar, 2012 2 commits
- 03 Jan, 2012 1 commit
-
-
Pieter Noordhuis authored
-
- 14 Nov, 2011 1 commit
-
-
antirez authored
string to number API is now more strict not accepting spaces before or after the number. A few tests converted to match the new error messages using the word float instead of double.
-
- 12 Nov, 2011 1 commit
-
-
antirez authored
-
- 08 Nov, 2011 1 commit
-
-
antirez authored
-
- 04 Oct, 2011 1 commit
-
-
antirez authored
-
- 13 Jul, 2011 1 commit
-
-
antirez authored
-
- 25 Jun, 2011 1 commit
-
-
antirez authored
-
- 03 Jun, 2011 1 commit
-
-
antirez authored
-
- 05 May, 2011 1 commit
-
-
Pieter Noordhuis authored
-
- 06 Apr, 2011 3 commits
-
-
Pieter Noordhuis authored
-
antirez authored
make sure that OBJECT ENCODING returns skiplist for sorted sets, and not raw, so that once we will merge specially encoded sorted sets everything will make sense.
-
antirez authored
-
- 08 Mar, 2011 2 commits
-
-
Pieter Noordhuis authored
-
Pieter Noordhuis authored
-
- 01 Jan, 2011 1 commit
-
-
antirez authored
implemented a different approach to IO scheduling, so object->storage is no longer used, instead there is a queue and hash table of IO tasks to process, and it is always possible to know what are the scheduled and acrtive IO operations against every single key.
-
- 30 Dec, 2010 1 commit
-
-
antirez authored
-
- 29 Dec, 2010 1 commit
-
-
antirez authored
touched key for WATCH refactored into a more general thing that can be used also for the cache system. Some more changes towards diskstore working.
-
- 28 Dec, 2010 1 commit
-
-
antirez authored
-
- 04 Nov, 2010 1 commit
-
-
Pieter Noordhuis authored
-
- 15 Oct, 2010 1 commit
-
-
antirez authored
prevent small integer sharing when maxmemory is active. So every object will use a private LRU field and the LRU algorithm can work well
-
- 14 Oct, 2010 2 commits
- 02 Sep, 2010 2 commits
-
-
Pieter Noordhuis authored
-
Pieter Noordhuis authored
-
- 30 Aug, 2010 1 commit
-
-
Pieter Noordhuis authored
-
- 26 Aug, 2010 1 commit
-
-
antirez authored
-
- 23 Aug, 2010 1 commit
-
-
antirez authored
Fixed overflow detection in argument to long convertion function in general, and in expire/ttl pairs specifically, addressing issue 54
-
- 20 Aug, 2010 1 commit
-
-
Pieter Noordhuis authored
-
- 29 Jul, 2010 1 commit
-
-
Pieter Noordhuis authored
Return an error when the resulting value is not a number (NaN). Fix ZUNIONSTORE/ZINTERSTORE to clean up when a weight argument is not a double value.
-
- 22 Jul, 2010 1 commit
-
-
antirez authored
-