History log of /redis-3.2.3/src/t_set.c (Results 1 – 25 of 55)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: 8.0-m02, 6.2.16, 7.2.6, 7.4.1, 8.0-m01, 7.4.0, 7.4-rc2, 7.4-rc1, 7.2.5, 7.2.4, 7.0.15, 7.2.3, 7.2.2, 7.0.14, 6.2.14, 6.2.15, 7.2.1, 7.0.13, 7.2.0, 7.2-rc3, 7.0.12, 6.2.13, 6.0.20, 7.2-rc2, 6.0.19, 6.2.12, 7.0.11, 7.2-rc1, 7.0.10, 7.0.9, 6.2.11, 6.0.18, 6.2.10, 6.0.17, 6.2.9, 7.0.8, 7.0.7, 7.0.6, 6.2.8, 7.0.5, 7.0.4, 7.0.3, 7.0.2, 7.0.1, 7.0.0, 6.2.7, 7.0-rc3, 7.0-rc2, 7.0-rc1, 6.2.6, 6.0.16, 5.0.14, 5.0.13, 6.0.15, 6.2.5, 6.0.14, 6.2.4, 6.2.3, 6.0.13, 6.2.2, 6.2.1, 6.0.12, 5.0.12, 6.0.11, 6.2.0, 5.0.11, 6.2-rc3, 6.0.10, 6.2-rc2, 6.2-rc1, 6.0.9, 5.0.10, 6.0.8, 6.0.7, 6.0.6, 6.0.5, 6.0.4, 6.0.3, 6.0.2, 6.0.1, 6.0.0, 5.0.9, 6.0-rc4, 6.0-rc3, 5.0.8, 6.0-rc2, 6.0-rc1, 5.0.7, 5.0.6, 5.0.5, 3.2.13, 4.0.14, 5.0.4, 4.0.13, 5.0.3, 4.0.12, 5.0.2, 5.0.1, 5.0.0, 5.0-rc6, 5.0-rc5, 4.0.11, 5.0-rc4, 5.0-rc3, 5.0-rc2, 4.0.10, 3.2.12, 5.0-rc1, 4.0.9, 4.0.8, 4.0.7, 4.0.6, 4.0.5, 4.0.4, 4.0.3, 3.2.11, 4.0.2, 3.2.10, 4.0.1, 4.0.0, 3.2.9, 4.0-rc3, 3.2.8, 3.2.7, 3.2.6, 4.0-rc2, 4.0-rc1, 3.2.5, 3.2.4, 3.2.3, 3.2.2, 3.2.1
# 60323407 09-May-2016 oranagra <[email protected]>

minor fixes - mainly signalModifiedKey, and GEORADIUS


Revision tags: 3.2.0, 3.2.0-rc3, 3.0.7, 3.2.0-rc2, 3.2-rc1, 3.0.6, 2.8.24, 3.0.5, 2.8.23, 2.8.22, 3.0.4
# 32f80e2f 27-Jul-2015 antirez <[email protected]>

RDMF: More consistent define names.


# 40eb548a 26-Jul-2015 antirez <[email protected]>

RDMF: REDIS_OK REDIS_ERR -> C_OK C_ERR.


# 2d9e3eb1 26-Jul-2015 antirez <[email protected]>

RDMF: redisAssert -> serverAssert.


# 14ff5724 26-Jul-2015 antirez <[email protected]>

RDMF: OBJ_ macros for object related stuff.


# 554bd0e7 26-Jul-2015 antirez <[email protected]>

RDMF: use client instead of redisClient, like Disque.


# cef054e8 26-Jul-2015 antirez <[email protected]>

RDMF (Redis/Disque merge friendlyness) refactoring WIP 1.


Revision tags: 3.0.3, 3.0.2, 2.8.21
# eb138f15 15-May-2015 antirez <[email protected]>

Rewrite smoveCommand test with ternary operator


Revision tags: 2.8.20, 3.0.1
# 626b4f69 17-Apr-2015 Glenn Nethercutt <[email protected]>

uphold the smove contract to return 0 when the element is not a member of the source set, even if source=dest


Revision tags: 3.0.0
# 66f9393e 31-Mar-2015 antirez <[email protected]>

Fix setTypeNext call assuming NULL can be passed.

Segfault introduced during a refactoring / warning suppression a few
commits away. This particular call assumed that it is safe to pass NULL
to the

Fix setTypeNext call assuming NULL can be passed.

Segfault introduced during a refactoring / warning suppression a few
commits away. This particular call assumed that it is safe to pass NULL
to the object pointer argument when we are sure the set has a given
encoding. This can't be assumed and is now guaranteed to segfault
because of the new API of setTypeNext().

show more ...


# 7f330b16 30-Mar-2015 antirez <[email protected]>

Set: setType*() API more defensive initializing both values.

