antirez
67f594f9b5
Optimize LRANGE to scan the list starting from the head or the tail in order to traverse the minimal number of elements. Thanks to Didier Spezia for noticing the problem and providing a patch.
2011-09-14 15:17:04 +02:00
antirez
b10913b93d
fixed typos in the comments of rpoplpushHandlePush()
2011-09-12 10:05:38 +02:00
Hampus Wessman
cbf01c0e01
Fix crash when chaining brpoplpush with other blocking commands.
2011-09-12 10:05:32 +02:00
antirez
63aed54a27
Take a pointer to the relevant entry of the command table in the client structure. This is generally a more sounding design, simplifies a few functions prototype, and as a side effect fixes a bug related to the conversion of EXPIRE -1 to DEL: before of this fix Redis tried to convert it into an EXPIREAT in the AOF code, regardless of our rewrite of the command.
2011-07-12 10:00:12 +02:00
antirez
19453556d4
dataspace change hook functions backported to 2.4. They are just wrappers at this point but this makes simpler to cherry-pick between branches.
2011-07-12 09:56:41 +02:00
antirez
4f8cf6a23c
use the new rewriteClientCommandVector() function for SPOP -> SREM replication translation as well.
2011-05-31 12:15:55 +02:00
antirez
0d119ad3a3
modified the BRPOPLPUSH target field cleanup strategy to fix it the proper way.
2011-05-31 12:14:26 +02:00
antirez
6a1275bcab
Removed a leak in the BRPOPLPUSH unrelated to issue 561
2011-05-31 12:14:13 +02:00
antirez
3769dbd722
Fix for issue 516, rewriting the command vector to correctly repliate BRPOPLPUSH. Still to test everything, especially edge cases
2011-05-31 12:14:07 +02:00
antirez
9f517b920e
removed assert causing an illegal memory access. This was responsible of crashes during BLPOP and other list blocking operations.
2011-05-11 09:50:43 +02:00
antirez
c138dc7da4
variadic LPUSH/RPUSH backported to 2.2
2011-04-15 17:27:20 +02:00
Pieter Noordhuis
bbaf76ea2f
Clarify comment
2011-01-31 16:50:17 +01:00
Pieter Noordhuis
669f302e16
Reply with single null bulk for unsuccesful BRPOPLPUSH
2011-01-31 16:50:00 +01:00
Pieter Noordhuis
e18b59ae7e
Remove client from list of unblocked clients when it is free'd
2011-01-17 10:03:21 +01:00
antirez
f858c11d7d
Merge remote branch 'pietern/brpoplpush'
2010-12-14 16:26:37 +01:00
antirez
d51ebef509
LRANGE converted into a COW friendly command. Some refactoring, comment, and new addReply*() family function added in the process.
2010-12-07 16:33:13 +01:00
Pieter Noordhuis
a4ce758155
Don't execute commands for clients when they are unblocked
2010-12-06 16:39:39 +01:00
Pieter Noordhuis
ecf9401415
Fix case and indent
2010-12-06 16:04:42 +01:00
Pieter Noordhuis
8a88c368ed
Check other blocked clients when value could not be pushed
2010-12-06 16:04:10 +01:00
Pieter Noordhuis
ac06fc011d
Move code for pushing on a (blocking) RPOPLPUSH
2010-12-06 14:48:58 +01:00
Pieter Noordhuis
5fa95ad763
Rename blpop_blocked_clients to bpop_blocked_clients
2010-12-06 14:05:01 +01:00
Pieter Noordhuis
c8a0070a61
Move timeout logic
2010-12-06 13:45:48 +01:00
Michel Martens & Damian Janowski
baa14ef913
Fix BRPOPLPUSH behavior for all use cases.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
8987bf23bf
Adhere to conventions.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
e3c51c4b1b
Rename bstate to bpop.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
59bd44d1c8
Remove warning.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
7c25a43adc
Handle BRPOPLPUSH inside a transaction.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
ba3b474111
Refactor code for BRPOPLPUSH.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
357a841714
Move to struct.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
b2a7fd0cf7
BRPOPLPUSH.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
8a979f0390
Fix case in RPOPLPUSH.
2010-11-29 23:52:07 -03:00
Pieter Noordhuis
75b41de8ca
Convert objects in the command procs instead of the protocol code
2010-10-17 17:21:41 +02:00
Pieter Noordhuis
9e83ac06ef
Merge branch 'master' into networking-perf
...
Resolved conflict in src/db.c and changed adding an error to the reply
in blockingPopGenericCommand to use the new API.
2010-09-03 16:44:50 +02:00
Pieter Noordhuis
b70d355521
Use existing reply functions where possible
2010-09-02 19:52:04 +02:00
Pieter Noordhuis
0537e7bf80
Use specialized function to add multi bulk reply length
2010-09-02 12:51:14 +02:00
antirez
f7f12a606c
resolved conflict merging pietern/bpop-timeout
2010-08-31 11:23:12 +02:00
antirez
fb92ecece7
BLPOP inside MULTI/EXEC block no longer crashes, instead if the list is empty the behavior is like if the timeout is reached. This fixes Issue 285
2010-08-30 16:31:03 +02:00
Pieter Noordhuis
94364d53b4
Verify that the blocking pop timeout value is a non-negative integer
2010-08-26 14:05:14 +02:00
antirez
5b4bff9c17
WATCH is now affected only when write commands actually modify the key content
2010-07-12 12:01:15 +02:00
Pieter Noordhuis
d0a4e24e32
merged code from 184d74ab, 4774a53b, f483ce5f to new file structure
2010-07-05 15:16:33 -04:00
antirez
e2641e09cc
redis.c split into many different C files.
...
networking related stuff moved into networking.c
moved more code
more work on layout of source code
SDS instantaneuos memory saving. By Pieter and Salvatore at VMware ;)
cleanly compiling again after the first split, now splitting it in more C files
moving more things around... work in progress
split replication code
splitting more
Sets split
Hash split
replication split
even more splitting
more splitting
minor change
2010-07-01 14:38:51 +02:00