Skip to content

Commit 78bb6b3

Browse files
committed
Add stub-based arginfo for Redis Cluster methods s
1 parent ecd6462 commit 78bb6b3

File tree

3 files changed

+406
-31
lines changed

3 files changed

+406
-31
lines changed

redis_cluster.stub.php

Lines changed: 58 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -236,39 +236,68 @@ public function rpoplpush(string $src, string $dst): bool|string;
236236
public function rpush(string $key, string $value, string ...$other_values): bool|int;
237237

238238
public function rpushx(string $key, string $value): bool|int;
239+
240+
public function sadd(string $key, string $value, string ...$other_values): bool|int;
241+
242+
public function saddarray(string $key, array $values): bool|int;
243+
244+
public function save(string|array $key_or_address): bool;
245+
246+
public function scan(int &$iterator, mixed $node, ?string $pattern = null, int $count = 0): bool|array;
247+
248+
public function scard(string $key): int;
249+
250+
public function script(string|array $key_or_address, mixed ...$args): mixed;
251+
252+
public function sdiff(string $key, string ...$other_keys): array;
253+
254+
public function sdiffstore(string $dst, string $key, string ...$other_keys): int;
255+
256+
public function set(string $key, string $value): bool;
257+
258+
public function setbit(string $key, int $offset, bool $onoff): bool;
259+
260+
public function setex(string $key, string $value, int $timeout): bool;
261+
262+
public function setnx(string $key, string $value, int $timeout): bool;
263+
264+
public function setoption(int $option, mixed $value): bool;
265+
266+
public function setrange(string $key, int $offset, string $value): int;
267+
268+
public function sinter(string $key, string ...$other_keys): array;
269+
270+
public function sinterstore(string $dst, string $key, string ...$other_keys): bool;
271+
272+
public function sismember(string $key): int;
273+
274+
public function slowlog(string|array $key_or_address, mixed ...$args): mixed;
275+
276+
public function smembers(string $key): array;
277+
278+
public function smove(string $src, string $dst, string $member): bool;
279+
280+
public function sort(string $key, array $options): bool|int|string;
281+
282+
public function spop(string $key): string|array;
283+
284+
public function srandmember(string $key, int $count = 0): string|array;
285+
286+
public function srem(string $key, string $value, string ...$other_values): int;
287+
288+
public function sscan(string $key, int &$iterator, mixed $node, ?string $pattern = null, int $count = 0): bool|array;
289+
290+
public function strlen(string $key): int;
291+
292+
public function subscribe(array $channels, callable $cb): void;
293+
294+
public function sunion(string $key, string ...$other_keys): bool|array;
295+
296+
public function sunionstore(string $dst, string $key, string ...$other_keys): int;
239297
}
240298

241299
/*
242300
TODO:
243-
public function sadd
244-
public function saddarray
245-
public function save
246-
public function scan
247-
public function scard
248-
public function script
249-
public function sdiff
250-
public function sdiffstore
251-
public function set
252-
public function setbit
253-
public function setex
254-
public function setnx
255-
public function setoption
256-
public function setrange
257-
public function sinter
258-
public function sinterstore
259-
public function sismember
260-
public function slowlog
261-
public function smembers
262-
public function smove
263-
public function sort
264-
public function spop
265-
public function srandmember
266-
public function srem
267-
public function sscan
268-
public function strlen
269-
public function subscribe
270-
public function sunion
271-
public function sunionstore
272301
public function time
273302
public function ttl
274303
public function type

redis_cluster_arginfo.h

Lines changed: 182 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: 397fd43d7b94f97620da517fdbeaccf2de4b55f3 */
2+
* Stub hash: a8dbdd46b676b84c2d644382b7c4e108a820b12f */
33

44
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster___construct, 0, 0, 1)
55
ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 1)
@@ -508,6 +508,129 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_rpushx, 0, 2,
508508
ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
509509
ZEND_END_ARG_INFO()
510510

