Commit 1812e024 authored by antirez's avatar antirez
Browse files

version incremented to 1.050 to distinguish from 1.001 stable and next stable...

version incremented to 1.050 to distinguish from 1.001 stable and next stable versions with minor fixes
parent 2c65cbc9
2009-10-21 TODO updated
2009-10-21 SRANDMEMBER added
2009-10-20 Imporant bug leading to data corruption fixed (NOT affecting stable distribution), Tcl client lib MSET/MSETNX implementation fixed, Added new tests for MSET and MSETNX in test-redis.tcl
2009-10-17 added multi-bulk protocol support to redis-cli and support for MSET and MSETNX
2009-10-17 MSET fixed, was not able to replace keys already set for a stupid bug
2009-10-16 some dead code removed
2009-10-16 multi bulk input protocol fixed
2009-10-16 MSET and MSETNX commands implemented
2009-10-07 undoed all the sds hacking that lead just to random bugs and no memory saving ;)
2009-10-07 initial multi-bulk query protocol, this will allow MSET and other interesting features.
2009-10-03 benchmark now outputs the right command line to shorten the TIME_WAIT interval on Mac OS X when keep alive is set
2009-10-02 Issue 69 fixed. Object integer encoding now works with replication and MONITORing again.
2009-09-18 LREM fixed, used to crash since the new object integer encoding is on the stage
2009-09-17 maxmemory didn't worked in 64 systems for values > 4GB since it used to be an unsigned int. Fixed
2009-09-10 incremented version number to 1.001, AKA Redis edge is no longer stable...
......
......@@ -27,7 +27,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#define REDIS_VERSION "1.001"
#define REDIS_VERSION "1.050"
#include "fmacros.h"
#include "config.h"
......@@ -102,7 +102,8 @@
#define REDIS_STRING 0
#define REDIS_LIST 1
#define REDIS_SET 2
#define REDIS_HASH 3
#define REDIS_ZSET 3
#define REDIS_HASH 4
/* Objects encoding */
#define REDIS_ENCODING_RAW 0 /* Raw representation */
......@@ -304,6 +305,11 @@ typedef struct _redisSortOperation {
robj *pattern;
} redisSortOperation;
typedef struct zset {
dict *dict;
tree *tree;
} zset;
struct sharedObjectsStruct {
robj *crlf, *ok, *err, *emptybulk, *czero, *cone, *pong, *space,
*colon, *nullbulk, *nullmultibulk,
......@@ -633,6 +639,12 @@ static void redisLog(int level, const char *fmt, ...) {
* keys and radis objects as values (objects can hold SDS strings,
* lists, sets). */
static void dictVanillaFree(void *privdata, void *val)
{
DICT_NOTUSED(privdata);
zfree(val);
}
static int sdsDictKeyCompare(void *privdata, const void *key1,
const void *key2)
{
......@@ -709,6 +721,15 @@ static dictType setDictType = {
NULL /* val destructor */
};
static dictType zsetDictType = {
dictEncObjHash, /* hash function */
NULL, /* key dup */
NULL, /* val dup */
dictEncObjKeyCompare, /* key compare */
dictRedisObjectDestructor, /* key destructor */
dictVanillaFree /* val destructor */
};
static dictType hashDictType = {
dictObjHash, /* hash function */
NULL, /* key dup */
......@@ -1810,6 +1831,12 @@ static robj *createSetObject(void) {
return createObject(REDIS_SET,d);
}
static robj *createZsetObject(void) {
dict *d = dictCreate(&zsetDictType,NULL);
if (!d) oom("dictCreate");
return createObject(REDIS_ZSET,d);
}
static void freeStringObject(robj *o) {
if (o->encoding == REDIS_ENCODING_RAW) {
sdsfree(o->ptr);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment