10340 Commits

Author SHA1 Message Date
antirez
c6243a942d Change indentation and other minor details of PR #4489.
The main change introduced by this commit is pretending that help
arrays are more text than code, thus indenting them at level 0. This
improves readability, and is an old practice when defining arrays of
C strings describing text.

Additionally a few useless return statements are removed, and the HELP
subcommand capitalized when printed to the user.
2017-12-06 12:05:14 +01:00
Itamar Haber
482d678e95 C style 2017-12-05 19:09:19 +02:00
Itamar Haber
2d0c00ff5f C style 2017-12-05 19:09:19 +02:00
Itamar Haber
b23c8babed Uses an offset in addReplyHelp 2017-12-05 18:17:14 +02:00
Itamar Haber
66e5f13e7a Uses an offset in addReplyHelp 2017-12-05 18:17:14 +02:00
Itamar Haber
8b51121998 Merge remote-tracking branch 'upstream/unstable' into help_subcommands 2017-12-05 18:14:59 +02:00
Itamar Haber
ae758ab46b Merge remote-tracking branch 'upstream/unstable' into help_subcommands 2017-12-05 18:14:59 +02:00
antirez
62a4b817c6 add linkClient(): adds the client and caches the list node.
We have this operation in two places: when caching the master and
when linking a new client after the client creation. By having an API
for this we avoid incurring in errors when modifying one of the two
places forgetting the other. The function is also a good place where to
document why we cache the linked list node.

Related to #4497 and #4210.
2017-12-05 16:02:03 +01:00
antirez
7bec849a07 add linkClient(): adds the client and caches the list node.
We have this operation in two places: when caching the master and
when linking a new client after the client creation. By having an API
for this we avoid incurring in errors when modifying one of the two
places forgetting the other. The function is also a good place where to
document why we cache the linked list node.

Related to #4497 and #4210.
2017-12-05 16:02:03 +01:00
Salvatore Sanfilippo
03cfc8bf3a
Merge pull request #4497 from soloestoy/optimize-unlink-client
networking: optimize unlinkClient() in freeClient()
2017-12-05 15:51:15 +01:00
Salvatore Sanfilippo
873752cd76 Merge pull request #4497 from soloestoy/optimize-unlink-client
networking: optimize unlinkClient() in freeClient()
2017-12-05 15:51:15 +01:00
Salvatore Sanfilippo
c56fbb246c
Merge pull request #4508 from trevor211/fixNotes
fix some notes
2017-12-05 15:47:05 +01:00
Salvatore Sanfilippo
3f1bfac9c6 Merge pull request #4508 from trevor211/fixNotes
fix some notes
2017-12-05 15:47:05 +01:00
antirez
479ea57797 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2017-12-05 15:38:21 +01:00
antirez
03b7d8d850 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2017-12-05 15:38:21 +01:00
zhaozhao.zz
7c6ddbc37d dict: fix the int problem for defrag 2017-12-05 15:38:03 +01:00
zhaozhao.zz
af08cd716d dict: fix the int problem for defrag 2017-12-05 15:38:03 +01:00
zhaozhao.zz
d1176b582c dict: fix the int problem 2017-12-05 15:37:59 +01:00
zhaozhao.zz
c6ed4c399a dict: fix the int problem 2017-12-05 15:37:59 +01:00
Salvatore Sanfilippo
6830fa25e3
Merge pull request #4488 from itamarhaber/debug_arity
Standardizes arity handling of DEBUG
2017-12-05 15:29:42 +01:00
Salvatore Sanfilippo
77ff594df3 Merge pull request #4488 from itamarhaber/debug_arity
Standardizes arity handling of DEBUG
2017-12-05 15:29:42 +01:00
Salvatore Sanfilippo
e4903ce586
Merge pull request #4509 from soloestoy/set-int-problem
Set int problem
2017-12-05 15:28:08 +01:00
Salvatore Sanfilippo
6c6ba30cfa Merge pull request #4509 from soloestoy/set-int-problem
Set int problem
2017-12-05 15:28:08 +01:00
zhaozhao.zz
42387d6c1a set: fix the int problem for qsort 2017-12-05 17:42:19 +08:00
zhaozhao.zz
470090fc4a set: fix the int problem for qsort 2017-12-05 17:42:19 +08:00
zhaozhao.zz
de809666f8 set: fix the int problem for SPOP & SRANDMEMBER 2017-12-05 17:19:19 +08:00
zhaozhao.zz
9a6a24d944 set: fix the int problem for SPOP & SRANDMEMBER 2017-12-05 17:19:19 +08:00
WuYunlong
3f232ebfb8 fix some notes 2017-12-05 14:41:16 +08:00
WuYunlong
6920f879b0 fix some notes 2017-12-05 14:41:16 +08:00
Salvatore Sanfilippo
e6c3bcf9e0
Merge pull request #4506 from soloestoy/quicklist-int-problem
Quicklist int problem
2017-12-04 17:25:34 +01:00
Salvatore Sanfilippo
7e16557875 Merge pull request #4506 from soloestoy/quicklist-int-problem
Quicklist int problem
2017-12-04 17:25:34 +01:00
zhaozhao.zz
b9491b65d9 quicklist: change the len of quicklist to unsigned long 2017-12-04 19:49:40 +08:00
zhaozhao.zz
68977f5138 quicklist: change the len of quicklist to unsigned long 2017-12-04 19:49:40 +08:00
zhaozhao.zz
664bbfe760 quicklist: fix the return value of quicklistCount 2017-12-04 19:49:23 +08:00
zhaozhao.zz
549cca35ad quicklist: fix the return value of quicklistCount 2017-12-04 19:49:23 +08:00
antirez
2869284e44 Streams: fix a few type mismatches in t_stream.c. 2017-12-04 11:59:15 +01:00
antirez
a135f4f52c Streams: fix a few type mismatches in t_stream.c. 2017-12-04 11:59:15 +01:00
antirez
60d26acfc8 Refactoring: improve luaCreateFunction() API.
The function in its initial form, and after the fixes for the PSYNC2
bugs, required code duplication in multiple spots. This commit modifies
it in order to always compute the script name independently, and to
return the SDS of the SHA of the body: this way it can be used in all
the places, including for SCRIPT LOAD, without duplicating the code to
create the Lua function name. Note that this requires to re-compute the
body SHA1 in the case of EVAL seeing a script for the first time, but
this should not change scripting performance in any way because new
scripts definition is a rare event happening the first time a script is
seen, and the SHA1 computation is anyway not a very slow process against
the typical Redis script and compared to the actua Lua byte compiling of
the body.