511+
#define arginfo_class_RedisCluster_sadd arginfo_class_RedisCluster_rpush
512+
513+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_saddarray, 0, 2, MAY_BE_BOOL|MAY_BE_LONG)
514+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
515+
ZEND_ARG_TYPE_INFO(0, values, IS_ARRAY, 0)
516+
ZEND_END_ARG_INFO()
517+
518+
#define arginfo_class_RedisCluster_save arginfo_class_RedisCluster_bgrewriteaof
519+
520+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_scan, 0, 2, MAY_BE_BOOL|MAY_BE_ARRAY)
521+
ZEND_ARG_TYPE_INFO(1, iterator, IS_LONG, 0)
522+
ZEND_ARG_TYPE_INFO(0, node, IS_MIXED, 0)
523+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pattern, IS_STRING, 1, "null")
524+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "0")
525+
ZEND_END_ARG_INFO()
526+
527+
#define arginfo_class_RedisCluster_scard arginfo_class_RedisCluster_decr
528+
529+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_script, 0, 1, IS_MIXED, 0)
530+
ZEND_ARG_TYPE_MASK(0, key_or_address, MAY_BE_STRING|MAY_BE_ARRAY, NULL)
531+
ZEND_ARG_VARIADIC_TYPE_INFO(0, args, IS_MIXED, 0)
532+
ZEND_END_ARG_INFO()
533+
534+
#define arginfo_class_RedisCluster_sdiff arginfo_class_RedisCluster_del
535+
536+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_sdiffstore, 0, 2, IS_LONG, 0)
537+
ZEND_ARG_TYPE_INFO(0, dst, IS_STRING, 0)
538+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
539+
ZEND_ARG_VARIADIC_TYPE_INFO(0, other_keys, IS_STRING, 0)
540+
ZEND_END_ARG_INFO()
541+
542+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_set, 0, 2, _IS_BOOL, 0)
543+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
544+
ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
545+
ZEND_END_ARG_INFO()
546+
547+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_setbit, 0, 3, _IS_BOOL, 0)
548+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
549+
ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
550+
ZEND_ARG_TYPE_INFO(0, onoff, _IS_BOOL, 0)
551+
ZEND_END_ARG_INFO()
552+
553+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_setex, 0, 3, _IS_BOOL, 0)
554+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
555+
ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
556+
ZEND_ARG_TYPE_INFO(0, timeout, IS_LONG, 0)
557+
ZEND_END_ARG_INFO()
558+
559+
#define arginfo_class_RedisCluster_setnx arginfo_class_RedisCluster_setex
560+
561+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_setoption, 0, 2, _IS_BOOL, 0)
562+
ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
563+
ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0)
564+
ZEND_END_ARG_INFO()
565+
566+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_setrange, 0, 3, IS_LONG, 0)
567+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
568+
ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
569+
ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
570+
ZEND_END_ARG_INFO()
571+
572+
#define arginfo_class_RedisCluster_sinter arginfo_class_RedisCluster_del
573+
574+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_sinterstore, 0, 2, _IS_BOOL, 0)
575+
ZEND_ARG_TYPE_INFO(0, dst, IS_STRING, 0)
576+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
577+
ZEND_ARG_VARIADIC_TYPE_INFO(0, other_keys, IS_STRING, 0)
578+
ZEND_END_ARG_INFO()
579+
580+
#define arginfo_class_RedisCluster_sismember arginfo_class_RedisCluster_decr
581+
582+
#define arginfo_class_RedisCluster_slowlog arginfo_class_RedisCluster_script
583+
584+
#define arginfo_class_RedisCluster_smembers arginfo_class_RedisCluster_hgetall
585+
586+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_smove, 0, 3, _IS_BOOL, 0)
587+
ZEND_ARG_TYPE_INFO(0, src, IS_STRING, 0)
588+
ZEND_ARG_TYPE_INFO(0, dst, IS_STRING, 0)
589+
ZEND_ARG_TYPE_INFO(0, member, IS_STRING, 0)
590+
ZEND_END_ARG_INFO()
591+
592+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_sort, 0, 2, MAY_BE_BOOL|MAY_BE_LONG|MAY_BE_STRING)
593+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
594+
ZEND_ARG_TYPE_INFO(0, options, IS_ARRAY, 0)
595+
ZEND_END_ARG_INFO()
596+
597+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_spop, 0, 1, MAY_BE_STRING|MAY_BE_ARRAY)
598+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
599+
ZEND_END_ARG_INFO()
600+
601+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_srandmember, 0, 1, MAY_BE_STRING|MAY_BE_ARRAY)
602+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
603+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "0")
604+
ZEND_END_ARG_INFO()
605+
606+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_srem, 0, 2, IS_LONG, 0)
607+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
608+
ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
609+
ZEND_ARG_VARIADIC_TYPE_INFO(0, other_values, IS_STRING, 0)
610+
ZEND_END_ARG_INFO()
611+
612+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_sscan, 0, 3, MAY_BE_BOOL|MAY_BE_ARRAY)
613+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
614+
ZEND_ARG_TYPE_INFO(1, iterator, IS_LONG, 0)
615+
ZEND_ARG_TYPE_INFO(0, node, IS_MIXED, 0)
616+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pattern, IS_STRING, 1, "null")
617+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "0")
618+
ZEND_END_ARG_INFO()
619+
620+
#define arginfo_class_RedisCluster_strlen arginfo_class_RedisCluster_decr
621+
622+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_subscribe, 0, 2, IS_VOID, 0)
623+
ZEND_ARG_TYPE_INFO(0, channels, IS_ARRAY, 0)
624+
ZEND_ARG_TYPE_INFO(0, cb, IS_CALLABLE, 0)
625+
ZEND_END_ARG_INFO()
626+
627+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_sunion, 0, 1, MAY_BE_BOOL|MAY_BE_ARRAY)
628+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
629+
ZEND_ARG_VARIADIC_TYPE_INFO(0, other_keys, IS_STRING, 0)
630+
ZEND_END_ARG_INFO()
631+
632+
#define arginfo_class_RedisCluster_sunionstore arginfo_class_RedisCluster_sdiffstore
633+
511634

