88 Commits

Author SHA1 Message Date
michael-grunder
8c7c5a3aa2 Refactor SORT and add SORT_RO command
See #2068
2022-10-23 13:18:13 -07:00
michael-grunder
71bcbcb973 Implement ZRANGESTORE and add ZRANGE options
* Add ZRANGESTORE command.

* Add Redis 6.2's `REV`, `BYLEX`, and `BYSCORE` to ZRANGE options.

* Refactor several ZRANGE family commands into a single reply and
  options handler, using PHP's new argument parsing macros.

* Extend our tests to use the new ZRANGE options.

See #1894
2022-10-22 12:46:01 -07:00
michael-grunder
f3a408305a EVAL_RO and EVALSHA_RO
Implement Redis 7.0.0's readonly eval variants

See: #2068
2022-10-21 23:35:09 -07:00
michael-grunder
44d03ca00a INFO with multiple sections
See #2068
2022-10-16 11:31:43 -07:00
michael-grunder
4d8afd387e Refactor BITPOS and implement BIT/BYTE option.
Update BITPOS to use the new argument parsing macros as well as
implement Redis 7.0.0's BIT/BYTE modifier.

Additionally I changed `int $bit` to `bool $bit` as its a more
appropriate datatype.

See #2068
2022-10-13 11:53:57 -07:00
michael-grunder
872ae1079f Implement Redis 7.0.0 [P]EXPIRE[AT] options
See #2068
2022-10-13 11:31:28 -07:00
michael-grunder
5ac92d25f1 Add missing directed node command to docs and refactor stubs.
* Add every "directed node" command we could find to the relevant
  section in cluster.markdown.

* Refactor the stubs so every node argument is named the same thing
  ($key_or_address) and has the same data type (string|array).

Fixes #1840
2022-10-12 22:42:12 -07:00
Michael Grunder
e392dd88dd RedisCluster stub fixes (#2183)
RedisCluster stub fixes

I can now run RedisCluster unit tests within a PHP build tree build in
debug mode without any deprecation warnings or arginfo/zpp errors.
2022-10-12 13:16:43 -07:00
michael-grunder
457953f4fe Refactor and fix XPENDING handler
Fixes #2128
2022-10-10 22:57:36 -07:00
michael-grunder
3b0d8b7781 Refactor XINFO handler
Fixes #2119
2022-10-10 22:55:35 -07:00
michael-grunder
6b34d17fc4 Add new Redis 6.2.0 XTRIM options
Fixes #1961
2022-10-08 11:35:10 -07:00
michael-grunder
9a3fe401dc Implement new RESTORE options
Add the new RESTORE options REPLACE, ABSTTL, FREQ <freq> and IDLETIME <idletime>

Fixes #1410
2022-10-08 10:51:50 -07:00
michael-grunder
6ea978eb72 [B]LMPOP and [B]ZMPOP commands
Implement the new Redis 7.0.0 commands to pop multiple elements from one
or more lists/zsets.

Additionally, remove INTERNAL_FUNCTION_PARAMETERS from the
redis_sock_read_multibulk_reply_zval helper function as it wasn't
actually being used.
2022-10-08 09:23:13 -07:00
michael-grunder
f5b2a09b34 EXPIRETIME and PEXPIRETIME 2022-10-02 01:33:50 -07:00
michael-grunder
c0e839f6ac LCS command
Implement the Redis 7.0.0 LCS command with tests.
2022-10-01 10:42:23 -07:00
michael-grunder
6430050808 SINTERCARD and ZINTERCARD commands
Implement Redis 7.0.0 commands SINTERCARD and ZINTERCARD.
2022-10-01 10:42:23 -07:00
Nicolas Grekas
703d71b530 Fix typo 2022-08-16 18:06:47 +02:00
Remi Collet
a38e08daa1 regenerate arginfo using 8.2.0beta1 2022-07-18 13:46:36 +02:00
Remi Collet
3675f442e4 mark auth param as sensitive for PHP 8.2
refactor MINIT (split in each class sources file)
use @generate-class-entries in stub files
add RedisException and RedisClusterException in stub files
2022-07-18 13:45:45 +02:00
Pavlo Yatsukhnenko
df97cc3531 Issue #1894
Add the COUNT argument to LPOP and RPOP
2022-06-07 18:51:55 +03:00
Pavlo Yatsukhnenko
14d121bb69 Allow to pass null as iterator 2022-02-01 21:02:59 +02:00
Pavlo Yatsukhnenko
36a1b0c370 Issue #2038 2021-12-02 07:21:07 +02:00
Pavlo Yatsukhnenko
aada5425ca Issue #2038 2021-12-01 20:34:07 +02:00
Pavlo Yatsukhnenko
5d8923e178 Fix stub-based arginfo for Redis::object and RedisCluster::object 2021-09-07 21:00:12 +03:00
Pavlo Yatsukhnenko
203ffbb66a Fix RedisCluster [hz]scan iteratior reference 2021-09-07 19:24:46 +03:00
Pavlo Yatsukhnenko
489107a891 Add stub-based arginfo for RedisCluster::_pack and RedisCluster::_unpack 2021-09-07 11:13:24 +03:00
Pavlo Yatsukhnenko
ab65e3ca97 Add stub-based arginfo for RedisCluster::_uncompress 2021-09-07 10:59:41 +03:00
Pavlo Yatsukhnenko
dc04a96989 Add stub-based arginfo for RedisCluster::_compress 2021-09-07 10:48:42 +03:00
Pavlo Yatsukhnenko
0b9a1d163f Add stub-based arginfo for Redis Cluster methods z 2021-08-26 09:55:40 +03:00
Pavlo Yatsukhnenko
98c026e385 Add stub-based arginfo for Redis Cluster methods t-x 2021-08-26 09:55:40 +03:00
Pavlo Yatsukhnenko
78bb6b367b Add stub-based arginfo for Redis Cluster methods s 2021-08-26 09:55:40 +03:00
Pavlo Yatsukhnenko
ecd6462309 Add stub-based arginfo for Redis Cluster methods r 2021-08-26 09:55:40 +03:00
Pavlo Yatsukhnenko
d527061aaa Add stub-based arginfo for Redis Cluster methods p 2021-08-26 09:55:40 +03:00
Viktor Djupsjöbacka
4d3db95b39 Add stub-based arginfo for Redis Cluster methods l-o 2021-08-26 09:55:40 +03:00
Viktor Djupsjöbacka
cdfa0fde5d Add stub-based arginfo for Redis Cluster methods h-k 2021-08-26 09:55:40 +03:00
Viktor Djupsjöbacka
e1458a2996 Add stub-based arginfo for Redis Cluster methods e-g 2021-08-26 09:55:40 +03:00
Viktor Djupsjöbacka
9cb7c4792f Add stub-based arginfo for Redis Cluster methods b-d 2021-08-26 09:55:40 +03:00
Pavlo Yatsukhnenko
eca6278f6a [WIP] Use stub/arginfo for RedisCluster 2021-08-26 09:55:38 +03:00