RESP3: change behavior of Lua returning true/false for RESP3.
Here we introduce a change in the way we convert values from Lua to Redis when RESP3 is selected: this is possible without breaking the fact we can return directly what a command returned, because there is no Redis command in RESP2 that returns true or false to Lua, so the conversion in the case of RESP2 is totally arbitrary. When a script is written selecting RESP3 from Lua, it totally makes sense to change such behavior and return RESP3 true/false when Lua true/false is returned.
This commit is contained in:
parent
2cc4d0286c
commit
6931004969
@ -315,7 +315,11 @@ void luaReplyToRedisReply(client *c, lua_State *lua) {
|
|||||||
addReplyBulkCBuffer(c,(char*)lua_tostring(lua,-1),lua_strlen(lua,-1));
|
addReplyBulkCBuffer(c,(char*)lua_tostring(lua,-1),lua_strlen(lua,-1));
|
||||||
break;
|
break;
|
||||||
case LUA_TBOOLEAN:
|
case LUA_TBOOLEAN:
|
||||||
addReply(c,lua_toboolean(lua,-1) ? shared.cone : shared.null[c->resp]);
|
if (server.lua_client->resp == 2)
|
||||||
|
addReply(c,lua_toboolean(lua,-1) ? shared.cone :
|
||||||
|
shared.null[c->resp]);
|
||||||
|
else
|
||||||
|
addReplyBool(c,lua_toboolean(lua,-1));
|
||||||
break;
|
break;
|
||||||
case LUA_TNUMBER:
|
case LUA_TNUMBER:
|
||||||
addReplyLongLong(c,(long long)lua_tonumber(lua,-1));
|
addReplyLongLong(c,(long long)lua_tonumber(lua,-1));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user