512635
ZEND_METHOD(RedisCluster, __construct);
513636
ZEND_METHOD(RedisCluster, _masters);
@@ -624,6 +747,35 @@ ZEND_METHOD(RedisCluster, rpop);
624747
ZEND_METHOD(RedisCluster, rpoplpush);
625748
ZEND_METHOD(RedisCluster, rpush);
626749
ZEND_METHOD(RedisCluster, rpushx);
750+
ZEND_METHOD(RedisCluster, sadd);
751+
ZEND_METHOD(RedisCluster, saddarray);
752+
ZEND_METHOD(RedisCluster, save);
753+
ZEND_METHOD(RedisCluster, scan);
754+
ZEND_METHOD(RedisCluster, scard);
755+
ZEND_METHOD(RedisCluster, script);
756+
ZEND_METHOD(RedisCluster, sdiff);
757+
ZEND_METHOD(RedisCluster, sdiffstore);
758+
ZEND_METHOD(RedisCluster, set);
759+
ZEND_METHOD(RedisCluster, setbit);
760+
ZEND_METHOD(RedisCluster, setex);
761+
ZEND_METHOD(RedisCluster, setnx);
762+
ZEND_METHOD(RedisCluster, setoption);
763+
ZEND_METHOD(RedisCluster, setrange);
764+
ZEND_METHOD(RedisCluster, sinter);
765+
ZEND_METHOD(RedisCluster, sinterstore);
766+
ZEND_METHOD(RedisCluster, sismember);
767+
ZEND_METHOD(RedisCluster, slowlog);
768+
ZEND_METHOD(RedisCluster, smembers);
769+
ZEND_METHOD(RedisCluster, smove);
770+
ZEND_METHOD(RedisCluster, sort);
771+
ZEND_METHOD(RedisCluster, spop);
772+
ZEND_METHOD(RedisCluster, srandmember);
773+
ZEND_METHOD(RedisCluster, srem);
774+
ZEND_METHOD(RedisCluster, sscan);
775+
ZEND_METHOD(RedisCluster, strlen);
776+
ZEND_METHOD(RedisCluster, subscribe);
777+
ZEND_METHOD(RedisCluster, sunion);
778+
ZEND_METHOD(RedisCluster, sunionstore);
627779

628780

