Commit Graph

204 Commits

Author SHA1 Message Date
ofekshenawa d1b4eaed41
Support TimeSeries commands with RESP 2 protocol (#3184)
* Support Timeseries resp 2

* Change to resp 2

* Support Resp2 for TimeSeries commands
2024-11-13 10:27:00 +02:00
ofekshenawa 04005cbdc7
Support Resp 3 Redis Search Unstable Mode (#3098)
* Updated module version that points to retracted package version (#3074)

* Updated module version that points to retracted package version

* Updated testing image to latest

* support raw parsing for problematic Redis Search types

* Add UnstableResp3SearchModule to client options

* Add tests for Resp3 Search unstable mode

* Add tests for Resp3 Search unstable mode

* Add readme note

* Add words to spellcheck

* Add UnstableResp3SearchModule check to assertStableCommand

* Fix assertStableCommand logic

* remove go.mod changes

* Check panic occur on tests

* rename method

* update errors

* Rename flag to UnstableResp3

---------

Co-authored-by: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com>
Co-authored-by: vladvildanov <divinez122@outlook.com>
2024-09-12 11:26:10 +03:00
ofekshenawa 244a3e22da
RediSearch Support (#2801)
* Add RediSearch Support

* searach

* Add RediSearch commands and tests

* Adding more tests and fixing commands

* Remove unnecessary additions

* fixing tests

* fixing tests

* fixing tests

* fixing FTConfig dialect test

* fix commects

* make enum for field types

* Support resp 2

* fix golang ci

* fix ftinfo

---------

Co-authored-by: Chayim <chayim@users.noreply.github.com>
2024-06-26 13:13:06 +03:00
Andrew Haines 2d7382e8cc
Add `(*StatusCmd).Bytes()` method (#3030)
Signed-off-by: Andrew Haines <andrew@haines.org.nz>
Co-authored-by: Monkey <golang@88.com>
2024-06-21 11:00:16 +08:00
ofekshenawa 2a3de7e1fc
Change redis version from 7.2 to 7.4 in makefile (#3034)
* Change redis version from 7.2 to 7.4

* fix jsonGet test

* Add 'watch' to client info

* Remove jsonGet from Enterprise tests
2024-06-20 00:08:35 +03:00
ofekshenawa 34dacf14a7
Fix monitor on go 1.19 (#2908)
* Fix monitor on go 1.19

* Remove exmaple tests when go 1.19

* Fix typo

* Fix typo

* Skip exmaple test

* Skip exmaple test

* Guard Peek call with mutex for thread safety
2024-03-21 10:48:31 +02:00
Tiago Peczenyj 21ed15bbed
Add helpers to set libinfo without panic (#2724)
* add helpers to set library name and library info without risk of panic if we try to set both

* refactor code to use helpers

* add example

* refactor tests

* fix testable example

* simplify example

* rename exampl

* fix ring.go

* update example

---------

Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
2024-02-14 22:40:20 +02:00
dragon-fly d8e3e95866
return raw value instead of funcation calling in Result() (#2831)
Signed-off-by: lowang-bh <lhui_wang@163.com>
2024-01-03 10:43:42 +02:00
Ilia Kuznetcov c828764336
Allow scanning redis values into pointer fields (#2787)
* Allow scanning redis values into pointer fields

* Formatting

---------

Co-authored-by: Ilia Personal <iliapersonal@Ilyas-MBP.station>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
2023-12-17 17:42:45 +02:00
ofekshenawa 86c68be278
Execute "COMMAND" command only when readonly (#2815)
* remove command command from oss cluster

* remove command command from oss cluster

* remove cmdInfo from ring

---------

Co-authored-by: Chayim <chayim@users.noreply.github.com>
2023-12-17 15:21:01 +02:00
fengyun.rui 8c695488a2
fix: add Cmder annotation (#2816)
* fix: add Cmder annotation

Signed-off-by: rfyiamcool <rfyiamcool@163.com>

* fix: add Cmder annotation

Signed-off-by: rfyiamcool <rfyiamcool@163.com>

---------

Signed-off-by: rfyiamcool <rfyiamcool@163.com>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
2023-12-17 15:20:23 +02:00
ofekshenawa 277e8b7d9f
Support Monitor Command (#2830)
* Add monitor command

* Add monitor commadn and tests

* insure goroutine shutdown

* fix data race

* linting

* change timeout explanation

---------

Co-authored-by: Chayim <chayim@users.noreply.github.com>
2023-12-17 12:35:10 +02:00
Nic Gibson 343016bf72
add InfoMap command (#2665)
Add an extended version of Info() to parse the results from a call to redis.Info so that it’s simpler to operate on any given item in the result.

Signed-off-by: Nic Gibson <nic.gibson@redis.com>
2023-10-30 18:07:42 +02:00
Tiago Peczenyj e8ad794e96
Format code and fix go vet (#2696)
* run go fix ./...

Signed-off-by: Tiago Peczenyj <tpeczenyj@weborama.com>

* run make fmt

Signed-off-by: Tiago Peczenyj <tpeczenyj@weborama.com>

* fix go vet ./... issues

* Update README.md

Reorder imports with the rules defined in the Makefile 

as if we run `make fmt`

* run gofumpt -w .

* update Makefile to use gofumpt instead gofmt

* increment makefile

* format test

* format tests

Signed-off-by: Tiago Peczenyj <tpeczenyj@weborama.com>

---------

Signed-off-by: Tiago Peczenyj <tpeczenyj@weborama.com>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
2023-09-20 14:03:44 +03:00
Anurag Bandyopadhyay 3b0d10b4ed
Support for CLIENT SETINFO (#2659)
* feat: merge master

* feat: revert ring.go

* feat: add ClientSetInfo command

* fix: test and cmd:

* fix: test and cmd

* fix: test and cmd

* fix: test and cmd

* feat: redesigning the API

* fix: panic test

* fix: panic test

---------

Co-authored-by: Anuragkillswitch <70265851+Anuragkillswitch@users.noreply.github.com>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
2023-09-14 16:24:23 +03:00
ofekshenawa 017466b6cc
Add Redis Timeseries support (#2688)
* Add Redis Timeseries support

* Small fixes

* Make timeseries interface public

* remove bloom renaming
2023-09-11 14:51:31 +03:00
ofekshenawa aba21be8cd
Add Redis Gears support (#2675)
* Add gears commands and tests

* Fix tfunctionlist and add docstrings

* fixes

* fixes

* add tfcallasync to gearsCmdable
2023-08-16 17:06:07 +03:00
Kamyab Zareh b1800df239
fix: Fix bool ToBool bug (#2626) 2023-06-13 12:20:21 +03:00
Monkey 6f0af685cf
fix the reading of the "entries-read" field in XInfoStreamFull (#2595)
* fix:  In the response of the XInfoStreamFull command, the "entries-read" field may be nil

Signed-off-by: monkey92t <golang@88.com>

* add XInfoStreamFull test

Signed-off-by: monkey92t <golang@88.com>

* add test XInfoStreamFull entries_read = nil

Signed-off-by: monkey92t <golang@88.com>

---------

Signed-off-by: monkey92t <golang@88.com>
2023-05-29 08:40:45 +03:00
Anurag Bandyopadhyay 31ba855dde
feat: Add ACL LOG (#2536)
* feat: Add ACL LOG

Signed-off-by: monkey92t <golang@88.com>

---------

Signed-off-by: monkey92t <golang@88.com>
Co-authored-by: Anuragkillswitch <70265851+Anuragkillswitch@users.noreply.github.com>
Co-authored-by: ktsivkov <ktsivkov@gmail.com>
Co-authored-by: Elena Kolevska <elena@kolevska.com>
Co-authored-by: monkey92t <golang@88.com>
2023-05-08 22:40:42 +08:00
Monkey b8c7317cc6
feat: add client info command (#2483)
* feat: add client info command

Signed-off-by: monkey92t <golang@88.com>

* add lib-name, lib-ver

Signed-off-by: monkey92t <golang@88.com>

---------

Signed-off-by: monkey92t <golang@88.com>
2023-04-24 21:18:33 +08:00
Anurag Bandyopadhyay 6ecbcf6c90
Add ZRANK, ZREVRANK WITHSCORE (#2531)
* feat: adding zrankwithscore and zrevrankwithscore commands : redis 7.2

* fix: test for non-existing members

* fix: Error check

* fix: string to float

* add ZRankWithScore API for Cmdable interface

Signed-off-by: monkey92t <golang@88.com>

* add notes

Signed-off-by: monkey92t <golang@88.com>

---------

Signed-off-by: monkey92t <golang@88.com>
Co-authored-by: Anuragkillswitch <70265851+Anuragkillswitch@users.noreply.github.com>
Co-authored-by: monkey92t <golang@88.com>
2023-04-19 22:37:41 +08:00
Monkey 6edb1529ff
test: redis-version to 7.2-rc1 (#2532)
* test: redis-version to 7.2-rc1

Signed-off-by: monkey92t <golang@88.com>
2023-04-12 20:17:10 +08:00
Elena Kolevska e96c7b5f58
Function stats, function kill, fcall and fcall_ro (#2486) 2023-03-30 21:52:06 +08:00
Anurag Bandyopadhyay 9aba95a74f
feat: Add support for CLUSTER SHARDS command (#2507)
* feat: Adding support for CLUSTER SHARDS command

Co-authored-by: Anuragkillswitch <70265851+Anuragkillswitch@users.noreply.github.com>
2023-03-29 21:44:06 +08:00
Anurag Bandyopadhyay 42d730c143
Add support for CLUSTER LINKS command (#2504)
* feat: Adding support for Cluster Links Command

Co-authored-by: Anuragkillswitch <70265851+Anuragkillswitch@users.noreply.github.com>
2023-03-28 12:19:54 +08:00
Anurag Bandyopadhyay 984bc2810d
Add support for COMMAND GETKEYS & COMMAND GETKEYSANDFLAGS (#2500)
* feat: Adding support for CommandsGetKeysAndFlags & CommandGetKeys

Co-authored-by: Anuragkillswitch <70265851+Anuragkillswitch@users.noreply.github.com>
2023-03-25 18:57:12 +08:00
Anurag Bandyopadhyay 6790337e5d
Add support for LCS Command (#2480)
* feat: initial set up for LCSCmd

* feat: adding test for LCS with no additional params

* feat: adding test for LCS with LEN param

* feat: resolving conflicts in command.go

* fix: changing reply and query structure

* feat: commands test for lcs and lcs with len

* fix: using dynamic args length

* fix: read

* fix: Cmd init

* sorting out the LCS commands

Signed-off-by: monkey92t <golang@88.com>

* fix: Adding error case test

* fix: adding correct error message

* fix: removed blank lines

---------

Signed-off-by: monkey92t <golang@88.com>
Co-authored-by: Anuragkillswitch <70265851+Anuragkillswitch@users.noreply.github.com>
Co-authored-by: monkey92t <golang@88.com>
2023-03-24 15:38:11 +08:00
Anurag Bandyopadhyay 049d4f9691
Add: Support for COMMAND LIST command (#2491)
* feat: add support and tests for Command list command

Co-authored-by: Anuragkillswitch <70265851+Anuragkillswitch@users.noreply.github.com>
2023-03-19 18:20:42 +08:00
Elena Kolevska 6501a8b15e
Implement `FUNCTION` group of commands (#2475)
* Implements function load, load replace and flush

* Implements `FUNCTIONS LIST`

* Fixes ineffectual assignment to err

* Extends other tests from the `FUNCTION` group

* Changes RdsFunction to Function

* Renames FunctionList command, for consistency

* Small fixes after review

* More fixes after review

* Implements the `LIBRARYNAME` and `WITHCODE` args for `FUNCTION LIST`

* Implements `FUNCTION DUMP`. Solves https://github.com/redis/go-redis/issues/2396

* Use a pointer instead of value for `First()`

* Implements `FUNCTION RESTORE`. Closes #2401.

* chore: tidy code

Signed-off-by: monkey92t <golang@88.com>

---------

Signed-off-by: monkey92t <golang@88.com>
Co-authored-by: monkey92t <golang@88.com>
2023-03-09 23:01:37 +08:00
Monkey e309eaf915
docs: add reading lag field comment (#2451)
Signed-off-by: monkey92t <golang@88.com>
Co-authored-by: Vladimir Mihailenco <vladimir.webdev@gmail.com>
2023-02-24 20:21:12 +08:00
Anurag Bandyopadhyay 621c02c583
Adding support for ZMPOP command (#2408)
* feat: add ZMPOP command

* fix: reply reading string

* fix: evaluating a test tweak

* fix: test fix

* fix: reverting to debug

* fix: test fix

* fix: remove old implementation

* feat: adding ZMPOP and tests

* feat: modifying ZMpopCmd

* fix: fix test

* fix: test removal check

* fix: fix testS

* Adding more tests

* fix: using redis.Nil instead of string

* fix: renaming command to ZArrayWithKeyCmd to match the standard

* feat: updated ZArrayWithKeyCmd to ZSliceWithKeyCmd

* feat: adding help strings

---------

Co-authored-by: Anuragkillswitch <70265851+Anuragkillswitch@users.noreply.github.com>
Co-authored-by: Chayim <chayim@users.noreply.github.com>
2023-02-23 01:38:51 +08:00
Timofey 3b5361dc10
fix: lag can be null (#2448)
see 383d902ce6/src/t_stream.c (L1456)
2023-02-17 21:05:44 +08:00
Monkey d2c53bd2a5
refactor: change ListElementCmd to KeyValuesCmd. (#2443)
* refactor: change ListElementCmd to KeyValuesCmd

Signed-off-by: monkey92t <golang@88.com>

* KeyValuesCmd.val are modified to pointers

Signed-off-by: monkey92t <golang@88.com>

* recover KeyValuesCmd API

Signed-off-by: monkey92t <golang@88.com>

---------

Signed-off-by: monkey92t <golang@88.com>
2023-02-14 21:52:56 +08:00
Anurag Bandyopadhyay 0d306237c7
Add support for LMPOP (#2440)
* feat: add lmpop command
2023-02-13 23:02:14 +08:00
Vladimir Mihailenco 97b491aace chore: update import path 2023-01-23 08:48:54 +02:00
Vladimir Mihailenco e314cd9846
Merge pull request #2356 from go-redis/fix/cursor-uint64
fix: read cursor as uint64
2023-01-20 15:15:43 +02:00
Vladimir Mihailenco b88bd93662 fix: read cursor as uint64 2023-01-20 13:09:00 +02:00
monkey92t d42dd1007c docs: add a description of the hook
Signed-off-by: monkey92t <golang@88.com>
2023-01-07 16:30:56 +08:00
tison d56af1f2d1
feat: support eval_ro and evalsha_ro
Signed-off-by: tison <wander4096@gmail.com>
2022-09-24 11:38:04 +08:00
Vladimir Mihailenco 9be4a9e6d3 chore: fix some command names 2022-08-08 10:28:46 +03:00
Adam Snyder 3f8edc686f feat: add some missing SetVal methods 2022-08-07 22:36:49 -07:00
jianghang b50b1c8f7a chore(internal): remove duplicate safe & unsafe 2022-08-02 00:11:40 +08:00
Vladimir Mihailenco 2aeddfaa28 fix: fix ClusterSlots to read full metadata 2022-07-29 14:28:22 +03:00
youseebiggirl 89d6dfe09a
fix: ignore Nil error when reading EntriesRead 2022-06-25 15:11:46 +03:00
Vladimir Mihailenco a18fad5bd3 chore: v9 2022-06-04 17:42:06 +03:00
Vladimir Mihailenco d09c27e604 feat: upgrade to Redis 7 2022-06-04 17:25:12 +03:00
Vladimir Mihailenco b0bb514059 fix: update COMMAND parser for Redis 7 2022-06-04 16:07:28 +03:00
Vladimir Mihailenco 91171f5e19 feat: add ClientUnpause 2022-06-04 15:09:18 +03:00
Vladimir Mihailenco 0aa94538ee Merge branch 'v9' 2022-06-04 14:28:10 +03:00