This change fixes several warnings compiling at -O3 level with GCC
4.8.2, and at the same time, in case of misuse of the API, we have the

Set: setType*() API more defensive initializing both values.

This change fixes several warnings compiling at -O3 level with GCC
4.8.2, and at the same time, in case of misuse of the API, we have the
pointer initialize to NULL or the integer initialized to the value
-123456789 which is easy to spot by naked eye.

show more ...


Revision tags: 3.0.0-rc6, 3.0.0-rc5, 3.0.0-rc4
# a37d0f8b 11-Feb-2015 antirez <[email protected]>

SPOP with count: fix replication for code path #3.


# 9feee428 10-Feb-2015 antirez <[email protected]>

SPOP: reimplemented for speed and better distribution.

The old version of SPOP with "count" argument used an API call of dict.c
which was actually designed for a different goal, and was not capable

SPOP: reimplemented for speed and better distribution.

The old version of SPOP with "count" argument used an API call of dict.c
which was actually designed for a different goal, and was not capable of
good distribution. We follow a different three-cases approach optimized
for different ratiion between sets and requested number of elements.

The implementation is simpler and allowed the removal of a large amount
of code.

show more ...


# cc7f0434 09-Feb-2015 antirez <[email protected]>

Change alsoPropagate() behavior to make it more usable.

Now the API automatically creates its argv copy and increment ref count
of passed objects.


# 6b5922dc 09-Feb-2015 antirez <[email protected]>

SPOP with count: initial fixes to the implementation.

Severan problems are addressed but still a few missing.
Since replication of this command was more complex than others since it
needs to replica

SPOP with count: initial fixes to the implementation.

Severan problems are addressed but still a few missing.
Since replication of this command was more complex than others since it
needs to replicate multiple SREM commands, an old API able to do this
was reused (it was taken inside the implementation since it was pretty
obvious soon or later that would be useful). The API was improved a bit
so that now a command may opt-out for the standard command replication
when the server.dirty counter is incremented, in order to "manually"
replicate what it wants.

show more ...


Revision tags: 3.0.0-rc3, 3.0.0-rc2
# d74a5a08 21-Dec-2014 Alon Diamant <[email protected]>

Following @mattsta's friendly review:
1. memory leak in t_set.c has been fixed
2. end-of-line spaces has been removed (from all over the place)
3. for loops have been ordered up to match existi

Following @mattsta's friendly review:
1. memory leak in t_set.c has been fixed
2. end-of-line spaces has been removed (from all over the place)
3. for loops have been ordered up to match existing Redis style (less weird)
4. comments format has been fixed (added * in the beggining of every comment line)

show more ...


# 3c8a7558 18-Dec-2014 Alon Diamant <[email protected]>

Fix: case when SPOP with count>MAXINT, setTypeRandomElements() will get negative count argument due to signed/unsigned mismatch.

setTypeRandomElements() now returns unsigned long, and also uses unsi

Fix: case when SPOP with count>MAXINT, setTypeRandomElements() will get negative count argument due to signed/unsigned mismatch.

setTypeRandomElements() now returns unsigned long, and also uses unsigned long for anything related to count of members.
spopWithCountCommand() now uses unsigned long elements_returned instead of int, for values returned from setTypeRandomElements()

show more ...


Revision tags: 2.8.19, 2.8.18, 3.0.0-rc1, 2.8.17, 2.8.16, 2.8.15, 2.8.14, 3.0.0-beta8, 2.8.13, 3.0.0-beta7, 2.8.12, 2.8.11, 3.0.0-beta6, 2.8.10, 3.0.0-beta5, 3.0.0-beta4, 3.0.0-beta3, 2.8.9, 2.8.8, 3.0.0-beta2
# 28802887 11-Mar-2014 Alon Diamant <[email protected]>

Added <count> parameter to SPOP:
spopCommand() now runs spopWithCountCommand() in case the <count> param is found.
Added intsetRandomMembers() to Intset: Copies N random members from the set into inp

Added <count> parameter to SPOP:
spopCommand() now runs spopWithCountCommand() in case the <count> param is found.
Added intsetRandomMembers() to Intset: Copies N random members from the set into inputted 'values' array. Uses either the Knuth or Floyd sample algos depending on ratio count/size.
Added setTypeRandomElements() to SET type: Returns a number of random elements from a non empty set. This is a version of setTypeRandomElement() that is modified in order to return multiple entries, using dictGetRandomKeys() and intsetRandomMembers().
Added tests for SPOP with <count>: unit/type/set, unit/scripting, integration/aof
--
Cleaned up code a bit to match with required Redis coding style

show more ...


# 95b1979c 26-Jun-2014 antirez <[email protected]>

No more trailing spaces in Redis source code.


Revision tags: 2.8.7, 2.8.6, 3.0.0-beta1, 2.8.5, 2.8.4
# c00453da 13-Dec-2013 antirez <[email protected]>

