Support Json with Resp 2 (#3146) (#3155)

* Support ReJSON resp 2 && Test ReJSON against RESP 2 and 3 && Add complex search and json test

* Remove comments

* Remove unnecessary changes

Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
This commit is contained in:
Vladyslav Vildanov 2024-10-14 14:59:45 +03:00 committed by GitHub
parent ec680aec14
commit ac2e91d9d9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 772 additions and 614 deletions

View File

@ -60,7 +60,7 @@ type JSONArrTrimArgs struct {
type JSONCmd struct { type JSONCmd struct {
baseCmd baseCmd
val string val string
expanded []interface{} expanded interface{}
} }
var _ Cmder = (*JSONCmd)(nil) var _ Cmder = (*JSONCmd)(nil)
@ -100,11 +100,11 @@ func (cmd *JSONCmd) Result() (string, error) {
return cmd.Val(), cmd.Err() return cmd.Val(), cmd.Err()
} }
func (cmd JSONCmd) Expanded() (interface{}, error) { func (cmd *JSONCmd) Expanded() (interface{}, error) {
if len(cmd.val) != 0 && cmd.expanded == nil { if len(cmd.val) != 0 && cmd.expanded == nil {
err := json.Unmarshal([]byte(cmd.val), &cmd.expanded) err := json.Unmarshal([]byte(cmd.val), &cmd.expanded)
if err != nil { if err != nil {
return "", err return nil, err
} }
} }
@ -494,7 +494,7 @@ func (c cmdable) JSONMSet(ctx context.Context, params ...interface{}) *StatusCmd
} }
// JSONNumIncrBy increments the number value stored at the specified path by the provided number. // JSONNumIncrBy increments the number value stored at the specified path by the provided number.
// For more information, see https://redis.io/commands/json.numincreby // For more information, see https://redis.io/docs/latest/commands/json.numincrby/
func (c cmdable) JSONNumIncrBy(ctx context.Context, key, path string, value float64) *JSONCmd { func (c cmdable) JSONNumIncrBy(ctx context.Context, key, path string, value float64) *JSONCmd {
args := []interface{}{"JSON.NUMINCRBY", key, path, value} args := []interface{}{"JSON.NUMINCRBY", key, path, value}
cmd := newJSONCmd(ctx, args...) cmd := newJSONCmd(ctx, args...)

File diff suppressed because it is too large Load Diff