629781
static const zend_function_entry class_RedisCluster_methods[] = {
@@ -742,5 +894,34 @@ static const zend_function_entry class_RedisCluster_methods[] = {
742894
ZEND_ME(RedisCluster, rpoplpush, arginfo_class_RedisCluster_rpoplpush, ZEND_ACC_PUBLIC)
743895
ZEND_ME(RedisCluster, rpush, arginfo_class_RedisCluster_rpush, ZEND_ACC_PUBLIC)
744896
ZEND_ME(RedisCluster, rpushx, arginfo_class_RedisCluster_rpushx, ZEND_ACC_PUBLIC)
897+
ZEND_ME(RedisCluster, sadd, arginfo_class_RedisCluster_sadd, ZEND_ACC_PUBLIC)
898+
ZEND_ME(RedisCluster, saddarray, arginfo_class_RedisCluster_saddarray, ZEND_ACC_PUBLIC)
899+
ZEND_ME(RedisCluster, save, arginfo_class_RedisCluster_save, ZEND_ACC_PUBLIC)
900+
ZEND_ME(RedisCluster, scan, arginfo_class_RedisCluster_scan, ZEND_ACC_PUBLIC)
901+
ZEND_ME(RedisCluster, scard, arginfo_class_RedisCluster_scard, ZEND_ACC_PUBLIC)
902+
ZEND_ME(RedisCluster, script, arginfo_class_RedisCluster_script, ZEND_ACC_PUBLIC)
903+
ZEND_ME(RedisCluster, sdiff, arginfo_class_RedisCluster_sdiff, ZEND_ACC_PUBLIC)
904+
ZEND_ME(RedisCluster, sdiffstore, arginfo_class_RedisCluster_sdiffstore, ZEND_ACC_PUBLIC)
905+
ZEND_ME(RedisCluster, set, arginfo_class_RedisCluster_set, ZEND_ACC_PUBLIC)
906+
ZEND_ME(RedisCluster, setbit, arginfo_class_RedisCluster_setbit, ZEND_ACC_PUBLIC)
907+
ZEND_ME(RedisCluster, setex, arginfo_class_RedisCluster_setex, ZEND_ACC_PUBLIC)
908+
ZEND_ME(RedisCluster, setnx, arginfo_class_RedisCluster_setnx, ZEND_ACC_PUBLIC)
909+
ZEND_ME(RedisCluster, setoption, arginfo_class_RedisCluster_setoption, ZEND_ACC_PUBLIC)
910+
ZEND_ME(RedisCluster, setrange, arginfo_class_RedisCluster_setrange, ZEND_ACC_PUBLIC)
911+
ZEND_ME(RedisCluster, sinter, arginfo_class_RedisCluster_sinter, ZEND_ACC_PUBLIC)
912+
ZEND_ME(RedisCluster, sinterstore, arginfo_class_RedisCluster_sinterstore, ZEND_ACC_PUBLIC)
913+
ZEND_ME(RedisCluster, sismember, arginfo_class_RedisCluster_sismember, ZEND_ACC_PUBLIC)
914+
ZEND_ME(RedisCluster, slowlog, arginfo_class_RedisCluster_slowlog, ZEND_ACC_PUBLIC)
915+
ZEND_ME(RedisCluster, smembers, arginfo_class_RedisCluster_smembers, ZEND_ACC_PUBLIC)
916+
ZEND_ME(RedisCluster, smove, arginfo_class_RedisCluster_smove, ZEND_ACC_PUBLIC)
917+
ZEND_ME(RedisCluster, sort, arginfo_class_RedisCluster_sort, ZEND_ACC_PUBLIC)
918+
ZEND_ME(RedisCluster, spop, arginfo_class_RedisCluster_spop, ZEND_ACC_PUBLIC)
919+
ZEND_ME(RedisCluster, srandmember, arginfo_class_RedisCluster_srandmember, ZEND_ACC_PUBLIC)
920+
ZEND_ME(RedisCluster, srem, arginfo_class_RedisCluster_srem, ZEND_ACC_PUBLIC)
921+
ZEND_ME(RedisCluster, sscan, arginfo_class_RedisCluster_sscan, ZEND_ACC_PUBLIC)
922+
ZEND_ME(RedisCluster, strlen, arginfo_class_RedisCluster_strlen, ZEND_ACC_PUBLIC)
923+
ZEND_ME(RedisCluster, subscribe, arginfo_class_RedisCluster_subscribe, ZEND_ACC_PUBLIC)
924+
ZEND_ME(RedisCluster, sunion, arginfo_class_RedisCluster_sunion, ZEND_ACC_PUBLIC)
925+
ZEND_ME(RedisCluster, sunionstore, arginfo_class_RedisCluster_sunionstore, ZEND_ACC_PUBLIC)
745926
ZEND_FE_END
746927
};

0 commit comments

Comments
 (0)