Skip to content
This repository was archived by the owner on Jan 25, 2022. It is now read-only.

Commit 39f1c37

Browse files
committed
Add stub-based arginfo for Redis z
1 parent 17712ec commit 39f1c37

File tree

3 files changed

+391
-43
lines changed

3 files changed

+391
-43
lines changed

redis.stub.php

Lines changed: 57 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ public function hStrLen(string $key, string $member): int;
200200

201201
public function hVals(string $key): array;
202202

203-
public function hscan(string $key, int $iterator, ?string $pattern = null, int $count = 0): bool|array;
203+
public function hscan(string $key, int &$iterator, ?string $pattern = null, int $count = 0): bool|array;
204204

205205
/** @return int|Redis */
206206
public function incr(string $key);
@@ -484,36 +484,60 @@ public function xreadgroup(string $group, string $consumer, array $streams, int
484484
public function xrevrange(string $key, string $start, string $end, int $count = -1): bool|array;
485485

486486
public function xtrim(string $key, int $maxlen, bool $approx = false): int;
487-
}
488487

489-
/*
490-
TODO:
491-
public function zAdd
492-
public function zCard
493-
public function zCount
494-
public function zIncrBy
495-
public function zLexCount
496-
public function zMscore
497-
public function zPopMax
498-
public function zPopMin
499-
public function zRange
500-
public function zRangeByLex
501-
public function zRangeByScore
502-
public function zRank
503-
public function zRem
504-
public function zRemRangeByLex
505-
public function zRemRangeByRank
506-
public function zRemRangeByScore
507-
public function zRevRange
508-
public function zRevRangeByLex
509-
public function zRevRangeByScore
510-
public function zRevRank
511-
public function zScore
512-
public function zdiff
513-
public function zdiffstore
514-
public function zinter
515-
public function zinterstore
516-
public function zscan
517-
public function zunion
518-
public function zunionstore
519-
*/
488+
public function zAdd(string $key, int $score, string $value): int;
489+
490+
public function zCard(string $key): int;
491+
492+
public function zCount(string $key, string $start , string $end): int;
493+
494+
public function zIncrBy(string $key, float $value, mixed $member): float;
495+
496+
public function zLexCount(string $key, string $min, string $max): int;
497+
498+
public function zMscore(string $key, string $member, string ...$other_members): array;
499+
500+
public function zPopMax(string $key, int $value = null): array;
501+
502+
public function zPopMin(string $key, int $value = null): array;
503+
504+
public function zRange(string $key, int $start, int $end, mixed $scores = null): array;
505+
506+
public function zRangeByLex(string $key, string $min, string $max, int $offset = -1, int $count = -1): array;
507+
508+
public function zRangeByScore(string $key, string $start, string $end, array $options = []): array;
509+
510+
public function zRank(string $key, string $member): int;
511+
512+
public function zRem(string $key, string $member, string ...$other_members): int;
513+
514+
public function zRemRangeByLex(string $key, string $min, string $max): int;
515+
516+
public function zRemRangeByRank(string $key, int $start, int $end): int;
517+
518+
public function zRemRangeByScore(string $key, string $start, string $end): int;
519+
520+
public function zRevRange(string $key, int $start, int $end, mixed $scores = null): array;
521+
522+
public function zRevRangeByLex(string $key, string $min, string $max, int $offset = -1, int $count = -1): array;
523+
524+
public function zRevRangeByScore(string $key, string $start, string $end, array $options = []): array;
525+
526+
public function zRevRank(string $key, string $member): int;
527+
528+
public function zScore(string $key, mixed $member): float;
529+
530+
public function zdiff(array $keys, array $options = null): array;
531+
532+
public function zdiffstore(string $dst, array $keys, array $options = null): int;
533+
534+
public function zinter(array $keys, array $weights = null, array $options = null): array;
535+
536+
public function zinterstore(string $dst, array $keys, array $weights = null, string $aggregate = null): int;
537+
538+
public function zscan(string $key, int &$iterator, ?string $pattern = null, int $count = 0): bool|array;
539+
540+
public function zunion(array $keys, array $weights = null, array $options = null): array;
541+
542+
public function zunionstore(string $dst, array $keys, array $weights = null, string $aggregate = null): int;
543+
}

redis_arginfo.h

Lines changed: 172 additions & 2 deletions
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: bd4e41e930b7d0c585a0b800c99d39cc0a9a1325 */
2+
* Stub hash: 5b7df02bd08341bc68ca6717d5486aff1393c83f */
33

