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