Age | Commit message (Collapse) | Author |
|
|
|
|
|
Add the CH, NX, XX arguments to GEOADD
|
|
Fixes #2210
|
|
|
|
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']);
```
|
|
See: #2194
|
|
Expose the transferred number of bytes
|
|
|
|
See #2068
|
|
Refactor XGROUP and implement the new DELCONSUMER (Redis 6.2.0) and
ENTRIESREAD (Redis 7.0.0) options. Additionally, add a proper phpdoc
block to the stub file.
See #2068
|
|
* 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
|
|
Implement Redis 7.0.0's readonly eval variants
See: #2068
|
|
|
|
Refactor the slowlog command to use the new argument parsing API and
also change it so we no longer manually handle atomic/non-atomic
logic in the handler itself.
|
|
Redis 7.0.0 allows for getting and setting multiple config values as an
atomic operation. In order to support this while maintaining backward
compatibility, the CONFIG command is reworked to also accept an array of
values or keys and values.
See: #2068
|
|
See #2068
|
|
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
|
|
See #2068
|
|
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.
|
|
With this commit, I can now run the full `--class Redis` unit test suite
inside of a PHP8.2.x buiild tree and have them pass and not throw any
fatal zpp argument errors.
|
|
Fixes #2096
|
|
Fixes #2128
|
|
Fixes #2119
|
|
Closes #847
|
|
|
|
Fixes #1961
|
|
Add the new RESTORE options REPLACE, ABSTTL, FREQ <freq> and IDLETIME <idletime>
Fixes #1410
|
|
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.
|
|
These changes allow the PHP 8 unit tests to pass even when zpp strict
mode is enabled.
I'm not exactly sure which setting causes the issue, but without these
changes I get many `zpp` errors if I run the tests inside of a PHP build
tree.
|
|
Instead of testing that `OBJECT IDLETIME` returns exactly zero after
updating a key in our tests, just make sure PhpRedis returns us some
numeric value.
We can't really test for a specific number of elapsed seconds in CI as
the VMs may be randomly preempted at times beyond our control, causing
the tests to "fail" even though there was no actual failure.
|
|
|
|
Implement the Redis 7.0.0 LCS command with tests.
|
|
Implement Redis 7.0.0 commands SINTERCARD and ZINTERCARD.
|
|
Rework the CONFIG command and add RESETSTAT variant.
Fixes #1673
|
|
We can't use `EMPTY_SWITCH_DEFAULT_CASE` here as the underlying macro
will actually panic, as it calls `ZEND_UNREACHABLE` under the hood.
|
|
See #1661
|
|
See #2157
|
|
Return false or NULL on empty lpos response
To be consistent with other PhpRedis methods, we should return either
false or NULL when LPOS returns no results, depening on
NULL_MBULK_AS_NULL setting.
|
|
BITCOUNT can take a third optional argument ('BIT', or 'BYTE').
Additionally add a specific test for BITCOUNT that tests all of the
legal ways it can be called in PhpRedis.
|
|
|
|
Add lPos command.
|
|
|
|
Add the COUNT argument to LPOP and RPOP
|
|
|
|
Add Redis::hRandField command
|
|
|
|
See: #2055
|
|
* Fix LZF decompression logic.
Rework how we decompress LZF data. Previously it was possible to
encounter a double-free, if the error was not E2BIG.
* .
|
|
Add geosearch and geosearchstore commands.
|