Skip to content

Commit 98c026e

Browse files
committed
Add stub-based arginfo for Redis Cluster methods t-x
1 parent 78bb6b3 commit 98c026e

File tree

3 files changed

+323
-22
lines changed

3 files changed

+323
-22
lines changed

redis_cluster.stub.php

Lines changed: 40 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -294,30 +294,50 @@ public function subscribe(array $channels, callable $cb): void;
294294
public function sunion(string $key, string ...$other_keys): bool|array;
295295

296296
public function sunionstore(string $dst, string $key, string ...$other_keys): int;
297+
298+
public function time(string|array $key_or_address): bool|array;
299+
300+
public function ttl(string $key): int;
301+
302+
public function type(string $key): int;
303+
304+
public function unsubscribe(array $channels): bool|array;
305+
306+
public function unlink(string $key, string ...$other_keys): array;
307+
308+
public function unwatch(): bool;
309+
310+
public function watch(string $key, string ...$other_keys): bool;
311+
312+
public function xack(string $key, string $group, array $ids): int;
313+
314+
public function xadd(string $key, string $id, array $values, int $maxlen = 0, bool $approx = false): string;
315+
316+
public function xclaim(string $key, string $group, string $consumer, int $min_iddle, array $ids, array $options): string|array;
317+
318+
public function xdel(string $key, array $ids): int;
319+
320+
public function xgroup(string $operation, string $key = null, string $arg1 = null, string $arg2 = null, bool $arg3 = false): mixed;
321+
322+
public function xinfo(string $operation, string $arg1 = null, string $arg2 = null): mixed;
323+
324+
public function xlen(string $key): int;
325+
326+
public function xpending(string $key, string $group, string $start = null, string $end = null, int $count = -1, string $consumer = null): string;
327+
328+
public function xrange(string $key, string $start, string $end, int $count = -1): bool|array;
329+
330+
public function xread(array $streams, int $count = -1, int $block = -1): bool|array;
331+
332+
public function xreadgroup(string $group, string $consumer, array $streams, int $count = 1, int $block = 1): bool|array;
333+
334+
public function xrevrange(string $key, string $start, string $end, int $count = -1): bool|array;
335+
336+
public function xtrim(string $key, int $maxlen, bool $approx = false): int;
297337
}
298338

299339
/*
300340
TODO:
301-
public function time
302-
public function ttl
303-
public function type
304-
public function unsubscribe
305-
public function unlink
306-
public function unwatch
307-
public function watch
308-
public function xack
309-
public function xadd
310-
public function xclaim
311-
public function xdel
312-
public function xgroup
313-
public function xinfo
314-
public function xlen
315-
public function xpending
316-
public function xrange
317-
public function xread
318-
public function xreadgroup
319-
public function xrevrange
320-
public function xtrim
321341
public function zadd
322342
public function zcard
323343
public function zcount

redis_cluster_arginfo.h

Lines changed: 144 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: a8dbdd46b676b84c2d644382b7c4e108a820b12f */
2+
* Stub hash: 5d62f0da16946eeff4782ceb22097e563b9864e2 */
33

44
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster___construct, 0, 0, 1)
55
ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 1)
@@ -631,6 +631,109 @@ ZEND_END_ARG_INFO()
631631

632632
#define arginfo_class_RedisCluster_sunionstore arginfo_class_RedisCluster_sdiffstore
633633