44
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis___construct, 0, 0, 0)
55
ZEND_END_ARG_INFO()
@@ -332,7 +332,7 @@ ZEND_END_ARG_INFO()
332332

333333
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_Redis_hscan, 0, 2, MAY_BE_BOOL|MAY_BE_ARRAY)
334334
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
335-
ZEND_ARG_TYPE_INFO(0, iterator, IS_LONG, 0)
335+
ZEND_ARG_TYPE_INFO(1, iterator, IS_LONG, 0)
336336
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pattern, IS_STRING, 1, "null")
337337
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "0")
338338
ZEND_END_ARG_INFO()
@@ -798,6 +798,120 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_xtrim, 0, 2, IS_LONG
798798
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, approx, _IS_BOOL, 0, "false")
799799
ZEND_END_ARG_INFO()
800800

801+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_zAdd, 0, 3, IS_LONG, 0)
802+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
803+
ZEND_ARG_TYPE_INFO(0, score, IS_LONG, 0)
804+
ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
805+
ZEND_END_ARG_INFO()
806+
807+
#define arginfo_class_Redis_zCard arginfo_class_Redis_hLen
808+
809+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_zCount, 0, 3, IS_LONG, 0)
810+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
811+
ZEND_ARG_TYPE_INFO(0, start, IS_STRING, 0)
812+
ZEND_ARG_TYPE_INFO(0, end, IS_STRING, 0)
813+
ZEND_END_ARG_INFO()
814+
815+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_zIncrBy, 0, 3, IS_DOUBLE, 0)
816+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
817+
ZEND_ARG_TYPE_INFO(0, value, IS_DOUBLE, 0)
818+
ZEND_ARG_TYPE_INFO(0, member, IS_MIXED, 0)
819+
ZEND_END_ARG_INFO()
820+
821+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_zLexCount, 0, 3, IS_LONG, 0)
822+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
823+
ZEND_ARG_TYPE_INFO(0, min, IS_STRING, 0)
824+
ZEND_ARG_TYPE_INFO(0, max, IS_STRING, 0)
825+
ZEND_END_ARG_INFO()
826+
827+
#define arginfo_class_Redis_zMscore arginfo_class_Redis_geohash
828+
829+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_zPopMax, 0, 1, IS_ARRAY, 0)
830+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
831+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, value, IS_LONG, 0, "null")
832+
ZEND_END_ARG_INFO()
833+
834+
#define arginfo_class_Redis_zPopMin arginfo_class_Redis_zPopMax
835+
836+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_zRange, 0, 3, IS_ARRAY, 0)
837+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
838+
ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0)
839+
ZEND_ARG_TYPE_INFO(0, end, IS_LONG, 0)
840+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, scores, IS_MIXED, 0, "null")
841+
ZEND_END_ARG_INFO()
842+
843+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_zRangeByLex, 0, 3, IS_ARRAY, 0)
844+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
845+
ZEND_ARG_TYPE_INFO(0, min, IS_STRING, 0)
846+
ZEND_ARG_TYPE_INFO(0, max, IS_STRING, 0)
847+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "-1")
848+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "-1")
849+
ZEND_END_ARG_INFO()
850+
851+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_zRangeByScore, 0, 3, IS_ARRAY, 0)
852+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
853+
ZEND_ARG_TYPE_INFO(0, start, IS_STRING, 0)
854+
ZEND_ARG_TYPE_INFO(0, end, IS_STRING, 0)
855+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "[]")
856+
ZEND_END_ARG_INFO()
857+
858+
#define arginfo_class_Redis_zRank arginfo_class_Redis_hStrLen
859+
860+
#define arginfo_class_Redis_zRem arginfo_class_Redis_hDel
861+
862+
#define arginfo_class_Redis_zRemRangeByLex arginfo_class_Redis_zLexCount
863+
864+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_zRemRangeByRank, 0, 3, IS_LONG, 0)
865+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
866+
ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0)
867+
ZEND_ARG_TYPE_INFO(0, end, IS_LONG, 0)
868+
ZEND_END_ARG_INFO()
869+
870+
#define arginfo_class_Redis_zRemRangeByScore arginfo_class_Redis_zCount
871+
872+
#define arginfo_class_Redis_zRevRange arginfo_class_Redis_zRange
873+
874+
#define arginfo_class_Redis_zRevRangeByLex arginfo_class_Redis_zRangeByLex
875+
876+
#define arginfo_class_Redis_zRevRangeByScore arginfo_class_Redis_zRangeByScore
877+
878+
#define arginfo_class_Redis_zRevRank arginfo_class_Redis_hStrLen
879+
880+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_zScore, 0, 2, IS_DOUBLE, 0)
881+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
882+
ZEND_ARG_TYPE_INFO(0, member, IS_MIXED, 0)
883+
ZEND_END_ARG_INFO()
884+
885+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_zdiff, 0, 1, IS_ARRAY, 0)
886+
ZEND_ARG_TYPE_INFO(0, keys, IS_ARRAY, 0)
887+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "null")
888+
ZEND_END_ARG_INFO()
889+
890+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_zdiffstore, 0, 2, IS_LONG, 0)
891+
ZEND_ARG_TYPE_INFO(0, dst, IS_STRING, 0)
892+
ZEND_ARG_TYPE_INFO(0, keys, IS_ARRAY, 0)
893+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "null")
894+
ZEND_END_ARG_INFO()
895+
896+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_zinter, 0, 1, IS_ARRAY, 0)
897+
ZEND_ARG_TYPE_INFO(0, keys, IS_ARRAY, 0)
898+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, weights, IS_ARRAY, 0, "null")
899+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "null")
900+
ZEND_END_ARG_INFO()
901+
902+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Redis_zinterstore, 0, 2, IS_LONG, 0)
903+
ZEND_ARG_TYPE_INFO(0, dst, IS_STRING, 0)
904+
ZEND_ARG_TYPE_INFO(0, keys, IS_ARRAY, 0)
905+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, weights, IS_ARRAY, 0, "null")
906+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, aggregate, IS_STRING, 0, "null")
907+
ZEND_END_ARG_INFO()
908+
909+
#define arginfo_class_Redis_zscan arginfo_class_Redis_hscan
910+
911+
#define arginfo_class_Redis_zunion arginfo_class_Redis_zinter
912+
913+
#define arginfo_class_Redis_zunionstore arginfo_class_Redis_zinterstore
914+
801915

