| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
| |
| |
| |
| | |
Closes #878
|
| |
| |
| |
| |
| |
| |
| | |
Also adds a fallthrough case for when given
large values (like overflow numbers of 2^64 by mistake).
Closes #858
|
| |
| |
| |
| | |
Closes #857
|
| |
| |
| |
| |
| | |
Fix redis-cli prompt to state "not connected" after a SHUTDOWN command
is sent.
|
| |
| |
| |
| |
| |
| | |
d is more clear because the type of argument is dict not dictht
Closes #513
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
This raises the max string to 4GB without any downside.
|
| |
| |
| |
| |
| |
| | |
Hat tip to @rfuchs. See: https://github.com/redis/hiredis/pull/178.
Fixes #1187
|
| |
| |
| |
| |
| |
| | |
Also moves acceptHandler() to be near the other accept...() functions.
Closes #1105
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For some Solaris flavours, the inet_aton in in resolv library.
Not linking this library will introduce link error.
Improves compatability with older Solaris and still
works on new Solaris.
Closes #1092
|
| |
| |
| |
| |
| |
| |
| | |
The funciton was also modified in order to be more standalone and
produce an output without trailing spaces, making the reuse simpler.
The global variable was renamed in cammel case as most other Redis
globals, except the main ones we refer too many times, like 'server'.
|
| |
| |
| |
| |
| |
| | |
Less copy/paste code duplication.
Closes #952
|
| |
| |
| |
| | |
Closes #1161
|
| |
| |
| |
| | |
Closes #1327
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Found by The Mayhem Team (Alexandre Rebert, Thanassis Avgerinos,
Sang Kil Cha, David Brumley, Manuel Egele) Cylab, Carnegie Mellon
University. See http://bugs.debian.org/716259 for more.
Signed-off-by: Chris Lamb <lamby@debian.org>
Fixes #1191
|
| |
| |
| |
| | |
Closes #1129
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, "MOVE key somestring" would move the key to
DB 0 which is just unexpected and wrong.
String as DB == error.
Test added too.
Modified by @antirez in order to use the getLongLongFromObject() API
instead of strtol().
Fixes #1428
|
| |
| |
| |
| |
| |
| |
| |
| | |
Also adds test for numsub — due to tcl being tcl,
it doesn't capture the "numberness" of the fix,
but now we at least have one test case for numsub.
Closes #1561
|
| |
| |
| |
| | |
Closes #1519
|
| |
| |
| |
| |
| |
| |
| | |
[I had to split out the clang check due to
clang *really* not liking the __GLIBC_PREREQ macro; -matt]
Closes #1456
|
| |
| |
| |
| |
| |
| |
| | |
Reason:
https://github.com/antirez/redis/pull/1450#issuecomment-30432925
Closes #1450
|
| |
| |
| |
| | |
Closes #1614
|
| |
| |
| |
| | |
Closes #1610
|
| |
| |
| |
| |
| |
| |
| |
| | |
According to the C standard,
it is desirable to give the type 'void'
to functions have no argument.
Closes #1631
|
| |
| |
| |
| |
| |
| |
| |
| | |
dictAdd returns DICT_OK, not REDIS_OK. They both
have the same underlying values, so it works even though
the code is technically wrong.
Fixes #1512
|
| |
| |
| |
| |
| |
| |
| | |
Use constants to avoid magic numbers in `types`, which is an array
that stores the names of `REDIS` types.
Closes #1681
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Modified by @antirez since the original fix to genInfoString() looked
weak. Probably the clang analyzer complained about `section` being
possibly NULL, and strcasecmp() called with a NULL pointer. In the
practice this can never happen, still for the sake of correctness
the right fix is not to modify only the first call, but to set `section`
to the value of "default" if it happens to be NULL.
Closes #1660
|
| |
| |
| |
| |
| | |
Also quit ASAP when we are still loading a DB, since care is not needed
in this special condition, especially for a SIGINT.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The classic (min+max)/2 is provably unsafe. Fixed
as recommended in research:
http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html
Fix inspired by @wjin, but I used a different approach.
(later, I found @kuebler fixed the same issue too).
Fixes #1741, #1602
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We only want to use the last STORE key, but we have to record
we actually found a STORE key so we can increment the final return
key count.
Test added to prevent further regression.
Closes #1883, #1645, #1647
|
| |
| |
| |
| |
| |
| |
| |
| | |
Previously the end was casted to a smaller type
which resulted in a wrong check and failed
with values larger than handled by unsigned.
Closes #1847, #1844
|
| |
| |
| |
| |
| |
| |
| | |
Negative key count causes segfault in Lua functions.
Fixes #1842
Closes #1843
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Cluster leaks memory while connecting due to missing freeaddrinfo()
(Commit modified by @antirez. The freeaddrinfo() call was misplaced so
in case of no address was bound, the memory leak was still there).
Closes #1801
|
| |
| |
| |
| |
| |
| | |
(Cleaned up a little by @mattsta)
Closes #1774
|
| |
| |
| |
| | |
Fixes #1741
|
| | |
|
| |
| |
| |
| | |
Closes #1900
|
| |
| |
| |
| |
| |
| |
| | |
Some people need formatted output even when they have no
interactive tty.
Fixes #760
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously redis-cli would happily show "-1" or "99999"
as valid DB choices.
Now, if the SELECT call returned an error, we don't update
the DB number in the CLI.
Inspired by @anupshendkar in #1313
Fixes #566, #1313
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, if you did SELECT then AUTH, redis-cli
would show your SELECT'd db even though it didn't
happen.
Note: running into this situation is a (hopefully) very limited
used case of people using multiple DBs and AUTH all at the same
time.
Fixes antirez#1639
|
|/
|
|
|
| |
The bug was found by @CAFxX, thanks!
See issue #1940.
|
| |
|
|
|
| |
Also unified the logic to match `genRedisInfoString`
|
|
|
|
|
|
|
|
| |
Replica migration algorithm modified so that slaves never try to migrate
to masters that were never configured to have slaves in the past.
We want the algorithm to take care of masters that remained without
*working* slaves, but that used to have slaves according to the cluster
configuration.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on ideas documented in this blog post:
https://www.facebook.com/notes/facebook-engineering/three-optimization-tips-for-c/10151361643253920
The original code was modified to handle signed integers, reformetted to
fit inside the Redis code base, and was stress-tested with a program
in order to validate the implementation against snprintf().
Redis was measured to be measurably faster from the point of view of
clients in real-world operations because of this change, since sometimes
number to string conversion is used extensively (for example every time
a GET results into an integer encoded object to be returned to the
user).
|