634+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_time, 0, 1, MAY_BE_BOOL|MAY_BE_ARRAY)
635+
ZEND_ARG_TYPE_MASK(0, key_or_address, MAY_BE_STRING|MAY_BE_ARRAY, NULL)
636+
ZEND_END_ARG_INFO()
637+
638+
#define arginfo_class_RedisCluster_ttl arginfo_class_RedisCluster_decr
639+
640+
#define arginfo_class_RedisCluster_type arginfo_class_RedisCluster_decr
641+
642+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_unsubscribe, 0, 1, MAY_BE_BOOL|MAY_BE_ARRAY)
643+
ZEND_ARG_TYPE_INFO(0, channels, IS_ARRAY, 0)
644+
ZEND_END_ARG_INFO()
645+
646+
#define arginfo_class_RedisCluster_unlink arginfo_class_RedisCluster_del
647+
648+
#define arginfo_class_RedisCluster_unwatch arginfo_class_RedisCluster_clearlasterror
649+
650+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_watch, 0, 1, _IS_BOOL, 0)
651+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
652+
ZEND_ARG_VARIADIC_TYPE_INFO(0, other_keys, IS_STRING, 0)
653+
ZEND_END_ARG_INFO()
654+
655+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_xack, 0, 3, IS_LONG, 0)
656+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
657+
ZEND_ARG_TYPE_INFO(0, group, IS_STRING, 0)
658+
ZEND_ARG_TYPE_INFO(0, ids, IS_ARRAY, 0)
659+
ZEND_END_ARG_INFO()
660+
661+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_xadd, 0, 3, IS_STRING, 0)
662+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
663+
ZEND_ARG_TYPE_INFO(0, id, IS_STRING, 0)
664+
ZEND_ARG_TYPE_INFO(0, values, IS_ARRAY, 0)
665+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, maxlen, IS_LONG, 0, "0")
666+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, approx, _IS_BOOL, 0, "false")
667+
ZEND_END_ARG_INFO()
668+
669+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_xclaim, 0, 6, MAY_BE_STRING|MAY_BE_ARRAY)
670+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
671+
ZEND_ARG_TYPE_INFO(0, group, IS_STRING, 0)
672+
ZEND_ARG_TYPE_INFO(0, consumer, IS_STRING, 0)
673+
ZEND_ARG_TYPE_INFO(0, min_iddle, IS_LONG, 0)
674+
ZEND_ARG_TYPE_INFO(0, ids, IS_ARRAY, 0)
675+
ZEND_ARG_TYPE_INFO(0, options, IS_ARRAY, 0)
676+
ZEND_END_ARG_INFO()
677+
678+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_xdel, 0, 2, IS_LONG, 0)
679+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
680+
ZEND_ARG_TYPE_INFO(0, ids, IS_ARRAY, 0)
681+
ZEND_END_ARG_INFO()
682+
683+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_xgroup, 0, 1, IS_MIXED, 0)
684+
ZEND_ARG_TYPE_INFO(0, operation, IS_STRING, 0)
685+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, key, IS_STRING, 0, "null")
686+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, arg1, IS_STRING, 0, "null")
687+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, arg2, IS_STRING, 0, "null")
688+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, arg3, _IS_BOOL, 0, "false")
689+
ZEND_END_ARG_INFO()
690+
691+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_xinfo, 0, 1, IS_MIXED, 0)
692+
ZEND_ARG_TYPE_INFO(0, operation, IS_STRING, 0)
693+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, arg1, IS_STRING, 0, "null")
694+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, arg2, IS_STRING, 0, "null")
695+
ZEND_END_ARG_INFO()
696+
697+
#define arginfo_class_RedisCluster_xlen arginfo_class_RedisCluster_decr
698+
699+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_xpending, 0, 2, IS_STRING, 0)
700+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
701+
ZEND_ARG_TYPE_INFO(0, group, IS_STRING, 0)
702+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, start, IS_STRING, 0, "null")
703+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, end, IS_STRING, 0, "null")
704+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "-1")
705+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, consumer, IS_STRING, 0, "null")
706+
ZEND_END_ARG_INFO()
707+
708+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_xrange, 0, 3, MAY_BE_BOOL|MAY_BE_ARRAY)
709+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
710+
ZEND_ARG_TYPE_INFO(0, start, IS_STRING, 0)
711+
ZEND_ARG_TYPE_INFO(0, end, IS_STRING, 0)
712+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "-1")
713+
ZEND_END_ARG_INFO()
714+
715+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_xread, 0, 1, MAY_BE_BOOL|MAY_BE_ARRAY)
716+
ZEND_ARG_TYPE_INFO(0, streams, IS_ARRAY, 0)
717+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "-1")
718+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, block, IS_LONG, 0, "-1")
719+
ZEND_END_ARG_INFO()
720+
721+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_xreadgroup, 0, 3, MAY_BE_BOOL|MAY_BE_ARRAY)
722+
ZEND_ARG_TYPE_INFO(0, group, IS_STRING, 0)
723+
ZEND_ARG_TYPE_INFO(0, consumer, IS_STRING, 0)
724+
ZEND_ARG_TYPE_INFO(0, streams, IS_ARRAY, 0)
725+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "1")
726+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, block, IS_LONG, 0, "1")
727+
ZEND_END_ARG_INFO()
728+
729+
#define arginfo_class_RedisCluster_xrevrange arginfo_class_RedisCluster_xrange
730+
731+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_xtrim, 0, 2, IS_LONG, 0)
732+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
733+
ZEND_ARG_TYPE_INFO(0, maxlen, IS_LONG, 0)
734+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, approx, _IS_BOOL, 0, "false")
735+
ZEND_END_ARG_INFO()
736+
634737