802916
ZEND_METHOD(Redis, __construct);
803917
ZEND_METHOD(Redis, _compress);
@@ -989,6 +1103,34 @@ ZEND_METHOD(Redis, xread);
9891103
ZEND_METHOD(Redis, xreadgroup);
9901104
ZEND_METHOD(Redis, xrevrange);
9911105
ZEND_METHOD(Redis, xtrim);
1106+
ZEND_METHOD(Redis, zAdd);
1107+
ZEND_METHOD(Redis, zCard);
1108+
ZEND_METHOD(Redis, zCount);
1109+
ZEND_METHOD(Redis, zIncrBy);
1110+
ZEND_METHOD(Redis, zLexCount);
1111+
ZEND_METHOD(Redis, zMscore);
1112+
ZEND_METHOD(Redis, zPopMax);
1113+
ZEND_METHOD(Redis, zPopMin);
1114+
ZEND_METHOD(Redis, zRange);
1115+
ZEND_METHOD(Redis, zRangeByLex);
1116+
ZEND_METHOD(Redis, zRangeByScore);
1117+
ZEND_METHOD(Redis, zRank);
1118+
ZEND_METHOD(Redis, zRem);
1119+
ZEND_METHOD(Redis, zRemRangeByLex);
1120+
ZEND_METHOD(Redis, zRemRangeByRank);
1121+
ZEND_METHOD(Redis, zRemRangeByScore);
1122+
ZEND_METHOD(Redis, zRevRange);
1123+
ZEND_METHOD(Redis, zRevRangeByLex);
1124+
ZEND_METHOD(Redis, zRevRangeByScore);
1125+
ZEND_METHOD(Redis, zRevRank);
1126+
ZEND_METHOD(Redis, zScore);
1127+
ZEND_METHOD(Redis, zdiff);
1128+
ZEND_METHOD(Redis, zdiffstore);
1129+
ZEND_METHOD(Redis, zinter);
1130+
ZEND_METHOD(Redis, zinterstore);
1131+
ZEND_METHOD(Redis, zscan);
1132+
ZEND_METHOD(Redis, zunion);
1133+
ZEND_METHOD(Redis, zunionstore);
9921134

9931135