Note that the function used to assert() if a duplicated script was
loaded, however actually now two times over three, we want the function
to handle duplicated scripts just fine: this happens in SCRIPT LOAD and
in RDB AUX "lua" loading. Moreover the assert was not defending against
some obvious failure mode, so now the function always tests against
already defined functions at start.
2017-12-04 11:25:20 +01:00
antirez
967bc9e1c7 Refactoring: improve luaCreateFunction() API.
The function in its initial form, and after the fixes for the PSYNC2
bugs, required code duplication in multiple spots. This commit modifies
it in order to always compute the script name independently, and to
return the SDS of the SHA of the body: this way it can be used in all
the places, including for SCRIPT LOAD, without duplicating the code to
create the Lua function name. Note that this requires to re-compute the
body SHA1 in the case of EVAL seeing a script for the first time, but
this should not change scripting performance in any way because new
scripts definition is a rare event happening the first time a script is
seen, and the SHA1 computation is anyway not a very slow process against
the typical Redis script and compared to the actua Lua byte compiling of
the body.

Note that the function used to assert() if a duplicated script was
loaded, however actually now two times over three, we want the function
to handle duplicated scripts just fine: this happens in SCRIPT LOAD and
in RDB AUX "lua" loading. Moreover the assert was not defending against
some obvious failure mode, so now the function always tests against
already defined functions at start.
2017-12-04 11:25:20 +01:00
antirez
c6eca690ee Remove useless variable check from luaCreateFunction().
The block is already inside if (allow_dup).
2017-12-04 10:55:54 +01:00
antirez
f08a02dac5 Remove useless variable check from luaCreateFunction().
The block is already inside if (allow_dup).
2017-12-04 10:55:54 +01:00
antirez
68681f2bcf Fix issue #4505, Lua RDB AUX field loading of existing scripts.
Unfortunately, as outlined by @soloestoy in #4505, "lua" AUX RDB field
loading in case of duplicated script was still broken. This commit fixes
this problem and also a memory leak introduced by the past commit.

Note that now we have a regression test able to duplicate the issue, so
this commit was actually tested against the regression. The original PR
also had a valid fix, but I prefer to hide the details of scripting.c
outside scripting.c, and later "SCRIPT LOAD" should also be able to use
the function luaCreateFunction() instead of redoing the work.
2017-12-04 10:33:04 +01:00
antirez
78f8583063 Fix issue #4505, Lua RDB AUX field loading of existing scripts.
Unfortunately, as outlined by @soloestoy in #4505, "lua" AUX RDB field
loading in case of duplicated script was still broken. This commit fixes
this problem and also a memory leak introduced by the past commit.

Note that now we have a regression test able to duplicate the issue, so
this commit was actually tested against the regression. The original PR
also had a valid fix, but I prefer to hide the details of scripting.c
outside scripting.c, and later "SCRIPT LOAD" should also be able to use
the function luaCreateFunction() instead of redoing the work.
2017-12-04 10:33:04 +01:00
antirez
6f0b19bc5b Regression test for #4505 (Lua AUX field loading). 2017-12-04 10:26:02 +01:00
antirez
f489746d4b Regression test for #4505 (Lua AUX field loading). 2017-12-04 10:26:02 +01:00
antirez
6a1bf07a46 DEBUG change-repl-id implemented.
With PSYNC2 to force a full SYNC in tests is hard. With this new DEBUG
subcommand we just need to call it and then CLIENT KILL TYPE master in
the slave.
2017-12-04 10:24:52 +01:00
antirez
0ae7410b24 DEBUG change-repl-id implemented.
With PSYNC2 to force a full SYNC in tests is hard. With this new DEBUG
subcommand we just need to call it and then CLIENT KILL TYPE master in
the slave.
2017-12-04 10:24:52 +01:00
Itamar Haber
51eb6cb395 Adds help to CONFIG 2017-12-03 19:34:31 +02:00
Itamar Haber
fbf582220e Adds help to CONFIG 2017-12-03 19:34:31 +02:00
Itamar Haber
bd5af03dbd Adds help to CLUSTER command 2017-12-03 19:05:10 +02:00