SDIFF iterator misuse fixed in diff algorithm #1.

The bug could be easily triggered by:

SADD foo a b c 1 2 3 4 5 6
SDIFF foo foo

When the key was the same in two sets, an unsafe iterator w

SDIFF iterator misuse fixed in diff algorithm #1.

The bug could be easily triggered by:

SADD foo a b c 1 2 3 4 5 6
SDIFF foo foo

When the key was the same in two sets, an unsafe iterator was used to
check existence of elements in the same set we were iterating.
Usually this would just result into a wrong output, however with the
dict.c API misuse protection we have in place, the result was actually
an assertion failed that was triggered by the CI test, while creating
random datasets for the "MASTER and SLAVE consistency" test.

show more ...


Revision tags: 2.6.17, 2.8.3, 2.8.2, 2.8.1, 2.8.0, 2.8.0-rc6
# ebcb6251 05-Nov-2013 antirez <[email protected]>

SCAN code refactored to parse cursor first.

The previous implementation of SCAN parsed the cursor in the generic
function implementing SCAN, SSCAN, HSCAN and ZSCAN.

The actual higher-level command

SCAN code refactored to parse cursor first.

The previous implementation of SCAN parsed the cursor in the generic
function implementing SCAN, SSCAN, HSCAN and ZSCAN.

The actual higher-level command implementation only checked for empty
keys and return ASAP in that case. The result was that inverting the
arguments of, for instance, SSCAN for example and write:

SSCAN 0 key

Instead of

SSCAN key 0

Resulted into no error, since 0 is a non-existing key name very likely.
Just the iterator returned no elements at all.

In order to fix this issue the code was refactored to extract the
function to parse the cursor and return the error. Every higher level
command implementation now parses the cursor and later checks if the key
exist or not.

show more ...


# 4a1f1cc0 28-Oct-2013 antirez <[email protected]>

SSCAN implemented.


Revision tags: 2.8.0-rc5, 2.8.0-rc4, 2.6.16, 2.6.15, 2.8.0-rc3, 2.8.0-rc2, 2.8.0-rc1, 2.6.14-2, 2.6.14-1, 2.6.14, 2.6.13, 2.6.12, 2.6.10-3, 2.6.10-2, 2.6.11, 2.6.10-1, 2.6.10, 2.6.9-1, 2.6.9, 2.6.8-1, 2.6.8, 2.6.7-1, 2.6.7, 2.6.6, 2.4.18, 2.6.5, 2.6.4, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.6.0-rc8, 2.6.0-rc7, 2.4.17, 2.6.0-rc6, 2.4.16, 2.4.15, 2.6.0-rc5, 2.6.0-rc4
# 894eba07 05-Jun-2012 antirez <[email protected]>

Introduction of a new string encoding: EMBSTR

Previously two string encodings were used for string objects:

1) REDIS_ENCODING_RAW: a string object with obj->ptr pointing to an sds
stirng.

2) REDIS

Introduction of a new string encoding: EMBSTR

Previously two string encodings were used for string objects:

1) REDIS_ENCODING_RAW: a string object with obj->ptr pointing to an sds
stirng.

2) REDIS_ENCODING_INT: a string object where the obj->ptr void pointer
is casted to a long.

This commit introduces a experimental new encoding called
REDIS_ENCODING_EMBSTR that implements an object represented by an sds
string that is not modifiable but allocated in the same memory chunk as
the robj structure itself.

The chunk looks like the following:

+--------------+-----------+------------+--------+----+
| robj data... | robj->ptr | sds header | string | \0 |
+--------------+-----+-----+------------+--------+----+
| ^
+-----------------------+

The robj->ptr points to the contiguous sds string data, so the object
can be manipulated with the same functions used to manipulate plan
string objects, however we need just on malloc and one free in order to
allocate or release this kind of objects. Moreover it has better cache
locality.

This new allocation strategy should benefit both the memory usage and
the performances. A performance gain between 60 and 70% was observed
during micro-benchmarks, however there is more work to do to evaluate
the performance impact and the memory usage behavior.

show more ...


# 8063155c 05-Feb-2013 Rock Li <[email protected]>

retval doesn't initalized

If each if conditions are all fail, variable retval will under uninitlized


# 00274733 04-Feb-2013 Gengliang Wang <[email protected]>

Fix a bug in srandmemberWithCountCommand()

In CASE 2, the call sunionDiffGenericCommand will involve the string "srandmember"
> sadd foo one
(integer 1)
> sadd srandmember two
(integer 2)
> sr

Fix a bug in srandmemberWithCountCommand()

In CASE 2, the call sunionDiffGenericCommand will involve the string "srandmember"
> sadd foo one
(integer 1)
> sadd srandmember two
(integer 2)
> srandmember foo 3
1)"one"
2)"two"

show more ...


123