Commit Graph

860 Commits

Author SHA1 Message Date
antirez
3738ff5f32 Fix for the variadic version of SREM. Regression test added. 2011-05-31 20:14:29 +02:00
antirez
ef231a7c56 Variadic ZADD 2011-05-31 17:47:34 +02:00
Pieter Noordhuis
632e4c09ac Make replication faster (biggest gain for small number of slaves) 2011-05-30 12:45:07 +02:00
antirez
615e414c5d INFO now contains the time (in usecs) needed to fork() in order to persist. The info is available in the stats section of INFO. 2011-05-29 15:17:29 +02:00
antirez
43222f253a Merge remote branch 'pietern/unstable-replnonblock' into unstable 2011-05-29 14:26:01 +02:00
antirez
18f63d8d51 redis-cli: -i (interval) implemented, to wait the specified number of seconds (decimal digits are allowed) between commands. 2011-05-28 15:41:08 +02:00
antirez
442c748d84 redis-cli: Use the repetiton prefix after a reconnection. 2011-05-28 15:25:48 +02:00
antirez
4d19e3443c redis-cli in REPL mode is now able to send the same command multiple times, prefixing the command with a number as in "10 ping" 2011-05-28 15:13:55 +02:00
antirez
a45f9a1a1d redis-cli no longer aborts in repl-mode on error, and retries to reconncet with the server at every command issued if the state is not connected. Also the prompt shows the server we are connected to. 2011-05-28 15:04:12 +02:00
antirez
3bb818df40 Make sure error and status replies emitted by Lua scripts can never have more than a newline, otherwise it is a protocol violation and clients will desync. 2011-05-25 12:32:50 +02:00
antirez
e927a24610 Fix for wrong error level detection in redis.log() 2011-05-25 12:32:50 +02:00
antirez
288f811fea All commands exported by Redis to Lua scripts are now inside the redis table. Implemented redis.log() function. 2011-05-25 12:32:50 +02:00
antirez
7229d60d03 EVALSHA implemented 2011-05-25 12:32:49 +02:00
antirez
82c6b8257a Now it is possible to return multi bulks of multi bulks from Lua, just returning tables of tables. The new conversion of the Null bulk and multi bulk type is the Lua false type. 2011-05-25 12:32:49 +02:00
antirez
da386cdf33 for performance reasons only set the debug hook if the time limit is enabled. 2011-05-25 12:32:49 +02:00
antirez
87c219243c Lua max exec time fixes: redisLog() to log the event moved before the lua_error() call that does a long jump so never returns. Aesthetic fixes in error message. 2011-05-25 12:32:49 +02:00
antirez
bcc72bc381 call the Lua hook with minor frequency. It is already enough to call it every 100000 istructions for near millisecond precision. 2011-05-25 12:32:48 +02:00
antirez
eeffcf380f Lua scripts max execution time 2011-05-25 12:32:48 +02:00
antirez
8c3402dffa Lua memory usage in INFO 2011-05-25 12:32:48 +02:00
antirez
40531be0e3 call lua_gc() for incremental garbage collection. Likely there is to tune this at some point. 2011-05-25 12:32:48 +02:00
antirez
c2a7dd85ae Lua scripting: Honor SELECT command in both ways 2011-05-25 12:32:47 +02:00
antirez
09ab5591fa Fixed a problem in the script engine that crashed the server if the reply was not stored just int the static buffer of the client structure. 2011-05-25 12:32:47 +02:00
antirez
0d916763af Status replies converted in a special way like errors in the Lua <-> Redis conversion code. 2011-05-25 12:32:47 +02:00
antirez
e8092bf601 Scripting doc updated 2011-05-25 12:32:47 +02:00
antirez
497fc8775f Eval command table fixed to return the keys arguments of the command. We use zunionInterGetKeys() as it ZUNION/ZINTER have exactly the same semantic with a prefixed number of keys followed by key names. 2011-05-25 12:32:47 +02:00
antirez
171ef6813d TODO updated 2011-05-25 12:32:46 +02:00
antirez
379789cc52 Fixed nul bulk parsing in Redis protocol to Lua type convertion. Check for bad Lua types as arguements of the redis() Lua command. 2011-05-25 12:32:46 +02:00
antirez
67e829dce5 Scripting todo list updated 2011-05-25 12:32:46 +02:00
antirez
10a6da7af4 Multi bulk to Lua table now working 2011-05-25 12:32:46 +02:00
antirez
3791000f15 Fixed arity detection of Redis command executed from Lua script. Error reporting from Lua fixed. More work on the Redis reply to lua conversion code. 2011-05-25 12:32:45 +02:00
antirez
532e0f5ded full conversion from Lua return value to redis reply. Partial conversion from Redis reply to Lua type. 2011-05-25 12:32:45 +02:00
antirez
4ae5b5e163 pupulate the Lua global tables KEYS and ARGV before executing the script 2011-05-25 12:32:45 +02:00
antirez
00b7541b21 function to access to Redis command from Lua renamed from r() to redis() 2011-05-25 12:32:45 +02:00
antirez
7b72272790 when creating not connected clients do not add them into the clients list, otherwise they will be subject to timeouts and other stuff 2011-05-25 12:32:44 +02:00
antirez
7156f43c04 Correctly glue the reply buffer. For now returned as it is to Lua, but will be converted into Lua native type later. 2011-05-25 12:32:44 +02:00
antirez
0f1d64ca57 Lua call of Redis command work in progress: sorry I have to go to the cinema to watch the Source Code movie 2011-05-25 12:32:44 +02:00
antirez
7585836e6e Lua function creation on EVAL, basic Lua return type to Redis protocol convertion done. 2011-05-25 12:32:43 +02:00
antirez
21d3294c70 makefile adapted to link against lua lib and to pass the 32bit flag to Lua building system 2011-05-25 12:32:43 +02:00
antirez
efc3408748 Fix for Pub/Sub system, introduced in Redis 2.2.6 with the new copy-on-write safe iterator semantics. In the hope this is the last bug I introduced this way. 2011-05-25 12:32:15 +02:00
antirez
d200342ac2 Fixed typo in comment 2011-05-24 10:35:58 +02:00
Pieter Noordhuis
890a2ed989 Configurable synchronous I/O timeout 2011-05-22 12:58:18 +02:00
Pieter Noordhuis
b075621fb7 Minor changes in non-blocking repl. connect 2011-05-22 12:51:09 +02:00
Pieter Noordhuis
a330913999 Non-blocking connect with master 2011-05-19 18:54:57 +02:00
antirez
521ddcce14 Fix for ZUNIONSTORE bug when there is an empty set among input sets. Regression test added. 2011-05-19 17:58:52 +02:00
antirez
330c90b018 fmacros in utils.c to avoid warning about strcasecmp() 2011-05-16 17:20:27 +02:00
antirez
cb16b6c389 Fixed misuse of the new iterator semantics in ZUNIONSTORE 2011-05-15 17:28:06 +02:00
antirez
d070abe44c Fix for a possible bug related to ZINTER/UNIONSTORE called with the same source set more than one time. 2011-05-15 15:33:01 +02:00
antirez
dd1eefa4f3 Fixed SINTER[STORE] problem related to the new copy on write safe iterator 2011-05-15 12:18:00 +02:00
Pieter Noordhuis
041d8e2a5c Fix up rdbWriteRaw to return number of bytes written 2011-05-14 12:47:42 +02:00
Pieter Noordhuis
7271198cf0 Use rio.h functions in aof.c 2011-05-14 12:36:22 +02:00
Pieter Noordhuis
fd535c5862 More rioRead() 2011-05-14 12:32:50 +02:00
Pieter Noordhuis
221782ccc6 Move rdbLoad* to top; update comments 2011-05-13 23:24:19 +02:00
Pieter Noordhuis
f1d8e4968e Make RDB types/opcodes explicit; load/save object type 2011-05-13 22:14:39 +02:00
Pieter Noordhuis
2e4b0e7727 Abstract file/buffer I/O to support in-memory serialization 2011-05-13 17:31:00 +02:00
antirez
defb5f66a0 removed assert causing an illegal memory access. This was responsible of crashes during BLPOP and other list blocking operations. 2011-05-11 09:50:57 +02:00
antirez
6b52ad87c0 RDB version signature bumped to 2, now that direct saving of specially encoded types is implemented 2.2 instances are no longer able to read rdb files produced by 2.4 or unstable. 2011-05-10 11:31:37 +02:00
antirez
4b53e7365c Introduced a safe iterator interface that can be used to iterate while accessing the dictionary at the same time. Now the default interface is consireded unsafe and should be used only with dictNext() 2011-05-10 10:15:50 +02:00
antirez
f13cb0d9de DEBUG DIGEST additional lookup needed for VM removed from unstable branch that does not have VM at all 2011-05-10 10:08:01 +02:00
antirez
6901fe7729 Useless statement removed 2011-05-10 10:07:04 +02:00
antirez
df541beae3 when Redis fails accepting a new connection reports the error at WARNING and not VERBOSE error level. Thanks to offby1 for proposing this in the Redis mailing list. #backport-candidate 2011-05-07 11:47:34 +02:00
antirez
0caa750748 clear importing/exporing state when appropriate on SETSLOT or ADDSLOTS cluster commands 2011-05-06 16:08:10 +02:00
antirez
f9cbdcb1a6 CLUSTER SETSLOT command and some refactoring of the cluster command 2011-05-06 15:44:09 +02:00
antirez
f384df8302 CLUSTER DELSLOTS 2011-05-06 13:38:27 +02:00
antirez
a7b058dae6 Fixed semantics of CLUSTER SETSLOT, SELECT now only denied in cluster mode if selected DB is not 0 so that MIGRATE still works well. 2011-05-05 18:10:02 +02:00
antirez
46834808fe CLUSTER SETSLOT STABLE fixed 2011-05-05 17:56:12 +02:00
antirez
4763ecc9ad missing return caused protocol desync in CLUSTER SETSLOT 2011-05-05 17:52:19 +02:00
antirez
0276e5545c Fixed problem in cluster redirection due to a stupid typo 2011-05-05 17:50:14 +02:00
Pieter Noordhuis
3edbcab95a Extra tests for string2ll 2011-05-05 16:32:22 +02:00
Pieter Noordhuis
c040cbd625 Check seplen and len before malloc'ing "tokens" 2011-05-05 16:32:22 +02:00
Pieter Noordhuis
bf9fd5ffa2 Check for \n after finding \r 2011-05-05 16:32:22 +02:00
Pieter Noordhuis
32f99c5128 Show memory allocator in INFO output 2011-05-05 16:32:18 +02:00
Pieter Noordhuis
edf23aff0e Use string2ll in ziplist code (faster) 2011-05-05 16:26:51 +02:00
Pieter Noordhuis
5d08193126 Tests for string2ll; move isObject* to object.c 2011-05-05 16:26:50 +02:00
Pieter Noordhuis
af0e51f2e1 Move code 2011-05-05 16:25:48 +02:00
Pieter Noordhuis
5282562117 More allocators 2011-05-05 16:25:48 +02:00
Pieter Noordhuis
ded614f803 Inline sdslen and sdsavail (thanks to @bitbckt) 2011-05-05 16:25:48 +02:00
Pieter Noordhuis
5af302011c Use custom string2ll and strchr 2011-05-05 16:25:48 +02:00
Pieter Noordhuis
b7d3bf5157 Fix ziplist regression and update stresser 2011-05-05 15:16:51 +02:00
antirez
eda827f8b7 cluster import/export of hash slots implemented in the query redirection engine 2011-05-05 11:13:21 +02:00
antirez
a5dce40726 if /dev/urandom is not available use rand() to get a random node name 2011-05-04 10:30:22 +02:00
antirez
35845afba0 Better pretty printed makefile output 2011-05-04 10:17:05 +02:00
antirez
0d8f1ac359 initial pretty printing in makefile 2011-05-04 09:32:32 +02:00
antirez
0ba2932298 CLUSTER SETSLOT implemented 2011-05-04 09:31:37 +02:00
antirez
66f2517feb render migrating and importing slots in cluster nodes info 2011-05-02 19:04:33 +02:00
antirez
74a640492f Merge branch 'unstable' of github.com:antirez/redis into unstable 2011-05-01 15:38:59 +02:00
antirez
5cbe90dbfd Fixed a problem with string2ll() 2011-05-01 15:36:47 +02:00
antirez
2f52dac9ef CLUSTER subcommands to set slots in migrating or importing state. Still a work in progress... 2011-04-29 17:34:03 +02:00
antirez
484354ff95 CLUSTER GETKEYSINSLOT implemented 2011-04-29 16:17:58 +02:00
antirez
1eb713a4c1 CLUSTER KEYSLOT command 2011-04-29 14:31:18 +02:00
antirez
d37299e3b7 Fixed a bug with replication where SLAVEOF NO ONE caused a slave to close the connection with its slaves 2011-04-29 14:18:16 +02:00
antirez
c772d9c6e7 take a hashslot -> keys index, will be used for cluster rehasing 2011-04-28 19:00:33 +02:00
Pieter Noordhuis
45b0f6fb14 Use correct argc/argv for cleanup when loading AOF 2011-04-22 09:44:06 +02:00
antirez
7e79dd3f4c peak fragmentation ratio removed as it is a confusing field for users and trivial to compute at hand now that there is peak memory information in INFO output 2011-04-21 16:56:31 +02:00
antirez
b93fdb7bbb CLIENT KILL implemented 2011-04-21 15:47:47 +02:00
antirez
3cd12b5687 CLIENT LIST implemented 2011-04-21 15:38:02 +02:00
antirez
17b24ff30d save peak memory usage as statistic and show it in INFO. Also a new INFO field was added showing the fragmentation ratio using the peak memory info. 2011-04-21 10:49:52 +02:00
antirez
c7ba7b8bbb removed check for zmalloc return NULL in createClient(). The check was misplaced, and zmalloc never returns NULL. 2011-04-20 12:51:03 +02:00
antirez
b3a96d454e Variadic SREM 2011-04-19 17:37:03 +02:00
antirez
64a13a36e6 variadic HDEL with tests 2011-04-19 17:07:55 +02:00
antirez
22f294d24a variadic SADD 2011-04-15 18:08:32 +02:00
antirez
009db67645 addReplyLongLong optimized to return shared objects when the value to reply is 0 or 1 2011-04-15 18:08:24 +02:00
antirez
2e667806ed version bumped to 2.9, that is, 3.0 unstable 2011-04-15 17:44:08 +02:00
antirez
fb2feae599 variadic LPUSH/RPUSH 2011-04-15 16:35:27 +02:00
antirez
7c0e1b53c4 Merge remote branch 'pietern/unstable-zset' into unstable 2011-04-14 13:31:14 +02:00
antirez
d0cfb2be64 redis-trib: functions implementing commands moved at bottom 2011-04-14 09:41:22 +02:00
antirez
8bad0ddd9d fixed bug due to typo in code 2011-04-13 21:26:12 +02:00
antirez
180ba187d3 fixed typo in comment 2011-04-13 20:17:11 +02:00
antirez
9a440ad418 fixed a typo in redis-trib 2011-04-13 18:50:50 +02:00
antirez
3883a381b6 use map! instead of reassigning 2011-04-13 18:46:29 +02:00
antirez
583fc5dd60 hopefully more readable info_string method in redis-trib 2011-04-13 18:40:51 +02:00
antirez
57d83d5673 redis-trib create, first version is know working 2011-04-13 15:58:05 +02:00
antirez
9d89e99c99 no longer useful debugging printf removed 2011-04-13 11:42:05 +02:00
antirez
996d503d1a ASCII ART FTW 2011-04-13 10:58:21 +02:00
antirez
a54d9805ee Merge branch 'unstable' of github.com:antirez/redis into unstable 2011-04-13 10:39:06 +02:00
antirez
1087227d41 redis-trib: show list of commands 2011-04-13 10:38:56 +02:00
antirez
744f34d834 redis-trib can now assign hash slots to initialize a cluster. Next step is to join the cluster. 2011-04-12 17:06:33 +02:00
antirez
d415f9ff41 Merge branch 'unstable' of github.com:antirez/redis into unstable 2011-04-12 15:36:10 +02:00
Salvatore Sanfilippo
f29d1fb0b2 assert_empty in redis-trib 2011-04-11 18:26:00 +02:00
Salvatore Sanfilippo
8c4c50906c added known nodes info in CLUSTER INFO 2011-04-11 17:40:35 +02:00
Salvatore Sanfilippo
b800a3ab20 a first refactoring of redis-trib.rb 2011-04-11 16:58:47 +02:00
Salvatore Sanfilippo
407798c1e1 Redis-trib initial implementation (currently can not do any actual work) 2011-04-11 16:41:06 +02:00
Salvatore Sanfilippo
1c708b25ee added minimal cluster section in INFO output. This is only useful to check if the instance is or not configured as a cluster node, all the other informations are accessible using the CLUSTER command. 2011-04-11 16:40:37 +02:00
antirez
8d727af8c4 update state when FAIL is cleared from a node 2011-04-08 14:19:52 +02:00
antirez
fd7a584f7a do not process node failure messages about yourself 2011-04-08 10:17:41 +02:00
antirez
a55c7868c1 fixed lame error in slot assignment 2011-04-07 23:33:18 +02:00
antirez
5a547b27f7 evaluate cluster state after config load. Still bugs in the slot allocation after nodes config load to fix. 2011-04-07 23:23:27 +02:00
antirez
93666e583c master node without slaves rejoin fixed 2011-04-07 23:10:32 +02:00
antirez
152d937b8c when loading config set the ping/pong timestaps to the current value. Even a node in FAIL state can be accepted again if there are no slaves for this node so election was not possible 2011-04-07 23:06:01 +02:00
antirez
1793752d97 node cluster configuration file configurable via redis.conf 2011-04-07 21:34:41 +02:00
antirez
2bc52b2c02 useless newline removed from log message 2011-04-07 19:22:24 +02:00
antirez
d01a6bb3f9 fixes to configuration loading and saving. However there is to still fix the logic for reconnection/behavior of nodes after a restart. 2011-04-07 19:04:16 +02:00
antirez
92690d29fe first version of cluster config loading code 2011-04-07 17:46:28 +02:00
antirez
726a39c15f initial cluster config load code 2011-04-07 12:55:02 +02:00
Pieter Noordhuis
02e6006532 Explicitly zero zval since it is stored on the stack 2011-04-06 16:39:22 +02:00
Pieter Noordhuis
d4d3a70da2 Update target encoding for sorted set from rdb 2011-04-06 16:38:34 +02:00
Pieter Noordhuis
100ed062c0 Test for ENCODING_SKIPLIST instead of ENCODING_RAW 2011-04-06 16:17:07 +02:00
Pieter Noordhuis
4cc4d1648b Typo 2011-04-06 16:15:15 +02:00
Pieter Noordhuis
7d8c555e92 Merge branch 'unstable' into unstable-zset
Conflicts:
	src/object.c