9941136
static const zend_function_entry class_Redis_methods[] = {
@@ -1185,5 +1327,33 @@ static const zend_function_entry class_Redis_methods[] = {
11851327
ZEND_ME(Redis, xreadgroup, arginfo_class_Redis_xreadgroup, ZEND_ACC_PUBLIC)
11861328
ZEND_ME(Redis, xrevrange, arginfo_class_Redis_xrevrange, ZEND_ACC_PUBLIC)
11871329
ZEND_ME(Redis, xtrim, arginfo_class_Redis_xtrim, ZEND_ACC_PUBLIC)
1330+
ZEND_ME(Redis, zAdd, arginfo_class_Redis_zAdd, ZEND_ACC_PUBLIC)
1331+
ZEND_ME(Redis, zCard, arginfo_class_Redis_zCard, ZEND_ACC_PUBLIC)
1332+
ZEND_ME(Redis, zCount, arginfo_class_Redis_zCount, ZEND_ACC_PUBLIC)
1333+
ZEND_ME(Redis, zIncrBy, arginfo_class_Redis_zIncrBy, ZEND_ACC_PUBLIC)
1334+
ZEND_ME(Redis, zLexCount, arginfo_class_Redis_zLexCount, ZEND_ACC_PUBLIC)
1335+
ZEND_ME(Redis, zMscore, arginfo_class_Redis_zMscore, ZEND_ACC_PUBLIC)
1336+
ZEND_ME(Redis, zPopMax, arginfo_class_Redis_zPopMax, ZEND_ACC_PUBLIC)
1337+
ZEND_ME(Redis, zPopMin, arginfo_class_Redis_zPopMin, ZEND_ACC_PUBLIC)
1338+
ZEND_ME(Redis, zRange, arginfo_class_Redis_zRange, ZEND_ACC_PUBLIC)
1339+
ZEND_ME(Redis, zRangeByLex, arginfo_class_Redis_zRangeByLex, ZEND_ACC_PUBLIC)
1340+
ZEND_ME(Redis, zRangeByScore, arginfo_class_Redis_zRangeByScore, ZEND_ACC_PUBLIC)
1341+
ZEND_ME(Redis, zRank, arginfo_class_Redis_zRank, ZEND_ACC_PUBLIC)
1342+
ZEND_ME(Redis, zRem, arginfo_class_Redis_zRem, ZEND_ACC_PUBLIC)
1343+
ZEND_ME(Redis, zRemRangeByLex, arginfo_class_Redis_zRemRangeByLex, ZEND_ACC_PUBLIC)
1344+
ZEND_ME(Redis, zRemRangeByRank, arginfo_class_Redis_zRemRangeByRank, ZEND_ACC_PUBLIC)
1345+
ZEND_ME(Redis, zRemRangeByScore, arginfo_class_Redis_zRemRangeByScore, ZEND_ACC_PUBLIC)
1346+
ZEND_ME(Redis, zRevRange, arginfo_class_Redis_zRevRange, ZEND_ACC_PUBLIC)
1347+
ZEND_ME(Redis, zRevRangeByLex, arginfo_class_Redis_zRevRangeByLex, ZEND_ACC_PUBLIC)
1348+
ZEND_ME(Redis, zRevRangeByScore, arginfo_class_Redis_zRevRangeByScore, ZEND_ACC_PUBLIC)
1349+
ZEND_ME(Redis, zRevRank, arginfo_class_Redis_zRevRank, ZEND_ACC_PUBLIC)
1350+
ZEND_ME(Redis, zScore, arginfo_class_Redis_zScore, ZEND_ACC_PUBLIC)
1351+
ZEND_ME(Redis, zdiff, arginfo_class_Redis_zdiff, ZEND_ACC_PUBLIC)
1352+
ZEND_ME(Redis, zdiffstore, arginfo_class_Redis_zdiffstore, ZEND_ACC_PUBLIC)
1353+
ZEND_ME(Redis, zinter, arginfo_class_Redis_zinter, ZEND_ACC_PUBLIC)
1354+
ZEND_ME(Redis, zinterstore, arginfo_class_Redis_zinterstore, ZEND_ACC_PUBLIC)
1355+
ZEND_ME(Redis, zscan, arginfo_class_Redis_zscan, ZEND_ACC_PUBLIC)
1356+
ZEND_ME(Redis, zunion, arginfo_class_Redis_zunion, ZEND_ACC_PUBLIC)
1357+
ZEND_ME(Redis, zunionstore, arginfo_class_Redis_zunionstore, ZEND_ACC_PUBLIC)
11881358
ZEND_FE_END
11891359
};

0 commit comments

Comments
 (0)