John Sully
65c581d318
Merge branch 'unstable' of https://github.com/antirez/redis into unstable
...
Former-commit-id: be3cb1ad3386f382ed7506dbfd1adb810e327007
2019-03-14 14:22:27 -04:00
antirez
74d6af8f80
Fix ZPOP return type when COUNT=0. Related to #5799 .
2019-03-14 17:51:20 +01:00
Salvatore Sanfilippo
d3cd2e9a4a
Merge pull request #4742 from guybe7/zrangebylex_leak
...
Fix zlexrangespec mem-leak in genericZrangebylexCommand
2019-03-14 11:44:56 +01:00
John Sully
2526d51d1a
Thread safety fixes
2019-02-18 22:25:35 -05:00
John Sully
2f9d958e96
Reduce memory usage for in place strings by 8 bytes
2019-02-09 13:04:18 -05:00
John Sully
41a24e689e
Make main headers C++ safe, and change rdb to use file descriptor instead of FILE pointer
2019-02-05 23:36:40 -05:00
John Sully
0ffcf355fe
Custom flash heap
2019-01-29 18:10:46 -05:00
Guy Benoish
2502956835
ZPOP should return an empty array if COUNT=0
2019-01-23 11:11:57 +02:00
antirez
f7d9fd0059
RESP3: fix zrangeGenericCommand() proto dependent array len.
2019-01-09 17:00:29 +01:00
antirez
c2e5be0421
RESP3: fix zrangeGenericCommand() proto dependent array len.
2019-01-09 17:00:29 +01:00
antirez
92c9429d17
RESP3: restore the concept of null array for RESP2 compat.
2019-01-09 17:00:29 +01:00
antirez
3fd78f41e8
RESP3: restore the concept of null array for RESP2 compat.
2019-01-09 17:00:29 +01:00
antirez
7872d57d27
RESP3: most null replies converted.
2019-01-09 17:00:29 +01:00
antirez
317f8b9d38
RESP3: most null replies converted.
2019-01-09 17:00:29 +01:00
antirez
3aebf8ab29
RESP3: Make WITHSCORES reply back with a flat array in RESP2.
2019-01-09 17:00:29 +01:00
antirez
c7f80e4f1a
RESP3: Make WITHSCORES reply back with a flat array in RESP2.
2019-01-09 17:00:29 +01:00
antirez
f10783e9fb
RESP3: Use new deferred len API in t_zset.c.
2019-01-09 17:00:29 +01:00
antirez
470c28380f
RESP3: Use new deferred len API in t_zset.c.
2019-01-09 17:00:29 +01:00
Salvatore Sanfilippo
8981b91c2f
Merge pull request #4737 from guybe7/zlexcount_fix
...
Don't call sdscmp() with shared.maxstring or shared.minstring
2018-11-28 16:53:32 +01:00
Salvatore Sanfilippo
6a6471aad5
Merge pull request #4737 from guybe7/zlexcount_fix
...
Don't call sdscmp() with shared.maxstring or shared.minstring
2018-11-28 16:53:32 +01:00
antirez
bd510b68e4
Fix zslUpdateScore() edge case.
...
When the element new score is the same of prev/next node, the
lexicographical order kicks in, so we can safely update the node in
place only when the new score is strictly between the adjacent nodes
but never equal to one of them.
Technically speaking we could do extra checks to make sure that even if the
score is the same as one of the adjacent nodes, we can still update on
place, but this rarely happens, so probably not a good deal to make it
more complex.
Related to #5179 .
2018-08-01 19:04:53 +02:00
antirez
2f282aee0b
Fix zslUpdateScore() edge case.
...
When the element new score is the same of prev/next node, the
lexicographical order kicks in, so we can safely update the node in
place only when the new score is strictly between the adjacent nodes
but never equal to one of them.
Technically speaking we could do extra checks to make sure that even if the
score is the same as one of the adjacent nodes, we can still update on
place, but this rarely happens, so probably not a good deal to make it
more complex.
Related to #5179 .
2018-08-01 19:04:53 +02:00
antirez
159f8b6628
More commenting of zslUpdateScore().
2018-08-01 18:54:15 +02:00
antirez
29226a3919
More commenting of zslUpdateScore().
2018-08-01 18:54:15 +02:00
antirez
f8d849930f
Explain what's the point of zslUpdateScore() in top comment.
2018-08-01 18:53:09 +02:00
antirez
12ff0c0d79
Explain what's the point of zslUpdateScore() in top comment.
2018-08-01 18:53:09 +02:00
antirez
684d020fb9
Remove old commented zslUpdateScore() from source.
2018-08-01 18:50:49 +02:00
antirez
e3e94ec35c
Remove old commented zslUpdateScore() from source.
2018-08-01 18:50:49 +02:00
antirez
6435022be5
Optimize zslUpdateScore() as asked in #5179 .
2018-08-01 18:50:31 +02:00
antirez
0b800c4332
Optimize zslUpdateScore() as asked in #5179 .
2018-08-01 18:50:31 +02:00
antirez
bc61916100
zsetAdd() refactored adding zslUpdateScore().
2018-08-01 18:27:56 +02:00
antirez
6dd0d6f7dd
zsetAdd() refactored adding zslUpdateScore().
2018-08-01 18:27:56 +02:00
Jack Drogon
df7bafeb44
Fix typo
2018-07-03 18:19:46 +02:00
Jack Drogon
93238575f7
Fix typo
2018-07-03 18:19:46 +02:00
Salvatore Sanfilippo
b7df488618
Merge pull request #4519 from soloestoy/zset-int-problem
...
Zset int problem
2018-06-08 12:45:11 +02:00
Salvatore Sanfilippo
be899b824e
Merge pull request #4519 from soloestoy/zset-int-problem
...
Zset int problem
2018-06-08 12:45:11 +02:00
antirez
c8d43b84d8
ZPOP: invert score-ele to match ZRANGE WITHSCORES order.
2018-06-05 17:06:25 +02:00
antirez
0a698e499a
ZPOP: invert score-ele to match ZRANGE WITHSCORES order.
2018-06-05 17:06:25 +02:00
zhaozhao.zz
f0e81aff07
ZPOP: unblock multiple clients in right way
2018-05-31 23:35:47 +08:00
zhaozhao.zz
b9d19371e4
ZPOP: unblock multiple clients in right way
2018-05-31 23:35:47 +08:00
zhaozhao.zz
980f0e9d5e
ZPOP: fix the wrong keyc, should be 1
2018-05-22 21:31:22 +08:00
zhaozhao.zz
4e7a160b9b
ZPOP: fix the wrong keyc, should be 1
2018-05-22 21:31:22 +08:00
antirez
897c8052ee
ZPOP: change sync ZPOP to have a count argument instead of N keys.
...
Usually blocking operations make a lot of sense with multiple keys so
that we can listen to multiple queues (or whatever the app models) with
a single connection. However in the synchronous case it is more useful
to be able to ask for N elements. This is a change that I also wanted to
perform soon or later in the blocking list variant, but here it is more
natural since there is no reply type difference.
2018-05-11 18:00:32 +02:00
antirez
56bbab238a
ZPOP: change sync ZPOP to have a count argument instead of N keys.
...
Usually blocking operations make a lot of sense with multiple keys so
that we can listen to multiple queues (or whatever the app models) with
a single connection. However in the synchronous case it is more useful
to be able to ask for N elements. This is a change that I also wanted to
perform soon or later in the blocking list variant, but here it is more
natural since there is no reply type difference.
2018-05-11 18:00:32 +02:00
antirez
a6f9c30ac4
ZPOP: renaming to have explicit MIN/MAX score idea.
...
This commit also adds a top comment about a subtle behavior of mixing
blocking operations of different types in the same key.
2018-05-11 17:31:53 +02:00
antirez
6efb6c1e06
ZPOP: renaming to have explicit MIN/MAX score idea.
...
This commit also adds a top comment about a subtle behavior of mixing
blocking operations of different types in the same key.
2018-05-11 17:31:53 +02:00
Itamar Haber
e3e0a66adf
Implements [B]Z[REV]POP and the respective unit tests
...
An implementation of the
[Ze POP Redis Module](https://github.com/itamarhaber/zpop ) as core
Redis commands.
Fixes #1861 .
2018-04-30 02:10:42 +03:00
Itamar Haber
438125b47c
Implements [B]Z[REV]POP and the respective unit tests
...
An implementation of the
[Ze POP Redis Module](https://github.com/itamarhaber/zpop ) as core
Redis commands.
Fixes #1861 .
2018-04-30 02:10:42 +03:00
Guy Benoish
b660fc2fbe
Fix zlexrangespec mem-leak in genericZrangebylexCommand
2018-03-07 10:40:37 +07:00
Guy Benoish
0888eb4a00
Don't call sdscmp() with shared.maxstring or shared.minstring
2018-03-06 20:14:35 +07:00