fix(json_family): fix JSON.GET commmand for JSON legacy mode (#3261)

* fix(json_family): fix JSON.GET commmand for JSON legacy mode

fixes dragonflydb#1523

Signed-off-by: Stepan Bagritsevich <bagr.stepan@gmail.com>

* refactor(json_family): address comments

Signed-off-by: Stepan Bagritsevich <bagr.stepan@gmail.com>

---------

Signed-off-by: Stepan Bagritsevich <bagr.stepan@gmail.com>
This commit is contained in:
Stepan Bagritsevich 2024-07-05 14:27:23 +04:00 committed by GitHub
parent 8240c7f19e
commit d9dd54d25e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 294 additions and 56 deletions

View file

@ -44,6 +44,31 @@ using facade::kWrongTypeErr;
#endif // RETURN_ON_BAD_STATUS
#ifndef RETURN_UNEXPECTED
#define RETURN_UNEXPECTED(x) \
do { \
if (!(x)) { \
return (x).get_unexpected(); \
} \
} while (0)
#endif // RETURN_UNEXPECTED
#ifndef GET_OR_SEND_UNEXPECTED
#define GET_OR_SEND_UNEXPECTED(expr) \
({ \
auto expr_res = (expr); \
if (!expr_res) { \
cntx->SendError(expr_res.error()); \
return; \
} \
std::move(expr_res).value(); \
})
#endif // GET_OR_SEND_UNEXPECTED
namespace rdb {
enum errc {