diff options
author | Michael Grunder <michael.grunder@gmail.com> | 2022-10-12 23:16:43 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-12 23:16:43 +0300 |
commit | e392dd88dd89780633da3dd9ea6fb33dd187ff05 (patch) | |
tree | ea8c140e4ca536ef538159125a8dabf44b7e88b8 | |
parent | 8b1eafe87abc62eb4705011b2a9192ee1db33696 (diff) |
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.
-rw-r--r-- | redis.stub.php | 5 | ||||
-rw-r--r-- | redis_arginfo.h | 6 | ||||
-rw-r--r-- | redis_cluster.c | 10 | ||||
-rw-r--r-- | redis_cluster.stub.php | 320 | ||||
-rw-r--r-- | redis_cluster_arginfo.h | 372 | ||||
-rw-r--r-- | redis_cluster_legacy_arginfo.h | 97 | ||||
-rw-r--r-- | redis_commands.c | 18 | ||||
-rw-r--r-- | redis_legacy_arginfo.h | 2 | ||||
-rw-r--r-- | tests/RedisClusterTest.php | 2 |
9 files changed, 453 insertions, 379 deletions
diff --git a/redis.stub.php b/redis.stub.php index 81f5fe79..8cdede95 100644 --- a/redis.stub.php +++ b/redis.stub.php @@ -408,8 +408,7 @@ public function persist(string $key): bool; public function select(int $db): Redis|bool; - /** @return bool|Redis */ - public function set(string $key, mixed $value, mixed $opt = NULL); + public function set(string $key, mixed $value, mixed $opt = NULL): Redis|string|bool; /** @return Redis|int|false*/ public function setBit(string $key, int $idx, bool $value); @@ -432,7 +431,7 @@ public function persist(string $key): bool; public function slowlog(string $mode, int $option = 0): mixed; - public function sort(string $key, array $options = null): mixed; + public function sort(string $key, ?array $options = null): mixed; /** * @deprecated diff --git a/redis_arginfo.h b/redis_arginfo.h index c015689b..37241bbf 100644 --- a/redis_arginfo.h +++ b/redis_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 6d0479328ae627b9c45104a52014b3649e533015 */ + * Stub hash: 1810caef11b38440e073059e2d9c65f92fa8a9a5 */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis___construct, 0, 0, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "null") @@ -744,7 +744,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_Redis_select, 0, 1, Re ZEND_ARG_TYPE_INFO(0, db, IS_LONG, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_set, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_Redis_set, 0, 2, Redis, MAY_BE_STRING|MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, opt, IS_MIXED, 0, "NULL") @@ -788,7 +788,7 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_sort, 0, 1, IS_MIXED, 0) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) - ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "null") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 1, "null") ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_sortAsc, 0, 1, IS_ARRAY, 0) diff --git a/redis_cluster.c b/redis_cluster.c index 5dead3fa..cdd730ce 100644 --- a/redis_cluster.c +++ b/redis_cluster.c @@ -1844,6 +1844,16 @@ PHP_METHOD(RedisCluster, _redir) { /* {{{ proto bool RedisCluster::multi() */ PHP_METHOD(RedisCluster, multi) { redisCluster *c = GET_CONTEXT(); + zend_long value = MULTI; + + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_LONG(value) + ZEND_PARSE_PARAMETERS_END(); + + if (value != MULTI) { + php_error_docref(NULL, E_WARNING, "RedisCluster does not support PIPELINING"); + } if (c->flags->mode == MULTI) { php_error_docref(NULL, E_WARNING, diff --git a/redis_cluster.stub.php b/redis_cluster.stub.php index 2a1faaf8..517ca4c8 100644 --- a/redis_cluster.stub.php +++ b/redis_cluster.stub.php @@ -30,21 +30,20 @@ class RedisCluster { public function acl(string|array $key_or_address, string $subcmd, string ...$args): mixed; - public function append(string $key, mixed $value): bool|int; + public function append(string $key, mixed $value): RedisCluster|bool|int; - public function bgrewriteaof(string|array $key_or_address): bool; + public function bgrewriteaof(string|array $key_or_address): RedisCluster|bool; - public function bgsave(string|array $key_or_address): bool; + public function bgsave(string|array $key_or_address): RedisCluster|bool; - public function bitcount(string $key, int $start = 0, int $end = -1): bool|int; + public function bitcount(string $key, int $start = 0, int $end = -1, bool $bybit = false): RedisCluster|bool|int; - public function bitop(string $operation, string $deskey, string $srckey, string ...$otherkeys): bool|int; + public function bitop(string $operation, string $deskey, string $srckey, string ...$otherkeys): RedisCluster|bool|int; - public function bitpos(string $key, int $bit, int $start = NULL, int $end = NULL): bool|int; + public function bitpos(string $key, int $bit, int $start = NULL, int $end = NULL): RedisCluster|bool|int; - public function blpop(string|array $key, string|int $timeout_or_key, mixed ...$extra_args): array; - - public function brpop(string|array $key, string|int $timeout_or_key, mixed ...$extra_args): array; + public function blpop(string|array $key, string|float|int $timeout_or_key, mixed ...$extra_args): RedisCluster|array|null|false; + public function brpop(string|array $key, string|float|int $timeout_or_key, mixed ...$extra_args): RedisCluster|array|null|false; public function brpoplpush(string $srckey, string $deskey, int $timeout): mixed; @@ -52,17 +51,17 @@ class RedisCluster { public function bzpopmin(string|array $key, string|int $timeout_or_key, mixed ...$extra_args): array; - public function bzmpop(float $timeout, array $keys, string $from, int $count = 1): Redis|array|null|false; + public function bzmpop(float $timeout, array $keys, string $from, int $count = 1): RedisCluster|array|null|false; - public function zmpop(array $keys, string $from, int $count = 1): Redis|array|null|false; + public function zmpop(array $keys, string $from, int $count = 1): RedisCluster|array|null|false; - public function blmpop(float $timeout, array $keys, string $from, int $count = 1): Redis|array|null|false; + public function blmpop(float $timeout, array $keys, string $from, int $count = 1): RedisCluster|array|null|false; - public function lmpop(array $keys, string $from, int $count = 1): Redis|array|null|false; + public function lmpop(array $keys, string $from, int $count = 1): RedisCluster|array|null|false; public function clearlasterror(): bool; - public function client(string|array $node, string $subcommand, string|null $arg): array|string|bool; + public function client(string|array $node, string $subcommand, ?string $arg = NULL): array|string|bool; public function close(): bool; @@ -72,61 +71,61 @@ class RedisCluster { public function config(string|array $node, string $subcommand, mixed ...$extra_args): mixed; - public function dbsize(string|array $key_or_address): int; + public function dbsize(string|array $key_or_address): RedisCluster|int; - public function decr(string $key): int; + public function decr(string $key, int $by = 1): RedisCluster|int|false; - public function decrby(string $key, int $value): int; + public function decrby(string $key, int $value): RedisCluster|int|false; public function decrbyfloat(string $key, float $value): float; - public function del(string $key, string ...$other_keys): array; + public function del(array|string $key, string ...$other_keys): RedisCluster|int|false; public function discard(): bool; - public function dump(string $key): string; + public function dump(string $key): RedisCluster|string|false; - public function echo(string|array $node, string $msg): string; + public function echo(string|array $node, string $msg): RedisCluster|string|false; public function eval(string $script, array $args = [], int $num_keys = 0): mixed; public function evalsha(string $script_sha, array $args = [], int $num_keys = 0): mixed; - public function exec(): array; + public function exec(): array|false; - public function exists(string $key): int; + public function exists(mixed $key, mixed ...$other_keys): RedisCluster|int|bool; - public function expire(string $key, int $timeout): bool; + public function expire(string $key, int $timeout): RedisCluster|bool; - public function expireat(string $key, int $timestamp): bool; + public function expireat(string $key, int $timestamp): RedisCluster|bool; - public function expiretime(string $key): Redis|int|false; + public function expiretime(string $key): RedisCluster|int|false; - public function pexpiretime(string $key): Redis|int|false; + public function pexpiretime(string $key): RedisCluster|int|false; - public function flushall(string|array $node, bool $async = false): bool; + public function flushall(string|array $node, bool $async = false): RedisCluster|bool; - public function flushdb(string|array $node, bool $async = false): bool; + public function flushdb(string|array $node, bool $async = false): RedisCluster|bool; - public function geoadd(string $key, float $lng, float $lat, string $member, mixed ...$other_triples): int; + public function geoadd(string $key, float $lng, float $lat, string $member, mixed ...$other_triples): RedisCluster|int; - public function geodist(string $key, string $src, string $dest, ?string $unit = null): array; + public function geodist(string $key, string $src, string $dest, ?string $unit = null): RedisCluster|float|false; - public function geohash(string $key, string $member, string ...$other_members): array; + public function geohash(string $key, string $member, string ...$other_members): RedisCluster|array|false; - public function geopos(string $key, string $member, string ...$other_members): array; + public function geopos(string $key, string $member, string ...$other_members): RedisCluster|array|false; - public function georadius(string $key, float $lng, float $lat, float $radius, string $unit, array $options = []): array; + public function georadius(string $key, float $lng, float $lat, float $radius, string $unit, array $options = []): mixed; - public function georadius_ro(string $key, float $lng, float $lat, float $radius, string $unit, array $options = []): array; + public function georadius_ro(string $key, float $lng, float $lat, float $radius, string $unit, array $options = []): mixed; - public function georadiusbymember(string $key, string $member, float $radius, string $unit, array $options = []): array; + public function georadiusbymember(string $key, string $member, float $radius, string $unit, array $options = []): mixed; - public function georadiusbymember_ro(string $key, string $member, float $radius, string $unit, array $options = []): array; + public function georadiusbymember_ro(string $key, string $member, float $radius, string $unit, array $options = []): mixed; - public function get(string $key): string; + public function get(string $key): mixed; - public function getbit(string $key, int $value): int; + public function getbit(string $key, int $value): RedisCluster|int|false; public function getlasterror(): string|null; @@ -134,279 +133,282 @@ class RedisCluster { public function getoption(int $option): mixed; - public function getrange(string $key, int $start, int $end): string; + public function getrange(string $key, int $start, int $end): RedisCluster|string|false; - public function lcs(string $key1, string $key2, ?array $options = NULL): Redis|string|array|int|false; + public function lcs(string $key1, string $key2, ?array $options = NULL): RedisCluster|string|array|int|false; - public function getset(string $key, mixed $value): string; + public function getset(string $key, mixed $value): RedisCluster|string|bool; - public function hdel(string $key, string $member, string ...$other_members): int; + public function hdel(string $key, string $member, string ...$other_members): RedisCluster|int|false; - public function hexists(string $key, string $member): bool; + public function hexists(string $key, string $member): RedisCluster|bool; - public function hget(string $key, string $member): string; + public function hget(string $key, string $member): mixed; - public function hgetall(string $key): array; + public function hgetall(string $key): RedisCluster|array|false; - public function hincrby(string $key, string $member, int $value): int; + public function hincrby(string $key, string $member, int $value): RedisCluster|int|false; - public function hincrbyfloat(string $key, string $member, float $value): float; + public function hincrbyfloat(string $key, string $member, float $value): RedisCluster|float|false; - public function hkeys(string $key): array; + public function hkeys(string $key): RedisCluster|array|false; - public function hlen(string $key): int; + public function hlen(string $key): RedisCluster|int|false; - public function hmget(string $key, array $members): array; + public function hmget(string $key, array $keys): RedisCluster|array|false; - public function hmset(string $key, array $key_values): bool; + public function hmset(string $key, array $key_values): RedisCluster|bool; public function hscan(string $key, ?int &$iterator, ?string $pattern = null, int $count = 0): array|bool; - public function hset(string $key, string $member, mixed $value): int; + public function hset(string $key, string $member, mixed $value): RedisCluster|int|false; - public function hsetnx(string $key, string $member, mixed $value): bool; + public function hsetnx(string $key, string $member, mixed $value): RedisCluster|bool; - public function hstrlen(string $key, string $field): int; + public function hstrlen(string $key, string $field): RedisCluster|int|false; - public function hvals(string $key): array; + public function hvals(string $key): RedisCluster|array|false; - public function incr(string $key): int; + public function incr(string $key, int $by = 1): RedisCluster|int|false; - public function incrby(string $key, int $value): int; + public function incrby(string $key, int $value): RedisCluster|int|false; - public function incrbyfloat(string $key, float $value): float; + public function incrbyfloat(string $key, float $value): RedisCluster|float|false; - public function info(string|array $node, ?string $section = null): array; + public function info(string|array $node, ?string $section = null): RedisCluster|array|false; - public function keys(string $pattern): array; + public function keys(string $pattern): RedisCluster|array|false; - public function lastsave(string|array $node): int; + public function lastsave(string|array $node): RedisCluster|int|false; - public function lget(string $key, int $index): string|bool; + public function lget(string $key, int $index): RedisCluster|string|bool; - public function lindex(string $key, int $index): string|bool; + public function lindex(string $key, int $index): mixed; - public function linsert(string $key, string $pos, mixed $pivot, mixed $value): int; + public function linsert(string $key, string $pos, mixed $pivot, mixed $value): RedisCluster|int|false; - public function llen(string $key): int|bool; + public function llen(string $key): RedisCluster|int|bool; - public function lpop(string $key, int $count = 0): bool|string|array; + public function lpop(string $key, int $count = 0): RedisCluster|bool|string|array; - public function lpush(string $key, mixed $value, mixed ...$other_values): int|bool; + public function lpush(string $key, mixed $value, mixed ...$other_values): RedisCluster|int|bool; - public function lpushx(string $key, mixed $value): int|bool; + public function lpushx(string $key, mixed $value): RedisCluster|int|bool; - public function lrange(string $key, int $start, int $end): array; + public function lrange(string $key, int $start, int $end): RedisCluster|array|false; - public function lrem(string $key, int $count, string $value): int|bool; + public function lrem(string $key, mixed $value, int $count = 0): RedisCluster|int|bool; - public function lset(string $key, int $index, string $value): bool; + public function lset(string $key, int $index, mixed $value): RedisCluster|bool; - public function ltrim(string $key, int $start, int $end): bool; + public function ltrim(string $key, int $start, int $end): RedisCluster|bool; - public function mget(array $keys): array; + public function mget(array $keys): RedisCluster|array|false; - public function mset(array $key_values): bool; + public function mset(array $key_values): RedisCluster|bool; - public function msetnx(array $key_values): int; + public function msetnx(array $key_values): RedisCluster|array|false; - public function multi(): RedisCluster|bool; + /* We only support Redis::MULTI in RedisCluster but take the argument + so we can test MULTI..EXEC with RedisTest.php and in the event + we add pipeline support in the future. */ + public function multi(int $value = Redis::MULTI): RedisCluster|bool; - public function object(string $subcommand, string $key): int|string; + public function object(string $subcommand, string $key): RedisCluster|int|string|false; - public function persist(string $key): bool; + public function persist(string $key): RedisCluster|bool; - public function pexpire(string $key, int $timeout): bool; + public function pexpire(string $key, int $timeout): RedisCluster|bool; - public function pexpireat(string $key, int $timestamp): bool; + public function pexpireat(string $key, int $timestamp): RedisCluster|bool; - public function pfadd(string $key, array $elements): bool; + public function pfadd(string $key, array $elements): RedisCluster|bool; - public function pfcount(string $key): int; + public function pfcount(string $key): RedisCluster|int|false; - public function pfmerge(string $key, array $keys): bool; + public function pfmerge(string $key, array $keys): RedisCluster|bool; - public function ping(string|array $key_or_address, ?string $message): mixed; + public function ping(string|array $key_or_address, ?string $message = NULL): mixed; - public function psetex(string $key, int $timeout, string $value): bool; + public function psetex(string $key, int $timeout, string $value): RedisCluster|bool; public function psubscribe(array $patterns, callable $callback): void; - public function pttl(string $key): int; + public function pttl(string $key): RedisCluster|int|false; - public function publish(string $channel, string $message): bool; + public function publish(string $channel, string $message): RedisCluster|bool; public function pubsub(string|array $key_or_address, string ...$values): mixed; public function punsubscribe(string $pattern, string ...$other_patterns): bool|array; - public function randomkey(string|array $key_or_address): bool|string; + public function randomkey(string|array $key_or_address): RedisCluster|bool|string; public function rawcommand(string|array $key_or_address, string $command, mixed ...$args): mixed; - public function rename(string $key, string $newkey): bool; + public function rename(string $key_src, string $key_dst): RedisCluster|bool; - public function renamenx(string $key, string $newkey): bool; + public function renamenx(string $key, string $newkey): RedisCluster|bool; - public function restore(string $key, int $timeout, string $value, ?array $options = NULL): bool; + public function restore(string $key, int $timeout, string $value, ?array $options = NULL): RedisCluster|bool; public function role(string|array $key_or_address): mixed; - public function rpop(string $key, int $count = 0): bool|string|array; + public function rpop(string $key, int $count = 0): RedisCluster|bool|string|array; - public function rpoplpush(string $src, string $dst): bool|string; + public function rpoplpush(string $src, string $dst): RedisCluster|bool|string; - public function rpush(string $key, string $value, string ...$other_values): bool|int; + public function rpush(string $key, mixed ...$elements): RedisCluster|int|false; - public function rpushx(string $key, string $value): bool|int; + public function rpushx(string $key, string $value): RedisCluster|bool|int; - public function sadd(string $key, string $value, string ...$other_values): bool|int; + public function sadd(string $key, mixed $value, mixed ...$other_values): RedisCluster|int|false; - public function saddarray(string $key, array $values): bool|int; + public function saddarray(string $key, array $values): RedisCluster|bool|int; - public function save(string|array $key_or_address): bool; + public function save(string|array $key_or_address): RedisCluster|bool; public function scan(?int &$iterator, mixed $node, ?string $pattern = null, int $count = 0): bool|array; - public function scard(string $key): int; + public function scard(string $key): RedisCluster|int|false; public function script(string|array $key_or_address, mixed ...$args): mixed; - public function sdiff(string $key, string ...$other_keys): array; + public function sdiff(string $key, string ...$other_keys): RedisCluster|array|false; - public function sdiffstore(string $dst, string $key, string ...$other_keys): int; + public function sdiffstore(string $dst, string $key, string ...$other_keys): RedisCluster|int|false; - public function set(string $key, string $value): bool; + public function set(string $key, mixed $value, mixed $options = NULL): RedisCluster|string|bool; - public function setbit(string $key, int $offset, bool $onoff): bool; + public function setbit(string $key, int $offset, bool $onoff): RedisCluster|int|false; - public function setex(string $key, string $value, int $timeout): bool; + public function setex(string $key, int $expire, mixed $value): RedisCluster|bool; - public function setnx(string $key, string $value, int $timeout): bool; + public function setnx(string $key, mixed $value): RedisCluster|bool; public function setoption(int $option, mixed $value): bool; - public function setrange(string $key, int $offset, string $value): int; + public function setrange(string $key, int $offset, string $value): RedisCluster|int|false; - public function sinter(string $key, string ...$other_keys): array; + public function sinter(array|string $key, string ...$other_keys): RedisCluster|array|false; - public function sintercard(array $keys, int $limit = -1): Redis|int|false; + public function sintercard(array $keys, int $limit = -1): RedisCluster|int|false; - public function sinterstore(string $dst, string $key, string ...$other_keys): bool; + public function sinterstore(array|string $key, string ...$other_keys): RedisCluster|int|false; - public function sismember(string $key): int; + public function sismember(string $key, mixed $value): RedisCluster|bool; public function slowlog(string|array $key_or_address, mixed ...$args): mixed; - public function smembers(string $key): array; + public function smembers(string $key): RedisCluster|array|false; - public function smove(string $src, string $dst, string $member): bool; + public function smove(string $src, string $dst, string $member): RedisCluster|bool; - public function sort(string $key, array $options): bool|int|string; + public function sort(string $key, ?array $options = NULL): RedisCluster|array|bool|int|string; - public function spop(string $key): string|array; + public function spop(string $key, int $count = 0): RedisCluster|string|array|false; - public function srandmember(string $key, int $count = 0): string|array; + public function srandmember(string $key, int $count = 0): RedisCluster|string|array|false; - public function srem(string $key, string $value, string ...$other_values): int; + public function srem(string $key, mixed $value, mixed ...$other_values): RedisCluster|int|false; - public function sscan(string $key, ?int &$iterator, mixed $node, ?string $pattern = null, int $count = 0): bool|array; + public function sscan(string $key, ?int &$iterator, ?string $pattern = null, int $count = 0): array|false; - public function strlen(string $key): int; + public function strlen(string $key): RedisCluster|int|false; public function subscribe(array $channels, callable $cb): void; - public function sunion(string $key, string ...$other_keys): bool|array; + public function sunion(string $key, string ...$other_keys): RedisCluster|bool|array; - public function sunionstore(string $dst, string $key, string ...$other_keys): int; + public function sunionstore(string $dst, string $key, string ...$other_keys): RedisCluster|int|false; - public function time(string|array $key_or_address): bool|array; + public function time(string|array $key_or_address): RedisCluster|bool|array; - public function ttl(string $key): int; + public function ttl(string $key): RedisCluster|int|false; - public function type(string $key): int; + public function type(string $key): RedisCluster|int|false; public function unsubscribe(array $channels): bool|array; - public function unlink(string $key, string ...$other_keys): array; + public function unlink(array|string $key, string ...$other_keys): RedisCluster|int|false; public function unwatch(): bool; - public function watch(string $key, string ...$other_keys): bool; + public function watch(string $key, string ...$other_keys): RedisCluster|bool; - public function xack(string $key, string $group, array $ids): int; + public function xack(string $key, string $group, array $ids): RedisCluster|int|false; - public function xadd(string $key, string $id, array $values, int $maxlen = 0, bool $approx = false): string; + public function xadd(string $key, string $id, array $values, int $maxlen = 0, bool $approx = false): RedisCluster|string|false; - public function xclaim(string $key, string $group, string $consumer, int $min_iddle, array $ids, array $options): string|array; + public function xclaim(string $key, string $group, string $consumer, int $min_iddle, array $ids, array $options): RedisCluster|string|array|false; - public function xdel(string $key, array $ids): int; + public function xdel(string $key, array $ids): RedisCluster|int|false; public function xgroup(string $operation, string $key = null, string $arg1 = null, string $arg2 = null, bool $arg3 = false): mixed; public function xinfo(string $operation, ?string $arg1 = null, ?string $arg2 = null, int $count = -1): mixed; - public function xlen(string $key): int; + public function xlen(string $key): RedisCluster|int|false; - public function xpending(string $key, string $group, ?string $start = null, ?string $end = null, int $count = -1, ?string $consumer = null): Redis|array|false; + public function xpending(string $key, string $group, ?string $start = null, ?string $end = null, int $count = -1, ?string $consumer = null): RedisCluster|array|false; - public function xrange(string $key, string $start, string $end, int $count = -1): bool|array; + public function xrange(string $key, string $start, string $end, int $count = -1): RedisCluster|bool|array; - public function xread(array $streams, int $count = -1, int $block = -1): bool|array; + public function xread(array $streams, int $count = -1, int $block = -1): RedisCluster|bool|array; - public function xreadgroup(string $group, string $consumer, array $streams, int $count = 1, int $block = 1): bool|array; + public function xreadgroup(string $group, string $consumer, array $streams, int $count = 1, int $block = 1): RedisCluster|bool|array; - public function xrevrange(string $key, string $start, string $end, int $count = -1): bool|array; + public function xrevrange(string $key, string $start, string $end, int $count = -1): RedisCluster|bool|array; public function xtrim(string $key, int $maxlen, bool $approx = false, bool $minid = false, int $limit = -1): RedisCluster|int|false; - public function zadd(string $key, float $score, string $member, mixed ...$extra_args): int; + public function zadd(string $key, array|float $score_or_options, mixed ...$more_scores_and_mems): RedisCluster|int|false; - public function zcard(string $key): int; + public function zcard(string $key): RedisCluster|int|false; - public function zcount(string $key, string $start, string $end): int; + public function zcount(string $key, string $start, string $end): RedisCluster|int|false; - public function zincrby(string $key, float $value, string $member): float; + public function zincrby(string $key, float $value, string $member): RedisCluster|float|false; - public function zinterstore(string $key, array $keys, array $weights = null, string $aggregate = null): int; + public function zinterstore(string $dst, array $keys, ?array $weights = null, ?string $aggregate = null): RedisCluster|int|false; - public function zintercard(array $keys, int $limit = -1): Redis|int|false; + public function zintercard(array $keys, int $limit = -1): RedisCluster|int|false; - public function zlexcount(string $key, string $min, string $max): int; + public function zlexcount(string $key, string $min, string $max): RedisCluster|int|false; - public function zpopmax(string $key, int $value = null): bool|array; + public function zpopmax(string $key, int $value = null): RedisCluster|bool|array; - public function zpopmin(string $key, int $value = null): bool|array; + public function zpopmin(string $key, int $value = null): RedisCluster|bool|array; - public function zrange(string $key, int $start, int $end, array $options = null): bool|array; + public function zrange(string $key, int $start, int $end, mixed $options_withscores = null): RedisCluster|array|bool; - public function zrangebylex(string $key, int $start, int $end, array $options = null): bool|array; + public function zrangebylex(string $key, string $min, string $max, int $offset = -1, int $count = -1): RedisCluster|array|false; - public function zrangebyscore(string $key, int $start, int $end, array $options = null): bool|array; + public function zrangebyscore(string $key, string $start, string $end, array $options = []): RedisCluster|array|false; - public function zrank(string $key, mixed $member): int; + public function zrank(string $key, mixed $member): RedisCluster|int|false; - public function zrem(string $key, string $value, string ...$other_values): int; + public function zrem(string $key, string $value, string ...$other_values): RedisCluster|int|false; - public function zremrangebylex(string $key, string $min, string $max): int; + public function zremrangebylex(string $key, string $min, string $max): RedisCluster|int|false; - public function zremrangebyrank(string $key, string $min, string $max): int; + public function zremrangebyrank(string $key, string $min, string $max): RedisCluster|int|false; - public function zremrangebyscore(string $key, string $min, string $max): int; + public function zremrangebyscore(string $key, string $min, string $max): RedisCluster|int|false; - public function zrevrange(string $key, string $min, string $max, array $options = null): bool|array; + public function zrevrange(string $key, string $min, string $max, array $options = null): RedisCluster|bool|array; - public function zrevrangebylex(string $key, string $min, string $max, array $options = null): bool|array; + public function zrevrangebylex(string $key, string $min, string $max, array $options = null): RedisCluster|bool|array; - public function zrevrangebyscore(string $key, string $min, string $max, array $options = null): bool|array; + public function zrevrangebyscore(string $key, string $min, string $max, array $options = null): RedisCluster|bool|array; - public function zrevrank(string $key, mixed $member): int; + public function zrevrank(string $key, mixed $member): RedisCluster|int|false; - public function zscan(string $key, ?int &$iterator, ?string $pattern = null, int $count = 0): bool|array; + public function zscan(string $key, ?int &$iterator, ?string $pattern = null, int $count = 0): RedisCluster|bool|array; - public function zscore(string $key): float; + public function zscore(string $key, mixed $member): RedisCluster|float|false; - public function zunionstore(string $key, array $keys, array $weights = null, string $aggregate = null): int; + public function zunionstore(string $dst, array $keys, ?array $weights = NULL, ?string $aggregate = NULL): RedisCluster|int|false; } class RedisClusterException extends RuntimeException {} diff --git a/redis_cluster_arginfo.h b/redis_cluster_arginfo.h index 1052db1e..4b02f3e6 100644 --- a/redis_cluster_arginfo.h +++ b/redis_cluster_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 59682d20ee8ebad4f8a5c914432f41dac0860770 */ + * Stub hash: 280323a9e3fc028641ad1d8bcba2514dfa90fac9 */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster___construct, 0, 0, 1) ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 1) @@ -47,40 +47,41 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_acl, 0, 2, IS ZEND_ARG_VARIADIC_TYPE_INFO(0, args, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_append, 0, 2, MAY_BE_BOOL|MAY_BE_LONG) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_append, 0, 2, RedisCluster, MAY_BE_BOOL|MAY_BE_LONG) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_bgrewriteaof, 0, 1, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_bgrewriteaof, 0, 1, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_MASK(0, key_or_address, MAY_BE_STRING|MAY_BE_ARRAY, NULL) ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_bgsave arginfo_class_RedisCluster_bgrewriteaof -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_bitcount, 0, 1, MAY_BE_BOOL|MAY_BE_LONG) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_bitcount, 0, 1, RedisCluster, MAY_BE_BOOL|MAY_BE_LONG) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, start, IS_LONG, 0, "0") ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, end, IS_LONG, 0, "-1") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, bybit, _IS_BOOL, 0, "false") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_bitop, 0, 3, MAY_BE_BOOL|MAY_BE_LONG) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_bitop, 0, 3, RedisCluster, MAY_BE_BOOL|MAY_BE_LONG) ZEND_ARG_TYPE_INFO(0, operation, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, deskey, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, srckey, IS_STRING, 0) ZEND_ARG_VARIADIC_TYPE_INFO(0, otherkeys, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_bitpos, 0, 2, MAY_BE_BOOL|MAY_BE_LONG) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_bitpos, 0, 2, RedisCluster, MAY_BE_BOOL|MAY_BE_LONG) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, bit, IS_LONG, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, start, IS_LONG, 0, "NULL") ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, end, IS_LONG, 0, "NULL") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_blpop, 0, 2, IS_ARRAY, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_blpop, 0, 2, RedisCluster, MAY_BE_ARRAY|MAY_BE_NULL|MAY_BE_FALSE) ZEND_ARG_TYPE_MASK(0, key, MAY_BE_STRING|MAY_BE_ARRAY, NULL) - ZEND_ARG_TYPE_MASK(0, timeout_or_key, MAY_BE_STRING|MAY_BE_LONG, NULL) + ZEND_ARG_TYPE_MASK(0, timeout_or_key, MAY_BE_STRING|MAY_BE_DOUBLE|MAY_BE_LONG, NULL) ZEND_ARG_VARIADIC_TYPE_INFO(0, extra_args, IS_MIXED, 0) ZEND_END_ARG_INFO() @@ -92,18 +93,22 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_brpoplpush, 0 ZEND_ARG_TYPE_INFO(0, timeout, IS_LONG, 0) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_bzpopmax arginfo_class_RedisCluster_blpop +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_bzpopmax, 0, 2, IS_ARRAY, 0) + ZEND_ARG_TYPE_MASK(0, key, MAY_BE_STRING|MAY_BE_ARRAY, NULL) + ZEND_ARG_TYPE_MASK(0, timeout_or_key, MAY_BE_STRING|MAY_BE_LONG, NULL) + ZEND_ARG_VARIADIC_TYPE_INFO(0, extra_args, IS_MIXED, 0) +ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_bzpopmin arginfo_class_RedisCluster_blpop +#define arginfo_class_RedisCluster_bzpopmin arginfo_class_RedisCluster_bzpopmax -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_bzmpop, 0, 3, Redis, MAY_BE_ARRAY|MAY_BE_NULL|MAY_BE_FALSE) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_bzmpop, 0, 3, RedisCluster, MAY_BE_ARRAY|MAY_BE_NULL|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, timeout, IS_DOUBLE, 0) ZEND_ARG_TYPE_INFO(0, keys, IS_ARRAY, 0) ZEND_ARG_TYPE_INFO(0, from, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "1") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zmpop, 0, 2, Redis, MAY_BE_ARRAY|MAY_BE_NULL|MAY_BE_FALSE) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zmpop, 0, 2, RedisCluster, MAY_BE_ARRAY|MAY_BE_NULL|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, keys, IS_ARRAY, 0) ZEND_ARG_TYPE_INFO(0, from, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "1") @@ -116,10 +121,10 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_clearlasterror, 0, 0, _IS_BOOL, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_client, 0, 3, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_BOOL) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_client, 0, 2, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_BOOL) ZEND_ARG_TYPE_MASK(0, node, MAY_BE_STRING|MAY_BE_ARRAY, NULL) ZEND_ARG_TYPE_INFO(0, subcommand, IS_STRING, 0) - ZEND_ARG_TYPE_INFO(0, arg, IS_STRING, 1) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, arg, IS_STRING, 1, "NULL") ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_close arginfo_class_RedisCluster_clearlasterror @@ -140,15 +145,16 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_config, 0, 2, ZEND_ARG_VARIADIC_TYPE_INFO(0, extra_args, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_dbsize, 0, 1, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_dbsize, 0, 1, RedisCluster, MAY_BE_LONG) ZEND_ARG_TYPE_MASK(0, key_or_address, MAY_BE_STRING|MAY_BE_ARRAY, NULL) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_decr, 0, 1, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_decr, 0, 1, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, by, IS_LONG, 0, "1") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_decrby, 0, 2, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_decrby, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, value, IS_LONG, 0) ZEND_END_ARG_INFO() @@ -158,18 +164,18 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_decrbyfloat, ZEND_ARG_TYPE_INFO(0, value, IS_DOUBLE, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_del, 0, 1, IS_ARRAY, 0) - ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_del, 0, 1, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_TYPE_MASK(0, key, MAY_BE_ARRAY|MAY_BE_STRING, NULL) ZEND_ARG_VARIADIC_TYPE_INFO(0, other_keys, IS_STRING, 0) ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_discard arginfo_class_RedisCluster_clearlasterror -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_dump, 0, 1, IS_STRING, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_dump, 0, 1, RedisCluster, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_echo, 0, 2, IS_STRING, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_echo, 0, 2, RedisCluster, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_MASK(0, node, MAY_BE_STRING|MAY_BE_ARRAY, NULL) ZEND_ARG_TYPE_INFO(0, msg, IS_STRING, 0) ZEND_END_ARG_INFO() @@ -186,34 +192,38 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_evalsha, 0, 1 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, num_keys, IS_LONG, 0, "0") ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_exec arginfo_class_RedisCluster__masters +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_exec, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE) +ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_exists arginfo_class_RedisCluster_decr +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_exists, 0, 1, RedisCluster, MAY_BE_LONG|MAY_BE_BOOL) + ZEND_ARG_TYPE_INFO(0, key, IS_MIXED, 0) + ZEND_ARG_VARIADIC_TYPE_INFO(0, other_keys, IS_MIXED, 0) +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_expire, 0, 2, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_expire, 0, 2, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, timeout, IS_LONG, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_expireat, 0, 2, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_expireat, 0, 2, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_expiretime, 0, 1, Redis, MAY_BE_LONG|MAY_BE_FALSE) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_expiretime, 0, 1, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_pexpiretime arginfo_class_RedisCluster_expiretime -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_flushall, 0, 1, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_flushall, 0, 1, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_MASK(0, node, MAY_BE_STRING|MAY_BE_ARRAY, NULL) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, async, _IS_BOOL, 0, "false") ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_flushdb arginfo_class_RedisCluster_flushall -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_geoadd, 0, 4, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_geoadd, 0, 4, RedisCluster, MAY_BE_LONG) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, lng, IS_DOUBLE, 0) ZEND_ARG_TYPE_INFO(0, lat, IS_DOUBLE, 0) @@ -221,14 +231,14 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_geoadd, 0, 4, ZEND_ARG_VARIADIC_TYPE_INFO(0, other_triples, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_geodist, 0, 3, IS_ARRAY, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_geodist, 0, 3, RedisCluster, MAY_BE_DOUBLE|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, src, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, dest, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, unit, IS_STRING, 1, "null") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_geohash, 0, 2, IS_ARRAY, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_geohash, 0, 2, RedisCluster, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, member, IS_STRING, 0) ZEND_ARG_VARIADIC_TYPE_INFO(0, other_members, IS_STRING, 0) @@ -236,7 +246,7 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_geopos arginfo_class_RedisCluster_geohash -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_georadius, 0, 5, IS_ARRAY, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_georadius, 0, 5, IS_MIXED, 0) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, lng, IS_DOUBLE, 0) ZEND_ARG_TYPE_INFO(0, lat, IS_DOUBLE, 0) @@ -247,7 +257,7 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_georadius_ro arginfo_class_RedisCluster_georadius -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_georadiusbymember, 0, 4, IS_ARRAY, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_georadiusbymember, 0, 4, IS_MIXED, 0) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, member, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, radius, IS_DOUBLE, 0) @@ -257,7 +267,9 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_georadiusbymember_ro arginfo_class_RedisCluster_georadiusbymember -#define arginfo_class_RedisCluster_get arginfo_class_RedisCluster_dump +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_get, 0, 1, IS_MIXED, 0) + ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) +ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_getbit arginfo_class_RedisCluster_decrby @@ -270,50 +282,50 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_getoption, 0, ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_getrange, 0, 3, IS_STRING, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_getrange, 0, 3, RedisCluster, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, end, IS_LONG, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_lcs, 0, 2, Redis, MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_LONG|MAY_BE_FALSE) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_lcs, 0, 2, RedisCluster, MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key1, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, key2, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 1, "NULL") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_getset, 0, 2, IS_STRING, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_getset, 0, 2, RedisCluster, MAY_BE_STRING|MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_hdel, 0, 2, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_hdel, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, member, IS_STRING, 0) ZEND_ARG_VARIADIC_TYPE_INFO(0, other_members, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_hexists, 0, 2, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_hexists, 0, 2, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, member, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_hget, 0, 2, IS_STRING, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_hget, 0, 2, IS_MIXED, 0) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, member, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_hgetall, 0, 1, IS_ARRAY, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_hgetall, 0, 1, RedisCluster, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_hincrby, 0, 3, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_hincrby, 0, 3, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, member, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, value, IS_LONG, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_hincrbyfloat, 0, 3, IS_DOUBLE, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_hincrbyfloat, 0, 3, RedisCluster, MAY_BE_DOUBLE|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, member, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, value, IS_DOUBLE, 0) @@ -321,14 +333,14 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_hkeys arginfo_class_RedisCluster_hgetall -#define arginfo_class_RedisCluster_hlen arginfo_class_RedisCluster_decr +#define arginfo_class_RedisCluster_hlen arginfo_class_RedisCluster_expiretime -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_hmget, 0, 2, IS_ARRAY, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_hmget, 0, 2, RedisCluster, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) - ZEND_ARG_TYPE_INFO(0, members, IS_ARRAY, 0) + ZEND_ARG_TYPE_INFO(0, keys, IS_ARRAY, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_hmset, 0, 2, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_hmset, 0, 2, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, key_values, IS_ARRAY, 0) ZEND_END_ARG_INFO() @@ -340,19 +352,19 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_hscan, 0, 2, ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "0") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_hset, 0, 3, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_hset, 0, 3, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, member, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_hsetnx, 0, 3, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_hsetnx, 0, 3, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, member, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_hstrlen, 0, 2, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_hstrlen, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, field, IS_STRING, 0) ZEND_END_ARG_INFO() @@ -363,100 +375,107 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_incrby arginfo_class_RedisCluster_decrby -#define arginfo_class_RedisCluster_incrbyfloat arginfo_class_RedisCluster_decrbyfloat +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_incrbyfloat, 0, 2, RedisCluster, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_info, 0, 1, IS_ARRAY, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_info, 0, 1, RedisCluster, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_TYPE_MASK(0, node, MAY_BE_STRING|MAY_BE_ARRAY, NULL) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, section, IS_STRING, 1, "null") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_keys, 0, 1, IS_ARRAY, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_keys, 0, 1, RedisCluster, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_lastsave, 0, 1, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_lastsave, 0, 1, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_MASK(0, node, MAY_BE_STRING|MAY_BE_ARRAY, NULL) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_lget, 0, 2, MAY_BE_STRING|MAY_BE_BOOL) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_lget, 0, 2, RedisCluster, MAY_BE_STRING|MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_lindex arginfo_class_RedisCluster_lget +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_lindex, 0, 2, IS_MIXED, 0) + ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0) +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_linsert, 0, 4, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_linsert, 0, 4, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, pos, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, pivot, IS_MIXED, 0) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_llen, 0, 1, MAY_BE_LONG|MAY_BE_BOOL) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_llen, 0, 1, RedisCluster, MAY_BE_LONG|MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_lpop, 0, 1, MAY_BE_BOOL|MAY_BE_STRING|MAY_BE_ARRAY) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_lpop, 0, 1, RedisCluster, MAY_BE_BOOL|MAY_BE_STRING|MAY_BE_ARRAY) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "0") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_lpush, 0, 2, MAY_BE_LONG|MAY_BE_BOOL) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_lpush, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_ARG_VARIADIC_TYPE_INFO(0, other_values, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_lpushx, 0, 2, MAY_BE_LONG|MAY_BE_BOOL) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_lpushx, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_lrange, 0, 3, IS_ARRAY, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_lrange, 0, 3, RedisCluster, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, end, IS_LONG, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_lrem, 0, 3, MAY_BE_LONG|MAY_BE_BOOL) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_lrem, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) - ZEND_ARG_TYPE_INFO(0, count, IS_LONG, 0) - ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "0") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_lset, 0, 3, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_lset, 0, 3, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0) - ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_ltrim, 0, 3, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_ltrim, 0, 3, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, end, IS_LONG, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_mget, 0, 1, IS_ARRAY, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_mget, 0, 1, RedisCluster, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, keys, IS_ARRAY, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_mset, 0, 1, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_mset, 0, 1, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key_values, IS_ARRAY, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_msetnx, 0, 1, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_msetnx, 0, 1, RedisCluster, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key_values, IS_ARRAY, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_multi, 0, 0, RedisCluster, MAY_BE_BOOL) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, value, IS_LONG, 0, "Redis::MULTI") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_object, 0, 2, MAY_BE_LONG|MAY_BE_STRING) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_object, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, subcommand, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_persist, 0, 1, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_persist, 0, 1, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_END_ARG_INFO() @@ -464,24 +483,24 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_pexpireat arginfo_class_RedisCluster_expireat -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_pfadd, 0, 2, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_pfadd, 0, 2, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, elements, IS_ARRAY, 0) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_pfcount arginfo_class_RedisCluster_decr +#define arginfo_class_RedisCluster_pfcount arginfo_class_RedisCluster_expiretime -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_pfmerge, 0, 2, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_pfmerge, 0, 2, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, keys, IS_ARRAY, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_ping, 0, 2, IS_MIXED, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_ping, 0, 1, IS_MIXED, 0) ZEND_ARG_TYPE_MASK(0, key_or_address, MAY_BE_STRING|MAY_BE_ARRAY, NULL) - ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 1) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, message, IS_STRING, 1, "NULL") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_psetex, 0, 3, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_psetex, 0, 3, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, timeout, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) @@ -492,9 +511,9 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_psubscribe, 0 ZEND_ARG_TYPE_INFO(0, callback, IS_CALLABLE, 0) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_pttl arginfo_class_RedisCluster_decr +#define arginfo_class_RedisCluster_pttl arginfo_class_RedisCluster_expiretime -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_publish, 0, 2, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_publish, 0, 2, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, channel, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) ZEND_END_ARG_INFO() @@ -509,7 +528,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_punsubscribe, ZEND_ARG_VARIADIC_TYPE_INFO(0, other_patterns, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_randomkey, 0, 1, MAY_BE_BOOL|MAY_BE_STRING) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_randomkey, 0, 1, RedisCluster, MAY_BE_BOOL|MAY_BE_STRING) ZEND_ARG_TYPE_MASK(0, key_or_address, MAY_BE_STRING|MAY_BE_ARRAY, NULL) ZEND_END_ARG_INFO() @@ -519,14 +538,17 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_rawcommand, 0 ZEND_ARG_VARIADIC_TYPE_INFO(0, args, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_rename, 0, 2, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_rename, 0, 2, RedisCluster, MAY_BE_BOOL) + ZEND_ARG_TYPE_INFO(0, key_src, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, key_dst, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_renamenx, 0, 2, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, newkey, IS_STRING, 0) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_renamenx arginfo_class_RedisCluster_rename - -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_restore, 0, 3, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_restore, 0, 3, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, timeout, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) @@ -539,25 +561,28 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_rpop arginfo_class_RedisCluster_lpop -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_rpoplpush, 0, 2, MAY_BE_BOOL|MAY_BE_STRING) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_rpoplpush, 0, 2, RedisCluster, MAY_BE_BOOL|MAY_BE_STRING) ZEND_ARG_TYPE_INFO(0, src, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, dst, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_rpush, 0, 2, MAY_BE_BOOL|MAY_BE_LONG) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_rpush, 0, 1, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) - ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) - ZEND_ARG_VARIADIC_TYPE_INFO(0, other_values, IS_STRING, 0) + ZEND_ARG_VARIADIC_TYPE_INFO(0, elements, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_rpushx, 0, 2, MAY_BE_BOOL|MAY_BE_LONG) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_rpushx, 0, 2, RedisCluster, MAY_BE_BOOL|MAY_BE_LONG) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_sadd arginfo_class_RedisCluster_rpush +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_sadd, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) + ZEND_ARG_VARIADIC_TYPE_INFO(0, other_values, IS_MIXED, 0) +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_saddarray, 0, 2, MAY_BE_BOOL|MAY_BE_LONG) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_saddarray, 0, 2, RedisCluster, MAY_BE_BOOL|MAY_BE_LONG) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, values, IS_ARRAY, 0) ZEND_END_ARG_INFO() @@ -571,125 +596,124 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_scan, 0, 2, M ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "0") ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_scard arginfo_class_RedisCluster_decr +#define arginfo_class_RedisCluster_scard arginfo_class_RedisCluster_expiretime ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_script, 0, 1, IS_MIXED, 0) ZEND_ARG_TYPE_MASK(0, key_or_address, MAY_BE_STRING|MAY_BE_ARRAY, NULL) ZEND_ARG_VARIADIC_TYPE_INFO(0, args, IS_MIXED, 0) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_sdiff arginfo_class_RedisCluster_del +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_sdiff, 0, 1, RedisCluster, MAY_BE_ARRAY|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) + ZEND_ARG_VARIADIC_TYPE_INFO(0, other_keys, IS_STRING, 0) +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_sdiffstore, 0, 2, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_sdiffstore, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, dst, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_VARIADIC_TYPE_INFO(0, other_keys, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_set, 0, 2, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_set, 0, 2, RedisCluster, MAY_BE_STRING|MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) - ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_MIXED, 0, "NULL") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_setbit, 0, 3, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_setbit, 0, 3, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, onoff, _IS_BOOL, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_setex, 0, 3, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_setex, 0, 3, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) - ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) - ZEND_ARG_TYPE_INFO(0, timeout, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, expire, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_setnx arginfo_class_RedisCluster_setex +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_setnx, 0, 2, RedisCluster, MAY_BE_BOOL) + ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) +ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_setoption, 0, 2, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_setrange, 0, 3, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_setrange, 0, 3, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_sinter arginfo_class_RedisCluster_del +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_sinter, 0, 1, RedisCluster, MAY_BE_ARRAY|MAY_BE_FALSE) + ZEND_ARG_TYPE_MASK(0, key, MAY_BE_ARRAY|MAY_BE_STRING, NULL) + ZEND_ARG_VARIADIC_TYPE_INFO(0, other_keys, IS_STRING, 0) +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_sintercard, 0, 1, Redis, MAY_BE_LONG|MAY_BE_FALSE) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_sintercard, 0, 1, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, keys, IS_ARRAY, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, limit, IS_LONG, 0, "-1") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_sinterstore, 0, 2, _IS_BOOL, 0) - ZEND_ARG_TYPE_INFO(0, dst, IS_STRING, 0) - ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) - ZEND_ARG_VARIADIC_TYPE_INFO(0, other_keys, IS_STRING, 0) -ZEND_END_ARG_INFO() +#define arginfo_class_RedisCluster_sinterstore arginfo_class_RedisCluster_del -#define arginfo_class_RedisCluster_sismember arginfo_class_RedisCluster_decr +#define arginfo_class_RedisCluster_sismember arginfo_class_RedisCluster_setnx #define arginfo_class_RedisCluster_slowlog arginfo_class_RedisCluster_script #define arginfo_class_RedisCluster_smembers arginfo_class_RedisCluster_hgetall -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_smove, 0, 3, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_smove, 0, 3, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, src, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, dst, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, member, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_sort, 0, 2, MAY_BE_BOOL|MAY_BE_LONG|MAY_BE_STRING) - ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) - ZEND_ARG_TYPE_INFO(0, options, IS_ARRAY, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_spop, 0, 1, MAY_BE_STRING|MAY_BE_ARRAY) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_sort, 0, 1, RedisCluster, MAY_BE_ARRAY|MAY_BE_BOOL|MAY_BE_LONG|MAY_BE_STRING) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 1, "NULL") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_srandmember, 0, 1, MAY_BE_STRING|MAY_BE_ARRAY) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_spop, 0, 1, RedisCluster, MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "0") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_srem, 0, 2, IS_LONG, 0) - ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) - ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) - ZEND_ARG_VARIADIC_TYPE_INFO(0, other_values, IS_STRING, 0) -ZEND_END_ARG_INFO() +#define arginfo_class_RedisCluster_srandmember arginfo_class_RedisCluster_spop -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_sscan, 0, 3, MAY_BE_BOOL|MAY_BE_ARRAY) +#define arginfo_class_RedisCluster_srem arginfo_class_RedisCluster_sadd + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_sscan, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(1, iterator, IS_LONG, 1) - ZEND_ARG_TYPE_INFO(0, node, IS_MIXED, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pattern, IS_STRING, 1, "null") ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "0") ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_strlen arginfo_class_RedisCluster_decr +#define arginfo_class_RedisCluster_strlen arginfo_class_RedisCluster_expiretime ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_subscribe, 0, 2, IS_VOID, 0) ZEND_ARG_TYPE_INFO(0, channels, IS_ARRAY, 0) ZEND_ARG_TYPE_INFO(0, cb, IS_CALLABLE, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_sunion, 0, 1, MAY_BE_BOOL|MAY_BE_ARRAY) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_sunion, 0, 1, RedisCluster, MAY_BE_BOOL|MAY_BE_ARRAY) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_VARIADIC_TYPE_INFO(0, other_keys, IS_STRING, 0) ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_sunionstore arginfo_class_RedisCluster_sdiffstore -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_time, 0, 1, MAY_BE_BOOL|MAY_BE_ARRAY) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_time, 0, 1, RedisCluster, MAY_BE_BOOL|MAY_BE_ARRAY) ZEND_ARG_TYPE_MASK(0, key_or_address, MAY_BE_STRING|MAY_BE_ARRAY, NULL) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_ttl arginfo_class_RedisCluster_decr +#define arginfo_class_RedisCluster_ttl arginfo_class_RedisCluster_expiretime -#define arginfo_class_RedisCluster_type arginfo_class_RedisCluster_decr +#define arginfo_class_RedisCluster_type arginfo_class_RedisCluster_expiretime ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_unsubscribe, 0, 1, MAY_BE_BOOL|MAY_BE_ARRAY) ZEND_ARG_TYPE_INFO(0, channels, IS_ARRAY, 0) @@ -699,18 +723,18 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_unwatch arginfo_class_RedisCluster_clearlasterror -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_watch, 0, 1, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_watch, 0, 1, RedisCluster, MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_VARIADIC_TYPE_INFO(0, other_keys, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_xack, 0, 3, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_xack, 0, 3, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, group, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, ids, IS_ARRAY, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_xadd, 0, 3, IS_STRING, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_xadd, 0, 3, RedisCluster, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, id, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, values, IS_ARRAY, 0) @@ -718,7 +742,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_xadd, 0, 3, I ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, approx, _IS_BOOL, 0, "false") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_xclaim, 0, 6, MAY_BE_STRING|MAY_BE_ARRAY) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_xclaim, 0, 6, RedisCluster, MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, group, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, consumer, IS_STRING, 0) @@ -727,7 +751,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_xclaim, 0, 6, ZEND_ARG_TYPE_INFO(0, options, IS_ARRAY, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_xdel, 0, 2, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_xdel, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, ids, IS_ARRAY, 0) ZEND_END_ARG_INFO() @@ -747,9 +771,9 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_xinfo, 0, 1, ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "-1") ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_xlen arginfo_class_RedisCluster_decr +#define arginfo_class_RedisCluster_xlen arginfo_class_RedisCluster_expiretime -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_xpending, 0, 2, Redis, MAY_BE_ARRAY|MAY_BE_FALSE) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_xpending, 0, 2, RedisCluster, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, group, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, start, IS_STRING, 1, "null") @@ -758,20 +782,20 @@ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_xpending, ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, consumer, IS_STRING, 1, "null") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_xrange, 0, 3, MAY_BE_BOOL|MAY_BE_ARRAY) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_xrange, 0, 3, RedisCluster, MAY_BE_BOOL|MAY_BE_ARRAY) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, start, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, end, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "-1") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_xread, 0, 1, MAY_BE_BOOL|MAY_BE_ARRAY) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_xread, 0, 1, RedisCluster, MAY_BE_BOOL|MAY_BE_ARRAY) ZEND_ARG_TYPE_INFO(0, streams, IS_ARRAY, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "-1") ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, block, IS_LONG, 0, "-1") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_xreadgroup, 0, 3, MAY_BE_BOOL|MAY_BE_ARRAY) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_xreadgroup, 0, 3, RedisCluster, MAY_BE_BOOL|MAY_BE_ARRAY) ZEND_ARG_TYPE_INFO(0, group, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, consumer, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, streams, IS_ARRAY, 0) @@ -789,66 +813,80 @@ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_xtrim, 0, ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, limit, IS_LONG, 0, "-1") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_zadd, 0, 3, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zadd, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) - ZEND_ARG_TYPE_INFO(0, score, IS_DOUBLE, 0) - ZEND_ARG_TYPE_INFO(0, member, IS_STRING, 0) - ZEND_ARG_VARIADIC_TYPE_INFO(0, extra_args, IS_MIXED, 0) + ZEND_ARG_TYPE_MASK(0, score_or_options, MAY_BE_ARRAY|MAY_BE_DOUBLE, NULL) + ZEND_ARG_VARIADIC_TYPE_INFO(0, more_scores_and_mems, IS_MIXED, 0) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_zcard arginfo_class_RedisCluster_decr +#define arginfo_class_RedisCluster_zcard arginfo_class_RedisCluster_expiretime -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_zcount, 0, 3, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zcount, 0, 3, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, start, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, end, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_zincrby, 0, 3, IS_DOUBLE, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zincrby, 0, 3, RedisCluster, MAY_BE_DOUBLE|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, value, IS_DOUBLE, 0) ZEND_ARG_TYPE_INFO(0, member, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_zinterstore, 0, 2, IS_LONG, 0) - ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zinterstore, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, dst, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, keys, IS_ARRAY, 0) - ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, weights, IS_ARRAY, 0, "null") - ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, aggregate, IS_STRING, 0, "null") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, weights, IS_ARRAY, 1, "null") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, aggregate, IS_STRING, 1, "null") ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_zintercard arginfo_class_RedisCluster_sintercard -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_zlexcount, 0, 3, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zlexcount, 0, 3, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, min, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, max, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_zpopmax, 0, 1, MAY_BE_BOOL|MAY_BE_ARRAY) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zpopmax, 0, 1, RedisCluster, MAY_BE_BOOL|MAY_BE_ARRAY) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, value, IS_LONG, 0, "null") ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_zpopmin arginfo_class_RedisCluster_zpopmax -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_zrange, 0, 3, MAY_BE_BOOL|MAY_BE_ARRAY) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zrange, 0, 3, RedisCluster, MAY_BE_ARRAY|MAY_BE_BOOL) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, end, IS_LONG, 0) - ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "null") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options_withscores, IS_MIXED, 0, "null") ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_zrangebylex arginfo_class_RedisCluster_zrange +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zrangebylex, 0, 3, RedisCluster, MAY_BE_ARRAY|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, min, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, max, IS_STRING, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "-1") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "-1") +ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_zrangebyscore arginfo_class_RedisCluster_zrange +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zrangebyscore, 0, 3, RedisCluster, MAY_BE_ARRAY|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, start, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, end, IS_STRING, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "[]") +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_zrank, 0, 2, IS_LONG, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zrank, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, member, IS_MIXED, 0) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_zrem arginfo_class_RedisCluster_srem +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zrem, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) + ZEND_ARG_VARIADIC_TYPE_INFO(0, other_values, IS_STRING, 0) +ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_zremrangebylex arginfo_class_RedisCluster_zlexcount @@ -856,7 +894,7 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_zremrangebyscore arginfo_class_RedisCluster_zlexcount -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_zrevrange, 0, 3, MAY_BE_BOOL|MAY_BE_ARRAY) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zrevrange, 0, 3, RedisCluster, MAY_BE_BOOL|MAY_BE_ARRAY) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, min, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, max, IS_STRING, 0) @@ -869,18 +907,24 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_zrevrank arginfo_class_RedisCluster_zrank -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_zscan, 0, 2, MAY_BE_BOOL|MAY_BE_ARRAY) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zscan, 0, 2, RedisCluster, MAY_BE_BOOL|MAY_BE_ARRAY) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) ZEND_ARG_TYPE_INFO(1, iterator, IS_LONG, 1) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pattern, IS_STRING, 1, "null") ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "0") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_zscore, 0, 1, IS_DOUBLE, 0) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zscore, 0, 2, RedisCluster, MAY_BE_DOUBLE|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, member, IS_MIXED, 0) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_zunionstore arginfo_class_RedisCluster_zinterstore +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_RedisCluster_zunionstore, 0, 2, RedisCluster, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, dst, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, keys, IS_ARRAY, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, weights, IS_ARRAY, 1, "NULL") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, aggregate, IS_STRING, 1, "NULL") +ZEND_END_ARG_INFO() ZEND_METHOD(RedisCluster, __construct); diff --git a/redis_cluster_legacy_arginfo.h b/redis_cluster_legacy_arginfo.h index 3484a2db..c1552291 100644 --- a/redis_cluster_legacy_arginfo.h +++ b/redis_cluster_legacy_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 59682d20ee8ebad4f8a5c914432f41dac0860770 */ + * Stub hash: 280323a9e3fc028641ad1d8bcba2514dfa90fac9 */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster___construct, 0, 0, 1) ZEND_ARG_INFO(0, name) @@ -55,6 +55,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_bitcount, 0, 0, 1) ZEND_ARG_INFO(0, key) ZEND_ARG_INFO(0, start) ZEND_ARG_INFO(0, end) + ZEND_ARG_INFO(0, bybit) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_bitop, 0, 0, 3) @@ -108,7 +109,7 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_clearlasterror arginfo_class_RedisCluster__masters -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_client, 0, 0, 3) +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_client, 0, 0, 2) ZEND_ARG_INFO(0, node) ZEND_ARG_INFO(0, subcommand) ZEND_ARG_INFO(0, arg) @@ -134,7 +135,10 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_dbsize arginfo_class_RedisCluster_bgrewriteaof -#define arginfo_class_RedisCluster_decr arginfo_class_RedisCluster__prefix +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_decr, 0, 0, 1) + ZEND_ARG_INFO(0, key) + ZEND_ARG_INFO(0, by) +ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_decrby arginfo_class_RedisCluster_append @@ -168,7 +172,7 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_exec arginfo_class_RedisCluster__masters -#define arginfo_class_RedisCluster_exists arginfo_class_RedisCluster__prefix +#define arginfo_class_RedisCluster_exists arginfo_class_RedisCluster_del ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_expire, 0, 0, 2) ZEND_ARG_INFO(0, key) @@ -286,7 +290,7 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_hmget, 0, 0, 2) ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, members) + ZEND_ARG_INFO(0, keys) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_hmset, 0, 0, 2) @@ -312,7 +316,7 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_hvals arginfo_class_RedisCluster__prefix -#define arginfo_class_RedisCluster_incr arginfo_class_RedisCluster__prefix +#define arginfo_class_RedisCluster_incr arginfo_class_RedisCluster_decr #define arginfo_class_RedisCluster_incrby arginfo_class_RedisCluster_append @@ -362,10 +366,10 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_lrange arginfo_class_RedisCluster_getrange -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_lrem, 0, 0, 3) +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_lrem, 0, 0, 2) ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, count) ZEND_ARG_INFO(0, value) + ZEND_ARG_INFO(0, count) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_lset, 0, 0, 3) @@ -386,7 +390,9 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_msetnx arginfo_class_RedisCluster_mset -#define arginfo_class_RedisCluster_multi arginfo_class_RedisCluster__masters +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_multi, 0, 0, 0) + ZEND_ARG_INFO(0, value) +ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_object, 0, 0, 2) ZEND_ARG_INFO(0, subcommand) @@ -406,12 +412,9 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_pfcount arginfo_class_RedisCluster__prefix -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_pfmerge, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, keys) -ZEND_END_ARG_INFO() +#define arginfo_class_RedisCluster_pfmerge arginfo_class_RedisCluster_hmget -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_ping, 0, 0, 2) +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_ping, 0, 0, 1) ZEND_ARG_INFO(0, key_or_address) ZEND_ARG_INFO(0, message) ZEND_END_ARG_INFO() @@ -453,12 +456,15 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_rawcommand, 0, 0, 2) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_rename, 0, 0, 2) + ZEND_ARG_INFO(0, key_src) + ZEND_ARG_INFO(0, key_dst) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_renamenx, 0, 0, 2) ZEND_ARG_INFO(0, key) ZEND_ARG_INFO(0, newkey) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_renamenx arginfo_class_RedisCluster_rename - ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_restore, 0, 0, 3) ZEND_ARG_INFO(0, key) ZEND_ARG_INFO(0, timeout) @@ -475,7 +481,10 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_rpoplpush, 0, 0, 2) ZEND_ARG_INFO(0, dst) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_rpush arginfo_class_RedisCluster_lpush +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_rpush, 0, 0, 1) + ZEND_ARG_INFO(0, key) + ZEND_ARG_VARIADIC_INFO(0, elements) +ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_rpushx arginfo_class_RedisCluster_append @@ -510,7 +519,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_sdiffstore, 0, 0, 2) ZEND_ARG_VARIADIC_INFO(0, other_keys) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_set arginfo_class_RedisCluster_append +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_set, 0, 0, 2) + ZEND_ARG_INFO(0, key) + ZEND_ARG_INFO(0, value) + ZEND_ARG_INFO(0, options) +ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_setbit, 0, 0, 3) ZEND_ARG_INFO(0, key) @@ -520,11 +533,11 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_setex, 0, 0, 3) ZEND_ARG_INFO(0, key) + ZEND_ARG_INFO(0, expire) ZEND_ARG_INFO(0, value) - ZEND_ARG_INFO(0, timeout) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_setnx arginfo_class_RedisCluster_setex +#define arginfo_class_RedisCluster_setnx arginfo_class_RedisCluster_append ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_setoption, 0, 0, 2) ZEND_ARG_INFO(0, option) @@ -544,9 +557,9 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_sintercard, 0, 0, 1) ZEND_ARG_INFO(0, limit) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_sinterstore arginfo_class_RedisCluster_sdiffstore +#define arginfo_class_RedisCluster_sinterstore arginfo_class_RedisCluster_del -#define arginfo_class_RedisCluster_sismember arginfo_class_RedisCluster__prefix +#define arginfo_class_RedisCluster_sismember arginfo_class_RedisCluster_append #define arginfo_class_RedisCluster_slowlog arginfo_class_RedisCluster_script @@ -558,24 +571,18 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_smove, 0, 0, 3) ZEND_ARG_INFO(0, member) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_sort, 0, 0, 2) +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_sort, 0, 0, 1) ZEND_ARG_INFO(0, key) ZEND_ARG_INFO(0, options) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_spop arginfo_class_RedisCluster__prefix +#define arginfo_class_RedisCluster_spop arginfo_class_RedisCluster_lpop #define arginfo_class_RedisCluster_srandmember arginfo_class_RedisCluster_lpop #define arginfo_class_RedisCluster_srem arginfo_class_RedisCluster_lpush -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_sscan, 0, 0, 3) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(1, iterator) - ZEND_ARG_INFO(0, node) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, count) -ZEND_END_ARG_INFO() +#define arginfo_class_RedisCluster_sscan arginfo_class_RedisCluster_hscan #define arginfo_class_RedisCluster_strlen arginfo_class_RedisCluster__prefix @@ -689,11 +696,10 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_xtrim, 0, 0, 2) ZEND_ARG_INFO(0, limit) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_zadd, 0, 0, 3) +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_zadd, 0, 0, 2) ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, score) - ZEND_ARG_INFO(0, member) - ZEND_ARG_VARIADIC_INFO(0, extra_args) + ZEND_ARG_INFO(0, score_or_options) + ZEND_ARG_VARIADIC_INFO(0, more_scores_and_mems) ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_zcard arginfo_class_RedisCluster__prefix @@ -707,7 +713,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_zincrby, 0, 0, 3) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_zinterstore, 0, 0, 2) - ZEND_ARG_INFO(0, key) + ZEND_ARG_INFO(0, dst) ZEND_ARG_INFO(0, keys) ZEND_ARG_INFO(0, weights) ZEND_ARG_INFO(0, aggregate) @@ -732,12 +738,23 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_zrange, 0, 0, 3) ZEND_ARG_INFO(0, key) ZEND_ARG_INFO(0, start) ZEND_ARG_INFO(0, end) - ZEND_ARG_INFO(0, options) + ZEND_ARG_INFO(0, options_withscores) ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_zrangebylex arginfo_class_RedisCluster_zrange +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_zrangebylex, 0, 0, 3) + ZEND_ARG_INFO(0, key) + ZEND_ARG_INFO(0, min) + ZEND_ARG_INFO(0, max) + ZEND_ARG_INFO(0, offset) + ZEND_ARG_INFO(0, count) +ZEND_END_ARG_INFO() -#define arginfo_class_RedisCluster_zrangebyscore arginfo_class_RedisCluster_zrange +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_zrangebyscore, 0, 0, 3) + ZEND_ARG_INFO(0, key) + ZEND_ARG_INFO(0, start) + ZEND_ARG_INFO(0, end) + ZEND_ARG_INFO(0, options) +ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_zrank arginfo_class_RedisCluster_hexists @@ -764,7 +781,7 @@ ZEND_END_ARG_INFO() #define arginfo_class_RedisCluster_zscan arginfo_class_RedisCluster_hscan -#define arginfo_class_RedisCluster_zscore arginfo_class_RedisCluster__prefix +#define arginfo_class_RedisCluster_zscore arginfo_class_RedisCluster_hexists #define arginfo_class_RedisCluster_zunionstore arginfo_class_RedisCluster_zinterstore diff --git a/redis_commands.c b/redis_commands.c index 098b3a9d..3c56f892 100644 --- a/redis_commands.c +++ b/redis_commands.c @@ -623,7 +623,7 @@ int redis_zrange_cmd(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zend_string *zkey; zval *z_ws = NULL, *z_ele; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "sll|z", &key, &key_len, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "sll|z!", &key, &key_len, &start, &end, &z_ws) == FAILURE) { return FAILURE; @@ -1861,10 +1861,10 @@ int redis_set_cmd(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, ZEND_HASH_FOREACH_STR_KEY_VAL(kt, zkey, v) { ZVAL_DEREF(v); /* Detect PX or EX argument and validate timeout */ - if (zkey && (ZSTR_STRICMP_STATIC(zkey, "EX") || - ZSTR_STRICMP_STATIC(zkey, "PX") || - ZSTR_STRICMP_STATIC(zkey, "EXAT") || - ZSTR_STRICMP_STATIC(zkey, "PXAT")) + if (zkey && (zend_string_equals_literal_ci(zkey, "EX") || + zend_string_equals_literal_ci(zkey, "PX") || + zend_string_equals_literal_ci(zkey, "EXAT") || + zend_string_equals_literal_ci(zkey, "PXAT")) ) { exp_set = 1; @@ -1878,11 +1878,13 @@ int redis_set_cmd(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, expire = atol(Z_STRVAL_P(v)); } } else if (Z_TYPE_P(v) == IS_STRING) { - if (ZVAL_STRICMP_STATIC(v, "KEEPTTL")) { + if (zend_string_equals_literal_ci(Z_STR_P(v), "KEEPTTL")) { keep_ttl = 1; - } else if (ZVAL_STRICMP_STATIC((v), "GET")) { + } else if (zend_string_equals_literal_ci(Z_STR_P(v), "GET")) { get = 1; - } else if (ZVAL_STRICMP_STATIC(v, "NX") || ZVAL_STRICMP_STATIC(v, "XX")) { + } else if (zend_string_equals_literal_ci(Z_STR_P(v), "NX") || + zend_string_equals_literal_ci(Z_STR_P(v), "XX")) + { set_type = Z_STRVAL_P(v); } } diff --git a/redis_legacy_arginfo.h b/redis_legacy_arginfo.h index 507c010e..66a63b32 100644 --- a/redis_legacy_arginfo.h +++ b/redis_legacy_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 6d0479328ae627b9c45104a52014b3649e533015 */ + * Stub hash: 1810caef11b38440e073059e2d9c65f92fa8a9a5 */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis___construct, 0, 0, 0) ZEND_ARG_INFO(0, options) diff --git a/tests/RedisClusterTest.php b/tests/RedisClusterTest.php index 2ba98509..6df481d5 100644 --- a/tests/RedisClusterTest.php +++ b/tests/RedisClusterTest.php @@ -390,7 +390,7 @@ class Redis_Cluster_Test extends Redis_Test { // watch and unwatch $this->redis->watch('x'); $r->incr('x'); // other instance - $this->redis->unwatch('x'); // cancel transaction watch + $this->redis->unwatch(); // cancel transaction watch // This should succeed as the watch has been cancelled $ret = $this->redis->multi()->get('x')->exec(); |