635738
ZEND_METHOD(RedisCluster, __construct);
636739
ZEND_METHOD(RedisCluster, _masters);
@@ -776,6 +879,26 @@ ZEND_METHOD(RedisCluster, strlen);
776879
ZEND_METHOD(RedisCluster, subscribe);
777880
ZEND_METHOD(RedisCluster, sunion);
778881
ZEND_METHOD(RedisCluster, sunionstore);
882+
ZEND_METHOD(RedisCluster, time);
883+
ZEND_METHOD(RedisCluster, ttl);
884+
ZEND_METHOD(RedisCluster, type);
885+
ZEND_METHOD(RedisCluster, unsubscribe);
886+
ZEND_METHOD(RedisCluster, unlink);
887+
ZEND_METHOD(RedisCluster, unwatch);
888+
ZEND_METHOD(RedisCluster, watch);
889+
ZEND_METHOD(RedisCluster, xack);
890+
ZEND_METHOD(RedisCluster, xadd);
891+
ZEND_METHOD(RedisCluster, xclaim);
892+
ZEND_METHOD(RedisCluster, xdel);
893+
ZEND_METHOD(RedisCluster, xgroup);
894+
ZEND_METHOD(RedisCluster, xinfo);
895+
ZEND_METHOD(RedisCluster, xlen);
896+
ZEND_METHOD(RedisCluster, xpending);
897+
ZEND_METHOD(RedisCluster, xrange);
898+
ZEND_METHOD(RedisCluster, xread);
899+
ZEND_METHOD(RedisCluster, xreadgroup);
900+
ZEND_METHOD(RedisCluster, xrevrange);
901+
ZEND_METHOD(RedisCluster, xtrim);
779902

780903

781904
static const zend_function_entry class_RedisCluster_methods[] = {
@@ -923,5 +1046,25 @@ static const zend_function_entry class_RedisCluster_methods[] = {
9231046
ZEND_ME(RedisCluster, subscribe, arginfo_class_RedisCluster_subscribe, ZEND_ACC_PUBLIC)
9241047
ZEND_ME(RedisCluster, sunion, arginfo_class_RedisCluster_sunion, ZEND_ACC_PUBLIC)
9251048
ZEND_ME(RedisCluster, sunionstore, arginfo_class_RedisCluster_sunionstore, ZEND_ACC_PUBLIC)
1049+
ZEND_ME(RedisCluster, time, arginfo_class_RedisCluster_time, ZEND_ACC_PUBLIC)
1050+
ZEND_ME(RedisCluster, ttl, arginfo_class_RedisCluster_ttl, ZEND_ACC_PUBLIC)
1051+
ZEND_ME(RedisCluster, type, arginfo_class_RedisCluster_type, ZEND_ACC_PUBLIC)
1052+
ZEND_ME(RedisCluster, unsubscribe, arginfo_class_RedisCluster_unsubscribe, ZEND_ACC_PUBLIC)
1053+
ZEND_ME(RedisCluster, unlink, arginfo_class_RedisCluster_unlink, ZEND_ACC_PUBLIC)
1054+
ZEND_ME(RedisCluster, unwatch, arginfo_class_RedisCluster_unwatch, ZEND_ACC_PUBLIC)
1055+
ZEND_ME(RedisCluster, watch, arginfo_class_RedisCluster_watch, ZEND_ACC_PUBLIC)
1056+
ZEND_ME(RedisCluster, xack, arginfo_class_RedisCluster_xack, ZEND_ACC_PUBLIC)
1057+
ZEND_ME(RedisCluster, xadd, arginfo_class_RedisCluster_xadd, ZEND_ACC_PUBLIC)
1058+
ZEND_ME(RedisCluster, xclaim, arginfo_class_RedisCluster_xclaim, ZEND_ACC_PUBLIC)
1059+
ZEND_ME(RedisCluster, xdel, arginfo_class_RedisCluster_xdel, ZEND_ACC_PUBLIC)
1060+
ZEND_ME(RedisCluster, xgroup, arginfo_class_RedisCluster_xgroup, ZEND_ACC_PUBLIC)
1061+
ZEND_ME(RedisCluster, xinfo, arginfo_class_RedisCluster_xinfo, ZEND_ACC_PUBLIC)
1062+
ZEND_ME(RedisCluster, xlen, arginfo_class_RedisCluster_xlen, ZEND_ACC_PUBLIC)
1063+
ZEND_ME(RedisCluster, xpending, arginfo_class_RedisCluster_xpending, ZEND_ACC_PUBLIC)
1064+
ZEND_ME(RedisCluster, xrange, arginfo_class_RedisCluster_xrange, ZEND_ACC_PUBLIC)
1065+
ZEND_ME(RedisCluster, xread, arginfo_class_RedisCluster_xread, ZEND_ACC_PUBLIC)
1066+
ZEND_ME(RedisCluster, xreadgroup, arginfo_class_RedisCluster_xreadgroup, ZEND_ACC_PUBLIC)
1067+
ZEND_ME(RedisCluster, xrevrange, arginfo_class_RedisCluster_xrevrange, ZEND_ACC_PUBLIC)
1068+
ZEND_ME(RedisCluster, xtrim, arginfo_class_RedisCluster_xtrim, ZEND_ACC_PUBLIC)
9261069
ZEND_FE_END
9271070
};

0 commit comments

Comments
 (0)