antirez
c4b413e7f7
Document mostly dead code in RPOPLPUSH implementation.
2012-04-18 17:38:02 +02:00
Premysl Hruby
f3fa6655c6
use server.unixtime instead of time(NULL) where possible (cluster.c not checked though)
2012-03-27 17:39:58 +02:00
antirez
6b56c5fd03
Better implementation for BRPOP/BLPOP in the non blocking case.
2012-02-29 14:41:57 +01:00
antirez
38c49acd48
lpush arguments vector rewrite modified for more speed and to memory leak removal.
2012-02-29 13:38:30 +01:00
antirez
2b84687811
Added a new API to replicate an additional command after the replication of the currently executed command, in order to propagte the LPUSH originating from RPOPLPUSH and indirectly by BRPOPLPUSH.
2012-02-28 18:03:08 +01:00
antirez
ef34fd54ed
Var renamed into pushGenericCommand() to better reflect what it means.
2012-02-28 16:17:55 +01:00
antirez
884c2f0e68
64 bit instances are no longer limited to have at max 2^32-1 elements in lists.
2012-01-31 10:35:52 +01:00
BigCat
c1cc254d62
Fix issue #247 : Accepting non-integer parameters when shouldn't
...
Using `getLongFromObjectOrReply` instead of `atoi` if possible.
The following functions are modified.
* lrangeCommand
* ltrimCommand
* lremCommand
* lindexCommand
* lsetCommand
* zunionInterGenericCommand
* genericZrangebyscoreCommand
* sortCommand
2011-12-19 19:48:35 +08:00
antirez
d6c3b3004e
dict.c API names modified to be more coincise and consistent.
2011-11-08 17:07:55 +01:00
antirez
357f49db2f
replaced redisAssert() with redisAssertWithInfo() in a shitload of places.
2011-10-04 18:43:03 +02:00
antirez
2dab3fdc64
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:10:28 +02:00
antirez
1912b1fd64
fixed typos in the comments of rpoplpushHandlePush()
2011-09-12 10:04:23 +02:00
Hampus Wessman
5c0db2df35
Fix crash when chaining brpoplpush with other blocking commands.
2011-09-07 19:08:48 +02:00
antirez
ee2dc83094
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-08 12:59:30 +02:00
antirez
7192cd5cb7
Fix for bug 561 and other related problems
2011-06-20 17:19:36 +02:00
antirez
9ecb0c7c29
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
51a298862a
variadic LPUSH/RPUSH
2011-04-15 16:35:27 +02:00
Pieter Noordhuis
a282e91b0f
Clarify comment
2011-02-03 12:56:53 +01:00
Pieter Noordhuis
f9120df538
Reply with single null bulk for unsuccesful BRPOPLPUSH
2011-02-03 12:56:50 +01:00
Pieter Noordhuis
418603038c
Remove client from list of unblocked clients when it is free'd
2011-01-17 10:04:13 +01:00
antirez
a8d2f3796d
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.
2010-12-29 19:39:42 +01:00
antirez
31cfc6bf21
Merge remote branch 'pietern/brpoplpush'
2010-12-14 16:26:37 +01:00
antirez
fda6e59e9a
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
02fb4e921d
Don't execute commands for clients when they are unblocked
2010-12-06 16:39:39 +01:00
Pieter Noordhuis
845da0b0d3
Fix case and indent
2010-12-06 16:04:42 +01:00
Pieter Noordhuis
0e83e79f73
Check other blocked clients when value could not be pushed
2010-12-06 16:04:10 +01:00
Pieter Noordhuis
778e9f7cb8
Move code for pushing on a (blocking) RPOPLPUSH
2010-12-06 14:48:58 +01:00
Pieter Noordhuis
58e59db7b5
Rename blpop_blocked_clients to bpop_blocked_clients
2010-12-06 14:05:01 +01:00
Pieter Noordhuis
5e9adbdeb1
Move timeout logic
2010-12-06 13:45:48 +01:00
Michel Martens & Damian Janowski
c126fa01bb
Fix BRPOPLPUSH behavior for all use cases.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
a8ad4e3b1d
Adhere to conventions.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
60ea6205b7
Rename bstate to bpop.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
d754ed676a
Remove warning.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
20cea44779
Handle BRPOPLPUSH inside a transaction.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
6902b0c2d0
Refactor code for BRPOPLPUSH.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
c8454233e4
Move to struct.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
f1e2a70b23
BRPOPLPUSH.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
74b37889c1
Fix case in RPOPLPUSH.
2010-11-29 23:52:07 -03:00
Pieter Noordhuis
000b46faac
Convert objects in the command procs instead of the protocol code
2010-10-17 17:21:41 +02:00
Pieter Noordhuis
70768b4051
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