2011-04-06 16:15:01 +02:00
antirez
0b7f6d0913 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. 2011-04-06 15:36:10 +02:00
antirez
ece74202bb OBJECT command implemented 2011-04-06 12:19:45 +02:00
antirez
f797c7dc17 bad data on RESTORE can no longer crash the server but create a memory leak with some input string 2011-04-05 13:57:28 +02:00
antirez
f304f22b22 Merge branch 'unstable' of github.com:antirez/redis into unstable 2011-04-01 19:00:21 +02:00
antirez
626f6b2d64 DUMP implemented, RESTORE and MIGRATE fixed. Use zcalloc() instead of zmalloc()+memset() in sds.c when a new string is created with NULL initialization pointer. 2011-04-01 18:59:28 +02:00
antirez
5b94b8ac5d fixed memory leak introduced with the previous commit. Many thanks to Pieter Noordhuis for spotting it in no time 2011-03-31 19:52:15 +02:00
antirez
25ef31920a Fixed issue #503. MONITOR + QUIT could crash the server, there are actually other interactions that could have the same effect (for instance Pub/Sub). 2011-03-31 16:44:43 +02:00
antirez
6c390c0b23 minor change with no actual effects til the loading node config code is in place 2011-03-30 18:12:51 +02:00
antirez
ef21ab960e centralized cluster config file name. Assigned slots in CLUSTER NODES output and in cluster config file. 2011-03-30 17:41:13 +02:00
antirez
4b72c5617f fix to configuration saving on first start 2011-03-30 16:51:28 +02:00
antirez
c7c7cfbddc cluster configuration saving 2011-03-30 14:58:19 +02:00
antirez
ecc9109434 Cluster branch merged to unstable. 2011-03-29 17:51:15 +02:00
antirez
cc1cb7e540 Merge remote branch 'origin/getkeys' into unstable 2011-03-29 10:54:38 +02:00
antirez
a07bc92692 Preloading messages log level changed from WARNING to DEBUG 2011-03-28 19:03:57 +02:00
antirez
4b61ca460c fixed a bug in RENAME getKeys() function 2011-03-28 18:46:22 +02:00
antirez
6e1b9b58ec bug fixed in zunionstore specific getKeys() implementation 2011-03-28 18:21:06 +02:00
antirez
b4b5144694 Fixes to the new preloading / key discovery APIs 2011-03-28 17:54:42 +02:00
antirez
42b2621cdc implemented preload of EXEC using the new getKeys() system 2011-03-28 17:29:26 +02:00
antirez
a3cf904121 minor style change 2011-03-23 23:13:15 +01:00
antirez
9791f0f8ce new preloading implemented, still EXEC not handled correctly, everything to test 2011-03-23 18:09:17 +01:00
antirez
e360e3bb7e Fixed sdssplitargs() handling of hex-style escapes. 2011-03-22 22:49:12 +01:00
antirez
03af999cb0 command table altered for the new API to get position of keys arguments in commands 2011-03-22 19:36:09 +01:00
Pieter Noordhuis
48991620f7 Remove sorted set when empty after ZREMRANGEBY* 2011-03-21 23:54:46 +01:00
antirez
612810af6e sdscatrepr() fixed. Now newlines and other special chars are escaped correctly 2011-03-20 18:24:49 +01:00
Pieter Noordhuis
dddf5335f4 Fix DEBUG DIGEST, SORT and AOF rewrite 2011-03-14 13:30:06 +01:00
Pieter Noordhuis
69298a05eb Offset should be size_t 2011-03-14 10:53:53 +01:00
Pieter Noordhuis
72690afdd2 Remove unused function 2011-03-14 10:53:14 +01:00
Pieter Noordhuis
e53ca04b50 Test for empty inner range when looking for elements in range 2011-03-11 18:18:02 +01:00
Pieter Noordhuis
8588bfa370 Make zzl API unaware of the robj where the ziplist is stored 2011-03-11 17:06:07 +01:00
Pieter Noordhuis
df26a0ae0b Encode sorted set after loading from dump 2011-03-10 17:50:13 +01:00
Pieter Noordhuis
255eebe221 Convert encoding of result when in limits 2011-03-10 17:02:05 +01:00
Pieter Noordhuis
dba3a153a7 Remove comment 2011-03-10 16:53:20 +01:00
antirez
7493d2a032 fixed diskstore race condition 2011-03-10 16:39:19 +01:00
Pieter Noordhuis
56ce42faf1 Generic iterator code for usage in ZUNIONSTORE/ZINTERSTORE 2011-03-10 16:34:52 +01:00
Pieter Noordhuis
bbfe232f60 Make zzlLength take a ziplist argument 2011-03-10 16:17:14 +01:00
Pieter Noordhuis
d4e07f1714 Add new string to long long function 2011-03-10 16:16:27 +01:00
antirez
dc75b1edfb encoding agnostic intsets 2011-03-09 19:14:04 +01:00
antirez
f220437450 ziplist are now endianess agnostic 2011-03-09 18:49:59 +01:00
antirez
336c82d583 zipmaps are now endianess agnostic, needed for on disk serialization of zipmaps without convertions layers 2011-03-09 17:31:02 +01:00
antirez
b5325132f1 memrev variants only doing the work if the target host is big endian 2011-03-09 17:28:16 +01:00
antirez
48e4621590 Ehm... sorry if we don't support PDP endianess 2011-03-09 16:33:09 +01:00
antirez
e12cb14308 endianess conversion API, to be applied to specially encoded data types for arch agnostic encoding. 2011-03-09 16:24:18 +01:00
Pieter Noordhuis
cc4c964b33 Fix used function in ZCARD 2011-03-09 16:13:39 +01:00
Pieter Noordhuis
a669d5e999 Convert encoding when thresholds overflow 2011-03-09 16:13:06 +01:00
antirez
b1a8e3e89e byte ordering detection in config.h 2011-03-09 15:44:21 +01:00
Pieter Noordhuis
3ea204e103 Configurable thresholds for encoded sorted sets 2011-03-09 14:01:57 +01:00
Pieter Noordhuis
e12b27acf7 Persistence code for encoded sorted sets 2011-03-09 13:16:38 +01:00
Pieter Noordhuis
d1c920c538 Support dual encoding for more commands 2011-03-09 12:37:59 +01:00
Pieter Noordhuis
aff255c81d Support dual encoding for ZRANGEBYSCORE et al 2011-03-09 11:29:21 +01:00
Pieter Noordhuis
4c5f0966b2 Helpers to move around in encoded sorted set 2011-03-09 11:06:31 +01:00
Pieter Noordhuis
63b7b7fb34 Support dual encoding for ZREMRANGEBYRANK 2011-03-09 10:30:55 +01:00
Pieter Noordhuis
5d1b4fb698 Support dual encoding for ZRANGE 2011-03-09 00:12:29 +01:00
Pieter Noordhuis
0f23eb3b10 Properly free encoded sorted set 2011-03-08 23:56:59 +01:00
Pieter Noordhuis
4a14dbbac2 Look up and remove elements by range 2011-03-08 23:56:33 +01:00
Pieter Noordhuis
9f9b60f974 Typo 2011-03-08 22:14:46 +01:00
Pieter Noordhuis
8218db3dae Little less obfuscation 2011-03-08 21:36:46 +01:00
Pieter Noordhuis
0b10e10444 Support dual encoding in ZREM 2011-03-08 17:11:15 +01:00
antirez
e270a7fa58 removed useless call 2011-03-08 16:52:39 +01:00
Pieter Noordhuis
3ca7532a2d Don't encode element argument when dealing with ziplist 2011-03-08 16:51:41 +01:00
Pieter Noordhuis
21c5b508a4 Initial work for ziplist backed sorted sets 2011-03-08 16:44:22 +01:00
Pieter Noordhuis
9e7cee0ed0 Add function to create ziplist-backed sorted set 2011-03-08 16:08:52 +01:00
Pieter Noordhuis
672b0a1b25 Fast conversion of double when representable as long long 2011-03-08 16:08:11 +01:00
antirez
3a21cb99e5 same final call of two if branches moved outside 2011-03-08 15:55:34 +01:00
antirez
e09b51869b useless function removed 2011-03-08 15:10:20 +01:00
antirez
c5b6f46132 comment typo fixed 2011-03-08 15:03:51 +01:00
Pieter Noordhuis
45290ad9bb Rename zset range functions 2011-03-08 10:57:53 +01:00
Pieter Noordhuis
8e1b327706 Test for ranges where min > max 2011-03-08 10:57:39 +01:00
Pieter Noordhuis
df278b8b0b Compiler should decide on inlining 2011-03-08 10:57:33 +01:00
Pieter Noordhuis
22b9bf1594 Move logic concerned with zset ranges
This also optimizes ZREVRANGEBYSCORE for pathological cases where a
sorted set contains many elements with the same score. Previously,
it would traverse the list from back to front in such a case.
2011-03-08 10:57:24 +01:00
Pieter Noordhuis
a300477368 Undo rename of function names where something went wrong 2011-03-08 10:57:06 +01:00
antirez
c2f816b423 Merge remote branch 'pietern/unstable-sigs' into unstable 2011-03-07 12:22:00 +01:00
Pieter Noordhuis
3f4eef215b Show database number in cli prompt when non-zero 2011-03-06 21:14:40 +01:00
Pieter Noordhuis
96e34b3ce1 Store SELECTed database for reconnect (issue #468) 2011-03-06 20:46:49 +01:00
Pieter Noordhuis
33753a732a Minor memory leak in redis-cli (issue #464) 2011-03-06 20:13:01 +01:00
Pieter Noordhuis
ca36b4ab31 Only save history when stdin is a tty (issue #465) 2011-03-06 20:02:33 +01:00
Pieter Noordhuis
633a941028 Save RDB on SIGTERM (see issue #471) 2011-03-06 17:49:40 +01:00
antirez
d9fac6c07a possible fix for a failed assertion introduced with the latest diskstore speedup fix 2011-03-04 18:10:43 +01:00
antirez
0b537972f4 Fixed return value of GETRANGE / SUBSTR 2011-03-04 16:22:50 +01:00
antirez
4aec2ec8c4 AOF file descriptor leak fixed 2011-03-04 16:13:54 +01:00
antirez
15db4aa006 TTL command fixed to work reliably with diskstore 2011-03-04 15:49:01 +01:00
antirez
8b108ed307 debugging message moved from REDIS_WARING to REDIS_DEBUG 2011-03-04 15:45:38 +01:00
antirez
be14f38de6 Redis manifesto added 2011-03-01 15:20:35 +01:00
antirez
1213abe477 fix type in rdbSaveKeyValuePair() when saving an intset. Don't merge this commit into 2.2 as will not apply cleanly. 2011-02-28 17:55:05 +01:00
antirez
26117e84f0 direct saving of specially encoded types implemented for lists and sets too 2011-02-28 17:53:47 +01:00
antirez
0a04b5f5a0 define name typo fixed 2011-02-28 17:36:12 +01:00
antirez
9ad853ccde added new RDB codes for ziplist encoded lists and intset encodeed sets 2011-02-28 17:06:31 +01:00
antirez
9fa7beb515 save ziplist encoded type as a different type id. Done as separated commit since this is the part that will not merge cleanly in 2.2 2011-02-28 17:06:09 +01:00
antirez
f8956ed6d8 convert the zipmap into hash in rdb loading if the zipmap has too many elements 2011-02-28 16:55:34 +01:00
antirez
4d60dea853 RDB/AOF loading times logged with millisecond precision 2011-02-28 15:31:54 +01:00
antirez
1187b0a56e fix for zipmap raw saving in unstable branch 2011-02-28 15:13:49 +01:00
antirez
d4fb9f4144 encoded types API to get blob length 2011-02-28 14:48:49 +01:00
antirez
2cc993655f save zipmap encoded hashes as blobs. Work in progress. 2011-02-28 09:56:48 +01:00
antirez
419e1cca74 less delays in diskstore when there are many writes. more work to do. 2011-02-25 19:11:25 +01:00
antirez
900ab8fc7a more disk store fields in INFO 2011-02-25 10:59:57 +01:00
Pieter Noordhuis
6c682e559c Restore argc/argv in EXEC after command is executed 2011-02-23 14:37:22 +01:00
Paul Gideon Dann
df50d707f3 Allow port to be 0 in configuration, in order to allow disabling of TCP. 2011-02-22 12:13:29 +01:00
antirez
29920dceb8 conflict resolved in cherry pick 2011-02-22 00:03:03 +01:00
antirez
f96a9f82d8 suppress a Linux warning, for 2.2 sake 2011-02-21 17:51:52 +01:00
antirez
09d2abdca2 check return value of getcwd() 2011-02-21 17:51:28 +01:00
antirez
465b4189e6 CONFIG SET/GET for all the special encoding parameters of sets, lists, hashes 2011-02-17 12:20:59 +01:00
antirez
30318c1ddd SPOP replication/AOF patch ported to unstable branch 2011-02-16 12:41:40 +01:00
antirez
21cda08b3b CONFIG GET/SET dir implemented 2011-02-14 02:51:27 +01:00
antirez
05600eb8a7 fixed two diskstore issues, a quasi-deadlock creating problems with I/O speed and a race condition among threads 2011-02-11 11:16:15 +01:00
antirez
9c104c6886 introduced a new logging function for big messages 2011-02-09 10:10:35 +01:00
antirez
a8cc969cd4 Merge remote branch 'pietern/unstable-brpoplpush' into unstable 2011-02-07 15:28:01 +01:00
antirez
a53b4c2409 Fix for the previous port 0 patch, thanks to Pieter for noticing the error 2011-02-07 13:43:29 +01:00
antirez
68d6345ddf If port zero is specified, Redis will not listen for TCP connections 2011-02-07 12:52:01 +01:00
Pieter Noordhuis
554a5dd2fc Clarify comment 2011-02-03 12:56:53 +01:00
Pieter Noordhuis
d5870d7ac3 Reply with single null bulk for unsuccesful BRPOPLPUSH 2011-02-03 12:56:50 +01:00
antirez
452229b6fb propagate key eviction to slaves and AOF, like for expires, so that replicas and AOFs are always consistent even in maxmemory mode. 2011-01-27 16:52:37 +01:00
antirez
be86082be4 Fixed a theoretical non exploitable security bug reported by @chrisrohlf. In theory if we undefine SDS_ABORT_ON_OOM from sds.c AND modify zmalloc.c in order to don't quit on out of memory (but this would break every other part of Redis), on out of memory there is a possible heap overflow. 2011-01-27 10:27:25 +01:00
antirez
d7ed7fd2fc INFO commandstats section reset with config resetstat, a new microseconds per call field, and a few other minor things 2011-01-24 10:56:06 +01:00