101 Commits

Author SHA1 Message Date
michael-grunder cc2383f076 Documentation: Additional docblock headers
[skip ci]
2022-10-30 20:15:36 -07:00
michael-grunder df50b2ad2d Documentation: More complete command docblocks
APPEND
clearLastError
DBSIZE
DECR[BY]
DEL

[skip ci]
2022-10-30 15:06:35 -07:00
Pavlo Yatsukhnenko e8f5b51748 Move options to the end list 2022-10-30 12:00:12 -07:00
Pavlo Yatsukhnenko 2bb6403883 Issue #1894
Add the CH, NX, XX arguments to GEOADD
2022-10-30 12:00:12 -07:00
michael-grunder c4aef95676 Documentation: More docblocks and examples
[skip ci]
2022-10-29 21:44:17 -07:00
michael-grunder e609fbe8aa Documentation: Add detailed docs for several set operations
SADD[ARRAY]
SSINTER[STORE]
SUNION[STORE]
SDIFF[STORE]

[skip ci]
2022-10-29 15:22:34 -07:00
michael-grunder a2b0c86f67 Documentation: Add detailed docblocks for list pop operations. 2022-10-27 21:57:30 -07:00
michael-grunder b9de0b9724 Documentation: Add docblocks for PF* commands and ping. 2022-10-27 09:37:09 -07:00
michael-grunder 71344612bc Documentation: Add docblocks for several more methods.
[skip ci]
2022-10-26 20:08:55 -07:00
michael-grunder 43da8dd9d8 Refactor BRPOPLPUSH and add B[LR]POP documentation 2022-10-26 18:55:55 -07:00
michael-grunder 6982941b0b Documentation: Document introspection methods 2022-10-26 14:59:05 -07:00
michael-grunder dc1f2398d0 TOUCH command
Implement the TOUCH command and refactor several of our "variadic key"
commands, which were previously all using their own specific handlers.

While refactoring the code, I changed `EXISTS` to require one key (it
had previously been set to require zero keys).

Additonally, it looks like we had a disparity in two commands which
should be idential to PhpRedis:  SINTERSTORE and SUNIONSTORE.
Previously, SINTERSTORE required only one argument but SUNIONSTORE 2.

I simply changed SUNIONSTORE to also only require a single argument,
since that argument could be an array.

```php
$redis->sInterStore(['dst', 'src1', 'src2']);
$redis->sUnionStore(['dst', 'src1', 'src2']);
```
2022-10-26 01:38:42 -07:00
Pavlo Yatsukhnenko d73f3f4b08 Issue #2106 2022-10-24 09:17:22 +03:00
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