diff options
-rw-r--r-- | common.h | 428 | ||||
-rw-r--r-- | php_redis.h | 242 | ||||
-rw-r--r-- | redis.c | 410 | ||||
-rw-r--r-- | redis.stub.php | 180 | ||||
-rw-r--r-- | redis_arginfo.h | 7 | ||||
-rw-r--r-- | redis_legacy_arginfo.h | 7 |
6 files changed, 193 insertions, 1081 deletions
@@ -334,432 +334,6 @@ typedef struct { zend_object std; } redis_object; -/** Argument info for any function expecting 0 args */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_void, 0, 0, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_key, 0, 0, 1) - ZEND_ARG_INFO(0, key) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_value, 0, 0, 1) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_key_value, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_key_expire_value, 0, 0, 3) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, expire) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_key_newkey, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, newkey) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_pairs, 0, 0, 1) - ZEND_ARG_ARRAY_INFO(0, pairs, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_nkeys, 0, 0, 1) - ZEND_ARG_INFO(0, key) - ZEND_ARG_VARIADIC_INFO(0, other_keys) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_dst_nkeys, 0, 0, 2) - ZEND_ARG_INFO(0, dst) - ZEND_ARG_INFO(0, key) - ZEND_ARG_VARIADIC_INFO(0, other_keys) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_key_min_max, 0, 0, 3) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, min) - ZEND_ARG_INFO(0, max) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_key_member, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, member) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_key_member_value, 0, 0, 3) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, member) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_key_members, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, member) - ZEND_ARG_VARIADIC_INFO(0, other_members) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_key_timestamp, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, timestamp) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_key_offset, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, offset) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_key_offset_value, 0, 0, 3) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, offset) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_swapdb, 0, 0, 2) - ZEND_ARG_INFO(0, srcdb) - ZEND_ARG_INFO(0, dstdb) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_key_start_end, 0, 0, 3) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, start) - ZEND_ARG_INFO(0, end) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_echo, 0, 0, 1) - ZEND_ARG_INFO(0, msg) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_expire, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, timeout) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_set, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, value) - ZEND_ARG_INFO(0, opts) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_lset, 0, 0, 3) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, index) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_blrpop, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, timeout_or_key) - ZEND_ARG_VARIADIC_INFO(0, extra_args) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_linsert, 0, 0, 4) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, position) - ZEND_ARG_INFO(0, pivot) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_lindex, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, index) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_brpoplpush, 0, 0, 3) - ZEND_ARG_INFO(0, src) - ZEND_ARG_INFO(0, dst) - ZEND_ARG_INFO(0, timeout) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_rpoplpush, 0, 0, 2) - ZEND_ARG_INFO(0, src) - ZEND_ARG_INFO(0, dst) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_sadd_array, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_ARRAY_INFO(0, options, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_srand_member, 0, 0, 1) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, count) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_zadd, 0, 0, 3) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, score) - ZEND_ARG_INFO(0, value) - ZEND_ARG_VARIADIC_INFO(0, extra_args) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_zincrby, 0, 0, 3) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, value) - ZEND_ARG_INFO(0, member) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_hmget, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_ARRAY_INFO(0, keys, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_hmset, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_ARRAY_INFO(0, pairs, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_bitop, 0, 0, 3) - ZEND_ARG_INFO(0, operation) - ZEND_ARG_INFO(0, ret_key) - ZEND_ARG_INFO(0, key) - ZEND_ARG_VARIADIC_INFO(0, other_keys) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_bitpos, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, bit) - ZEND_ARG_INFO(0, start) - ZEND_ARG_INFO(0, end) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_ltrim, 0, 0, 3) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, start) - ZEND_ARG_INFO(0, stop) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_publish, 0, 0, 2) - ZEND_ARG_INFO(0, channel) - ZEND_ARG_INFO(0, message) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_pfadd, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_ARRAY_INFO(0, elements, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_pfmerge, 0, 0, 2) - ZEND_ARG_INFO(0, dstkey) - ZEND_ARG_ARRAY_INFO(0, keys, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_restore, 0, 0, 3) - ZEND_ARG_INFO(0, ttl) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_smove, 0, 0, 3) - ZEND_ARG_INFO(0, src) - ZEND_ARG_INFO(0, dst) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_zrange, 0, 0, 3) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, start) - ZEND_ARG_INFO(0, end) - ZEND_ARG_INFO(0, scores) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_zrangebyscore, 0, 0, 3) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, start) - ZEND_ARG_INFO(0, end) - ZEND_ARG_ARRAY_INFO(0, options, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_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, limit) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_zstore, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_ARRAY_INFO(0, keys, 0) - ZEND_ARG_ARRAY_INFO(0, weights, 1) - ZEND_ARG_INFO(0, aggregate) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_sort, 0, 0, 1) - ZEND_ARG_INFO(0, key) - ZEND_ARG_ARRAY_INFO(0, options, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_object, 0, 0, 2) - ZEND_ARG_INFO(0, field) - ZEND_ARG_INFO(0, key) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_subscribe, 0, 0, 2) - ZEND_ARG_ARRAY_INFO(0, channels, 0) - ZEND_ARG_INFO(0, callback) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_psubscribe, 0, 0, 2) - ZEND_ARG_ARRAY_INFO(0, patterns, 0) - ZEND_ARG_INFO(0, callback) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_unsubscribe, 0, 0, 1) - ZEND_ARG_INFO(0, channel) - ZEND_ARG_VARIADIC_INFO(0, other_channels) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_punsubscribe, 0, 0, 1) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_VARIADIC_INFO(0, other_patterns) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_eval, 0, 0, 1) - ZEND_ARG_INFO(0, script) - ZEND_ARG_INFO(0, args) - ZEND_ARG_INFO(0, num_keys) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_evalsha, 0, 0, 1) - ZEND_ARG_INFO(0, script_sha) - ZEND_ARG_INFO(0, args) - ZEND_ARG_INFO(0, num_keys) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_getoption, 0, 0, 1) - ZEND_ARG_INFO(0, option) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_setoption, 0, 0, 2) - ZEND_ARG_INFO(0, option) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_watch, 0, 0, 1) - ZEND_ARG_INFO(0, key) - ZEND_ARG_VARIADIC_INFO(0, other_keys) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_command, 0, 0, 0) - ZEND_ARG_VARIADIC_INFO(0, args) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_rawcommand, 0, 0, 1) - ZEND_ARG_INFO(0, cmd) - ZEND_ARG_VARIADIC_INFO(0, args) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_geoadd, 0, 0, 4) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, lng) - ZEND_ARG_INFO(0, lat) - ZEND_ARG_INFO(0, member) - ZEND_ARG_VARIADIC_INFO(0, other_triples) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_geodist, 0, 0, 3) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, src) - ZEND_ARG_INFO(0, dst) - ZEND_ARG_INFO(0, unit) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_georadius, 0, 0, 5) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, lng) - ZEND_ARG_INFO(0, lan) - ZEND_ARG_INFO(0, radius) - ZEND_ARG_INFO(0, unit) - ZEND_ARG_ARRAY_INFO(0, opts, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_georadiusbymember, 0, 0, 4) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, member) - ZEND_ARG_INFO(0, radius) - ZEND_ARG_INFO(0, unit) - ZEND_ARG_ARRAY_INFO(0, opts, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_xadd, 0, 0, 3) - ZEND_ARG_INFO(0, str_key) - ZEND_ARG_INFO(0, str_id) - ZEND_ARG_ARRAY_INFO(0, arr_fields, 0) - ZEND_ARG_INFO(0, i_maxlen) - ZEND_ARG_INFO(0, boo_approximate) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_xpending, 0, 0, 2) - ZEND_ARG_INFO(0, str_key) - ZEND_ARG_INFO(0, str_group) - ZEND_ARG_INFO(0, str_start) - ZEND_ARG_INFO(0, str_end) - ZEND_ARG_INFO(0, i_count) - ZEND_ARG_INFO(0, str_consumer) - ZEND_ARG_INFO(0, idle) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_xrange, 0, 0, 3) - ZEND_ARG_INFO(0, str_key) - ZEND_ARG_INFO(0, str_start) - ZEND_ARG_INFO(0, str_end) - ZEND_ARG_INFO(0, i_count) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_xread, 0, 0, 1) - ZEND_ARG_ARRAY_INFO(0, arr_streams, 0) - ZEND_ARG_INFO(0, i_count) - ZEND_ARG_INFO(0, i_block) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_xreadgroup, 0, 0, 3) - ZEND_ARG_INFO(0, str_group) - ZEND_ARG_INFO(0, str_consumer) - ZEND_ARG_ARRAY_INFO(0, arr_streams, 0) - ZEND_ARG_INFO(0, i_count) - ZEND_ARG_INFO(0, i_block) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_xack, 0, 0, 3) - ZEND_ARG_INFO(0, str_key) - ZEND_ARG_INFO(0, str_group) - ZEND_ARG_ARRAY_INFO(0, arr_ids, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_xclaim, 0, 0, 5) - ZEND_ARG_INFO(0, str_key) - ZEND_ARG_INFO(0, str_group) - ZEND_ARG_INFO(0, str_consumer) - ZEND_ARG_INFO(0, i_min_idle) - ZEND_ARG_ARRAY_INFO(0, arr_ids, 0) - ZEND_ARG_ARRAY_INFO(0, arr_opts, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_xgroup, 0, 0, 1) - ZEND_ARG_INFO(0, str_operation) - ZEND_ARG_INFO(0, str_key) - ZEND_ARG_INFO(0, str_arg1) - ZEND_ARG_INFO(0, str_arg2) - ZEND_ARG_INFO(0, str_arg3) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_xinfo, 0, 0, 1) - ZEND_ARG_INFO(0, str_cmd) - ZEND_ARG_INFO(0, str_key) - ZEND_ARG_INFO(0, str_group) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_xtrim, 0, 0, 2) - ZEND_ARG_INFO(0, str_key) - ZEND_ARG_INFO(0, i_maxlen) - ZEND_ARG_INFO(0, boo_approximate) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_xdel, 0, 0, 2) - ZEND_ARG_INFO(0, str_key) - ZEND_ARG_ARRAY_INFO(0, arr_ids, 0) -ZEND_END_ARG_INFO() +extern const zend_function_entry *redis_get_methods(void); #endif diff --git a/php_redis.h b/php_redis.h index a0c5de40..2c9ec50f 100644 --- a/php_redis.h +++ b/php_redis.h @@ -25,248 +25,6 @@ /* phpredis version */ #define PHP_REDIS_VERSION "5.3.2" -PHP_METHOD(Redis, __construct); -PHP_METHOD(Redis, __destruct); -PHP_METHOD(Redis, acl); -PHP_METHOD(Redis, append); -PHP_METHOD(Redis, auth); -PHP_METHOD(Redis, bgSave); -PHP_METHOD(Redis, bgrewriteaof); -PHP_METHOD(Redis, bitcount); -PHP_METHOD(Redis, bitop); -PHP_METHOD(Redis, bitpos); -PHP_METHOD(Redis, blPop); -PHP_METHOD(Redis, brPop); -PHP_METHOD(Redis, bzPopMax); -PHP_METHOD(Redis, bzPopMin); -PHP_METHOD(Redis, close); -PHP_METHOD(Redis, connect); -PHP_METHOD(Redis, copy); -PHP_METHOD(Redis, dbSize); -PHP_METHOD(Redis, decr); -PHP_METHOD(Redis, decrBy); -PHP_METHOD(Redis, del); -PHP_METHOD(Redis, echo); -PHP_METHOD(Redis, exists); -PHP_METHOD(Redis, expire); -PHP_METHOD(Redis, expireAt); -PHP_METHOD(Redis, flushAll); -PHP_METHOD(Redis, flushDB); -PHP_METHOD(Redis, get); -PHP_METHOD(Redis, getBit); -PHP_METHOD(Redis, getRange); -PHP_METHOD(Redis, getSet); -PHP_METHOD(Redis, incr); -PHP_METHOD(Redis, incrBy); -PHP_METHOD(Redis, incrByFloat); -PHP_METHOD(Redis, info); -PHP_METHOD(Redis, keys); -PHP_METHOD(Redis, lInsert); -PHP_METHOD(Redis, lLen); -PHP_METHOD(Redis, lMove); -PHP_METHOD(Redis, lPop); -PHP_METHOD(Redis, lPush); -PHP_METHOD(Redis, lPushx); -PHP_METHOD(Redis, lSet); -PHP_METHOD(Redis, lastSave); -PHP_METHOD(Redis, lindex); -PHP_METHOD(Redis, lrange); -PHP_METHOD(Redis, lrem); -PHP_METHOD(Redis, ltrim); -PHP_METHOD(Redis, mget); -PHP_METHOD(Redis, move); -PHP_METHOD(Redis, object); -PHP_METHOD(Redis, pconnect); -PHP_METHOD(Redis, persist); -PHP_METHOD(Redis, pexpire); -PHP_METHOD(Redis, pexpireAt); -PHP_METHOD(Redis, ping); -PHP_METHOD(Redis, psetex); -PHP_METHOD(Redis, pttl); -PHP_METHOD(Redis, rPop); -PHP_METHOD(Redis, rPush); -PHP_METHOD(Redis, rPushx); -PHP_METHOD(Redis, randomKey); -PHP_METHOD(Redis, rename); -PHP_METHOD(Redis, renameNx); -PHP_METHOD(Redis, sAdd); -PHP_METHOD(Redis, sAddArray); -PHP_METHOD(Redis, sDiff); -PHP_METHOD(Redis, sDiffStore); -PHP_METHOD(Redis, sInter); -PHP_METHOD(Redis, sInterStore); -PHP_METHOD(Redis, sMembers); -PHP_METHOD(Redis, sMisMember); -PHP_METHOD(Redis, sMove); -PHP_METHOD(Redis, sPop); -PHP_METHOD(Redis, sRandMember); -PHP_METHOD(Redis, sUnion); -PHP_METHOD(Redis, sUnionStore); -PHP_METHOD(Redis, save); -PHP_METHOD(Redis, scard); -PHP_METHOD(Redis, select); -PHP_METHOD(Redis, set); -PHP_METHOD(Redis, setBit); -PHP_METHOD(Redis, setRange); -PHP_METHOD(Redis, setex); -PHP_METHOD(Redis, setnx); -PHP_METHOD(Redis, sismember); -PHP_METHOD(Redis, slaveof); -PHP_METHOD(Redis, sort); -PHP_METHOD(Redis, sortAsc); -PHP_METHOD(Redis, sortAscAlpha); -PHP_METHOD(Redis, sortDesc); -PHP_METHOD(Redis, sortDescAlpha); -PHP_METHOD(Redis, srem); -PHP_METHOD(Redis, strlen); -PHP_METHOD(Redis, swapdb); -PHP_METHOD(Redis, ttl); -PHP_METHOD(Redis, type); -PHP_METHOD(Redis, unlink); -PHP_METHOD(Redis, zAdd); -PHP_METHOD(Redis, zCard); -PHP_METHOD(Redis, zCount); -PHP_METHOD(Redis, zIncrBy); -PHP_METHOD(Redis, zLexCount); -PHP_METHOD(Redis, zMscore); -PHP_METHOD(Redis, zPopMax); -PHP_METHOD(Redis, zPopMin); -PHP_METHOD(Redis, zRange); -PHP_METHOD(Redis, zRangeByLex); -PHP_METHOD(Redis, zRangeByScore); -PHP_METHOD(Redis, zRank); -PHP_METHOD(Redis, zRem); -PHP_METHOD(Redis, zRemRangeByLex); -PHP_METHOD(Redis, zRemRangeByRank); -PHP_METHOD(Redis, zRemRangeByScore); -PHP_METHOD(Redis, zRevRange); -PHP_METHOD(Redis, zRevRangeByLex); -PHP_METHOD(Redis, zRevRangeByScore); -PHP_METHOD(Redis, zRevRank); -PHP_METHOD(Redis, zScore); -PHP_METHOD(Redis, zdiff); -PHP_METHOD(Redis, zdiffstore); -PHP_METHOD(Redis, zinter); -PHP_METHOD(Redis, zinterstore); -PHP_METHOD(Redis, zunion); -PHP_METHOD(Redis, zunionstore); - -PHP_METHOD(Redis, eval); -PHP_METHOD(Redis, evalsha); -PHP_METHOD(Redis, script); -PHP_METHOD(Redis, debug); -PHP_METHOD(Redis, dump); -PHP_METHOD(Redis, restore); -PHP_METHOD(Redis, migrate); - -PHP_METHOD(Redis, time); -PHP_METHOD(Redis, role); - -PHP_METHOD(Redis, getLastError); -PHP_METHOD(Redis, clearLastError); -PHP_METHOD(Redis, _prefix); -PHP_METHOD(Redis, _pack); -PHP_METHOD(Redis, _unpack); - -PHP_METHOD(Redis, _serialize); -PHP_METHOD(Redis, _unserialize); - -PHP_METHOD(Redis, _compress); -PHP_METHOD(Redis, _uncompress); - -PHP_METHOD(Redis, mset); -PHP_METHOD(Redis, msetnx); -PHP_METHOD(Redis, rpoplpush); -PHP_METHOD(Redis, brpoplpush); - -PHP_METHOD(Redis, hGet); -PHP_METHOD(Redis, hSet); -PHP_METHOD(Redis, hSetNx); -PHP_METHOD(Redis, hDel); -PHP_METHOD(Redis, hLen); -PHP_METHOD(Redis, hKeys); -PHP_METHOD(Redis, hVals); -PHP_METHOD(Redis, hGetAll); -PHP_METHOD(Redis, hExists); -PHP_METHOD(Redis, hIncrBy); -PHP_METHOD(Redis, hIncrByFloat); -PHP_METHOD(Redis, hMset); -PHP_METHOD(Redis, hMget); -PHP_METHOD(Redis, hStrLen); - -PHP_METHOD(Redis, multi); -PHP_METHOD(Redis, discard); -PHP_METHOD(Redis, exec); -PHP_METHOD(Redis, watch); -PHP_METHOD(Redis, unwatch); - -PHP_METHOD(Redis, pipeline); - -PHP_METHOD(Redis, publish); -PHP_METHOD(Redis, subscribe); -PHP_METHOD(Redis, psubscribe); -PHP_METHOD(Redis, unsubscribe); -PHP_METHOD(Redis, punsubscribe); - -PHP_METHOD(Redis, getOption); -PHP_METHOD(Redis, setOption); - -PHP_METHOD(Redis, config); -PHP_METHOD(Redis, slowlog); -PHP_METHOD(Redis, wait); -PHP_METHOD(Redis, pubsub); - -/* Geoadd and friends */ -PHP_METHOD(Redis, geoadd); -PHP_METHOD(Redis, geohash); -PHP_METHOD(Redis, geopos); -PHP_METHOD(Redis, geodist); -PHP_METHOD(Redis, georadius); -PHP_METHOD(Redis, georadius_ro); -PHP_METHOD(Redis, georadiusbymember); -PHP_METHOD(Redis, georadiusbymember_ro); - -PHP_METHOD(Redis, client); -PHP_METHOD(Redis, command); -PHP_METHOD(Redis, rawcommand); - -/* SCAN and friends */ -PHP_METHOD(Redis, scan); -PHP_METHOD(Redis, hscan); -PHP_METHOD(Redis, sscan); -PHP_METHOD(Redis, zscan); - -/* HyperLogLog commands */ -PHP_METHOD(Redis, pfadd); -PHP_METHOD(Redis, pfcount); -PHP_METHOD(Redis, pfmerge); - -/* STREAMS */ -PHP_METHOD(Redis, xack); -PHP_METHOD(Redis, xadd); -PHP_METHOD(Redis, xclaim); -PHP_METHOD(Redis, xdel); -PHP_METHOD(Redis, xgroup); -PHP_METHOD(Redis, xinfo); -PHP_METHOD(Redis, xlen); -PHP_METHOD(Redis, xpending); -PHP_METHOD(Redis, xrange); -PHP_METHOD(Redis, xread); -PHP_METHOD(Redis, xreadgroup); -PHP_METHOD(Redis, xrevrange); -PHP_METHOD(Redis, xtrim); - -/* Reflection */ -PHP_METHOD(Redis, getHost); -PHP_METHOD(Redis, getPort); -PHP_METHOD(Redis, getDBNum); -PHP_METHOD(Redis, getTimeout); -PHP_METHOD(Redis, getReadTimeout); -PHP_METHOD(Redis, isConnected); -PHP_METHOD(Redis, getPersistentID); -PHP_METHOD(Redis, getAuth); -PHP_METHOD(Redis, getMode); - /* For convenience we store the salt as a printable hex string which requires 2 * characters per byte + 1 for the NULL terminator */ #define REDIS_SALT_BYTES 32 @@ -60,6 +60,17 @@ extern zend_class_entry *redis_sentinel_ce; zend_class_entry *redis_ce; zend_class_entry *redis_exception_ce; +#if PHP_VERSION_ID < 80000 +#include "redis_legacy_arginfo.h" +#else +#include "redis_arginfo.h" +#endif + +extern const zend_function_entry *redis_get_methods(void) +{ + return class_Redis_methods; +} + extern int le_cluster_slot_cache; int le_redis_pconnect; @@ -102,401 +113,6 @@ PHP_INI_BEGIN() PHP_INI_ENTRY("redis.session.lock_wait_time", "20000", PHP_INI_ALL, NULL) PHP_INI_END() -/** {{{ Argument info for commands in redis 1.0 */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_connect, 0, 0, 1) - ZEND_ARG_INFO(0, host) - ZEND_ARG_INFO(0, port) - ZEND_ARG_INFO(0, timeout) - ZEND_ARG_INFO(0, retry_interval) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_zdiff, 0, 0, 1) - ZEND_ARG_ARRAY_INFO(0, keys, 0) - ZEND_ARG_ARRAY_INFO(0, options, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_zinterunion, 0, 0, 1) - ZEND_ARG_ARRAY_INFO(0, keys, 0) - ZEND_ARG_ARRAY_INFO(0, weights, 1) - ZEND_ARG_ARRAY_INFO(0, options, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_zdiffstore, 0, 0, 2) - ZEND_ARG_INFO(0, destination) - ZEND_ARG_ARRAY_INFO(0, keys, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_info, 0, 0, 0) - ZEND_ARG_INFO(0, option) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_multi, 0, 0, 0) - ZEND_ARG_INFO(0, mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_client, 0, 0, 1) - ZEND_ARG_INFO(0, cmd) - ZEND_ARG_VARIADIC_INFO(0, args) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_config, 0, 0, 2) - ZEND_ARG_INFO(0, cmd) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_copy, 0, 0, 2) - ZEND_ARG_INFO(0, source) - ZEND_ARG_INFO(0, destination) - ZEND_ARG_ARRAY_INFO(0, options, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_flush, 0, 0, 0) - ZEND_ARG_INFO(0, async) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_pubsub, 0, 0, 1) - ZEND_ARG_INFO(0, cmd) - ZEND_ARG_VARIADIC_INFO(0, args) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_slowlog, 0, 0, 1) - ZEND_ARG_INFO(0, arg) - ZEND_ARG_INFO(0, option) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_pconnect, 0, 0, 1) - ZEND_ARG_INFO(0, host) - ZEND_ARG_INFO(0, port) - ZEND_ARG_INFO(0, timeout) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mget, 0, 0, 1) - ZEND_ARG_ARRAY_INFO(0, keys, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_lmove, 0, 0, 4) - ZEND_ARG_INFO(0, source) - ZEND_ARG_INFO(0, destination) - ZEND_ARG_INFO(0, wherefrom) - ZEND_ARG_INFO(0, whereto) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_exists, 0, 0, 1) - ZEND_ARG_INFO(0, key) - ZEND_ARG_VARIADIC_INFO(0, other_keys) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_del, 0, 0, 1) - ZEND_ARG_INFO(0, key) - ZEND_ARG_VARIADIC_INFO(0, other_keys) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_keys, 0, 0, 1) - ZEND_ARG_INFO(0, pattern) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_generic_sort, 0, 0, 1) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, get) - ZEND_ARG_INFO(0, start) - ZEND_ARG_INFO(0, end) - ZEND_ARG_INFO(0, getList) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_lrem, 0, 0, 3) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, value) - ZEND_ARG_INFO(0, count) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_auth, 0, 0, 1) - ZEND_ARG_INFO(0, auth) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_select, 0, 0, 1) - ZEND_ARG_INFO(0, dbindex) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_move, 0, 0, 2) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, dbindex) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_slaveof, 0, 0, 0) - ZEND_ARG_INFO(0, host) - ZEND_ARG_INFO(0, port) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_acl, 0, 0, 1) - ZEND_ARG_INFO(0, subcmd) - ZEND_ARG_VARIADIC_INFO(0, args) -ZEND_END_ARG_INFO() - -/* }}} */ - -ZEND_BEGIN_ARG_INFO_EX(arginfo_migrate, 0, 0, 5) - ZEND_ARG_INFO(0, host) - ZEND_ARG_INFO(0, port) - ZEND_ARG_INFO(0, key) - ZEND_ARG_INFO(0, db) - ZEND_ARG_INFO(0, timeout) - ZEND_ARG_INFO(0, copy) - ZEND_ARG_INFO(0, replace) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_wait, 0, 0, 2) - ZEND_ARG_INFO(0, numslaves) - ZEND_ARG_INFO(0, timeout) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_script, 0, 0, 1) - ZEND_ARG_INFO(0, cmd) - ZEND_ARG_VARIADIC_INFO(0, args) -ZEND_END_ARG_INFO() - -/** - * Argument info for the SCAN proper - */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_scan, 0, 0, 1) - ZEND_ARG_INFO(1, i_iterator) - ZEND_ARG_INFO(0, str_pattern) - ZEND_ARG_INFO(0, i_count) -ZEND_END_ARG_INFO() - -/** - * Argument info for key scanning - */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_kscan, 0, 0, 2) - ZEND_ARG_INFO(0, str_key) - ZEND_ARG_INFO(1, i_iterator) - ZEND_ARG_INFO(0, str_pattern) - ZEND_ARG_INFO(0, i_count) -ZEND_END_ARG_INFO() - -static zend_function_entry redis_functions[] = { - PHP_ME(Redis, __construct, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, __destruct, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, _prefix, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, _serialize, arginfo_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, _unserialize, arginfo_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, _pack, arginfo_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, _unpack, arginfo_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, _compress, arginfo_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, _uncompress, arginfo_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, acl, arginfo_acl, ZEND_ACC_PUBLIC) - PHP_ME(Redis, append, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, auth, arginfo_auth, ZEND_ACC_PUBLIC) - PHP_ME(Redis, bgSave, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, bgrewriteaof, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, bitcount, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, bitop, arginfo_bitop, ZEND_ACC_PUBLIC) - PHP_ME(Redis, bitpos, arginfo_bitpos, ZEND_ACC_PUBLIC) - PHP_ME(Redis, blPop, arginfo_blrpop, ZEND_ACC_PUBLIC) - PHP_ME(Redis, brPop, arginfo_blrpop, ZEND_ACC_PUBLIC) - PHP_ME(Redis, brpoplpush, arginfo_brpoplpush, ZEND_ACC_PUBLIC) - PHP_ME(Redis, bzPopMax, arginfo_blrpop, ZEND_ACC_PUBLIC) - PHP_ME(Redis, bzPopMin, arginfo_blrpop, ZEND_ACC_PUBLIC) - PHP_ME(Redis, clearLastError, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, client, arginfo_client, ZEND_ACC_PUBLIC) - PHP_ME(Redis, close, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, command, arginfo_command, ZEND_ACC_PUBLIC) - PHP_ME(Redis, config, arginfo_config, ZEND_ACC_PUBLIC) - PHP_ME(Redis, connect, arginfo_connect, ZEND_ACC_PUBLIC) - PHP_ME(Redis, copy, arginfo_copy, ZEND_ACC_PUBLIC) - PHP_ME(Redis, dbSize, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, debug, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, decr, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, decrBy, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, del, arginfo_del, ZEND_ACC_PUBLIC) - PHP_ME(Redis, discard, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, dump, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, echo, arginfo_echo, ZEND_ACC_PUBLIC) - PHP_ME(Redis, eval, arginfo_eval, ZEND_ACC_PUBLIC) - PHP_ME(Redis, evalsha, arginfo_evalsha, ZEND_ACC_PUBLIC) - PHP_ME(Redis, exec, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, exists, arginfo_exists, ZEND_ACC_PUBLIC) - PHP_ME(Redis, expire, arginfo_expire, ZEND_ACC_PUBLIC) - PHP_ME(Redis, expireAt, arginfo_key_timestamp, ZEND_ACC_PUBLIC) - PHP_ME(Redis, flushAll, arginfo_flush, ZEND_ACC_PUBLIC) - PHP_ME(Redis, flushDB, arginfo_flush, ZEND_ACC_PUBLIC) - PHP_ME(Redis, geoadd, arginfo_geoadd, ZEND_ACC_PUBLIC) - PHP_ME(Redis, geodist, arginfo_geodist, ZEND_ACC_PUBLIC) - PHP_ME(Redis, geohash, arginfo_key_members, ZEND_ACC_PUBLIC) - PHP_ME(Redis, geopos, arginfo_key_members, ZEND_ACC_PUBLIC) - PHP_ME(Redis, georadius, arginfo_georadius, ZEND_ACC_PUBLIC) - PHP_ME(Redis, georadius_ro, arginfo_georadius, ZEND_ACC_PUBLIC) - PHP_ME(Redis, georadiusbymember, arginfo_georadiusbymember, ZEND_ACC_PUBLIC) - PHP_ME(Redis, georadiusbymember_ro, arginfo_georadiusbymember, ZEND_ACC_PUBLIC) - PHP_ME(Redis, get, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, getAuth, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, getBit, arginfo_key_offset, ZEND_ACC_PUBLIC) - PHP_ME(Redis, getDBNum, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, getHost, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, getLastError, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, getMode, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, getOption, arginfo_getoption, ZEND_ACC_PUBLIC) - PHP_ME(Redis, getPersistentID, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, getPort, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, getRange, arginfo_key_start_end, ZEND_ACC_PUBLIC) - PHP_ME(Redis, getReadTimeout, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, getSet, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, getTimeout, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hDel, arginfo_key_members, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hExists, arginfo_key_member, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hGet, arginfo_key_member, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hGetAll, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hIncrBy, arginfo_key_member_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hIncrByFloat, arginfo_key_member_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hKeys, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hLen, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hMget, arginfo_hmget, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hMset, arginfo_hmset, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hSet, arginfo_key_member_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hSetNx, arginfo_key_member_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hStrLen, arginfo_key_member, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hVals, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, hscan, arginfo_kscan, ZEND_ACC_PUBLIC) - PHP_ME(Redis, incr, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, incrBy, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, incrByFloat, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, info, arginfo_info, ZEND_ACC_PUBLIC) - PHP_ME(Redis, isConnected, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, keys, arginfo_keys, ZEND_ACC_PUBLIC) - PHP_ME(Redis, lInsert, arginfo_linsert, ZEND_ACC_PUBLIC) - PHP_ME(Redis, lLen, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, lMove, arginfo_lmove, ZEND_ACC_PUBLIC) - PHP_ME(Redis, lPop, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, lPush, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, lPushx, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, lSet, arginfo_lset, ZEND_ACC_PUBLIC) - PHP_ME(Redis, lastSave, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, lindex, arginfo_lindex, ZEND_ACC_PUBLIC) - PHP_ME(Redis, lrange, arginfo_key_start_end, ZEND_ACC_PUBLIC) - PHP_ME(Redis, lrem, arginfo_lrem, ZEND_ACC_PUBLIC) - PHP_ME(Redis, ltrim, arginfo_ltrim, ZEND_ACC_PUBLIC) - PHP_ME(Redis, mget, arginfo_mget, ZEND_ACC_PUBLIC) - PHP_ME(Redis, migrate, arginfo_migrate, ZEND_ACC_PUBLIC) - PHP_ME(Redis, move, arginfo_move, ZEND_ACC_PUBLIC) - PHP_ME(Redis, mset, arginfo_pairs, ZEND_ACC_PUBLIC) - PHP_ME(Redis, msetnx, arginfo_pairs, ZEND_ACC_PUBLIC) - PHP_ME(Redis, multi, arginfo_multi, ZEND_ACC_PUBLIC) - PHP_ME(Redis, object, arginfo_object, ZEND_ACC_PUBLIC) - PHP_ME(Redis, pconnect, arginfo_pconnect, ZEND_ACC_PUBLIC) - PHP_ME(Redis, persist, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, pexpire, arginfo_key_timestamp, ZEND_ACC_PUBLIC) - PHP_ME(Redis, pexpireAt, arginfo_key_timestamp, ZEND_ACC_PUBLIC) - PHP_ME(Redis, pfadd, arginfo_pfadd, ZEND_ACC_PUBLIC) - PHP_ME(Redis, pfcount, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, pfmerge, arginfo_pfmerge, ZEND_ACC_PUBLIC) - PHP_ME(Redis, ping, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, pipeline, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, psetex, arginfo_key_expire_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, psubscribe, arginfo_psubscribe, ZEND_ACC_PUBLIC) - PHP_ME(Redis, pttl, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, publish, arginfo_publish, ZEND_ACC_PUBLIC) - PHP_ME(Redis, pubsub, arginfo_pubsub, ZEND_ACC_PUBLIC) - PHP_ME(Redis, punsubscribe, arginfo_punsubscribe, ZEND_ACC_PUBLIC) - PHP_ME(Redis, rPop, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, rPush, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, rPushx, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, randomKey, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, rawcommand, arginfo_rawcommand, ZEND_ACC_PUBLIC) - PHP_ME(Redis, rename, arginfo_key_newkey, ZEND_ACC_PUBLIC) - PHP_ME(Redis, renameNx, arginfo_key_newkey, ZEND_ACC_PUBLIC) - PHP_ME(Redis, restore, arginfo_restore, ZEND_ACC_PUBLIC) - PHP_ME(Redis, role, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, rpoplpush, arginfo_rpoplpush, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sAdd, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sAddArray, arginfo_sadd_array, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sDiff, arginfo_nkeys, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sDiffStore, arginfo_dst_nkeys, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sInter, arginfo_nkeys, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sInterStore, arginfo_dst_nkeys, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sMembers, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sMisMember, arginfo_key_members, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sMove, arginfo_smove, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sPop, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sRandMember, arginfo_srand_member, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sUnion, arginfo_nkeys, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sUnionStore, arginfo_dst_nkeys, ZEND_ACC_PUBLIC) - PHP_ME(Redis, save, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, scan, arginfo_scan, ZEND_ACC_PUBLIC) - PHP_ME(Redis, scard, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, script, arginfo_script, ZEND_ACC_PUBLIC) - PHP_ME(Redis, select, arginfo_select, ZEND_ACC_PUBLIC) - PHP_ME(Redis, set, arginfo_set, ZEND_ACC_PUBLIC) - PHP_ME(Redis, setBit, arginfo_key_offset_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, setOption, arginfo_setoption, ZEND_ACC_PUBLIC) - PHP_ME(Redis, setRange, arginfo_key_offset_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, setex, arginfo_key_expire_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, setnx, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sismember, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(Redis, slaveof, arginfo_slaveof, ZEND_ACC_PUBLIC) - PHP_ME(Redis, slowlog, arginfo_slowlog, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sort, arginfo_sort, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sortAsc, arginfo_generic_sort, ZEND_ACC_PUBLIC | ZEND_ACC_DEPRECATED) - PHP_ME(Redis, sortAscAlpha, arginfo_generic_sort, ZEND_ACC_PUBLIC | ZEND_ACC_DEPRECATED) - PHP_ME(Redis, sortDesc, arginfo_generic_sort, ZEND_ACC_PUBLIC | ZEND_ACC_DEPRECATED) - PHP_ME(Redis, sortDescAlpha, arginfo_generic_sort, ZEND_ACC_PUBLIC | ZEND_ACC_DEPRECATED) - PHP_ME(Redis, srem, arginfo_key_members, ZEND_ACC_PUBLIC) - PHP_ME(Redis, sscan, arginfo_kscan, ZEND_ACC_PUBLIC) - PHP_ME(Redis, strlen, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, subscribe, arginfo_subscribe, ZEND_ACC_PUBLIC) - PHP_ME(Redis, swapdb, arginfo_swapdb, ZEND_ACC_PUBLIC) - PHP_ME(Redis, time, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, ttl, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, type, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, unlink, arginfo_nkeys, ZEND_ACC_PUBLIC) - PHP_ME(Redis, unsubscribe, arginfo_unsubscribe, ZEND_ACC_PUBLIC) - PHP_ME(Redis, unwatch, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(Redis, wait, arginfo_wait, ZEND_ACC_PUBLIC) - PHP_ME(Redis, watch, arginfo_watch, ZEND_ACC_PUBLIC) - PHP_ME(Redis, xack, arginfo_xack, ZEND_ACC_PUBLIC) - PHP_ME(Redis, xadd, arginfo_xadd, ZEND_ACC_PUBLIC) - PHP_ME(Redis, xclaim, arginfo_xclaim, ZEND_ACC_PUBLIC) - PHP_ME(Redis, xdel, arginfo_xdel, ZEND_ACC_PUBLIC) - PHP_ME(Redis, xgroup, arginfo_xgroup, ZEND_ACC_PUBLIC) - PHP_ME(Redis, xinfo, arginfo_xinfo, ZEND_ACC_PUBLIC) - PHP_ME(Redis, xlen, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, xpending, arginfo_xpending, ZEND_ACC_PUBLIC) - PHP_ME(Redis, xrange, arginfo_xrange, ZEND_ACC_PUBLIC) - PHP_ME(Redis, xread, arginfo_xread, ZEND_ACC_PUBLIC) - PHP_ME(Redis, xreadgroup, arginfo_xreadgroup, ZEND_ACC_PUBLIC) - PHP_ME(Redis, xrevrange, arginfo_xrange, ZEND_ACC_PUBLIC) - PHP_ME(Redis, xtrim, arginfo_xtrim, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zAdd, arginfo_zadd, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zCard, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zCount, arginfo_key_min_max, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zIncrBy, arginfo_zincrby, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zLexCount, arginfo_key_min_max, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zMscore, arginfo_key_members, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zPopMax, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zPopMin, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zRange, arginfo_zrange, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zRangeByLex, arginfo_zrangebylex, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zRangeByScore, arginfo_zrangebyscore, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zRank, arginfo_key_member, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zRem, arginfo_key_members, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zRemRangeByLex, arginfo_key_min_max, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zRemRangeByRank, arginfo_key_start_end, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zRemRangeByScore, arginfo_key_min_max, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zRevRange, arginfo_zrange, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zRevRangeByLex, arginfo_zrangebylex, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zRevRangeByScore, arginfo_zrangebyscore, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zRevRank, arginfo_key_member, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zScore, arginfo_key_member, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zdiff, arginfo_zdiff, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zdiffstore, arginfo_zdiffstore, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zinter, arginfo_zinterunion, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zinterstore, arginfo_zstore, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zscan, arginfo_kscan, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zunion, arginfo_zinterunion, ZEND_ACC_PUBLIC) - PHP_ME(Redis, zunionstore, arginfo_zstore, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - static const zend_module_dep redis_deps[] = { #ifdef HAVE_REDIS_IGBINARY ZEND_MOD_REQUIRED("igbinary") @@ -853,7 +469,7 @@ PHP_MINIT_FUNCTION(redis) REGISTER_INI_ENTRIES(); /* Redis class */ - INIT_CLASS_ENTRY(redis_class_entry, "Redis", redis_functions); + INIT_CLASS_ENTRY(redis_class_entry, "Redis", redis_get_methods()); redis_ce = zend_register_internal_class(&redis_class_entry); redis_ce->create_object = create_redis_object; @@ -1195,7 +811,7 @@ PHP_METHOD(Redis, setnx) /* {{{ proto string Redis::getSet(string key, string value) */ -PHP_METHOD(Redis, getSet) +PHP_METHOD(Redis, getset) { REDIS_PROCESS_KW_CMD("GETSET", redis_kv_cmd, redis_string_response); } diff --git a/redis.stub.php b/redis.stub.php index 880e25d4..a9648c51 100644 --- a/redis.stub.php +++ b/redis.stub.php @@ -172,9 +172,6 @@ class Redis { */ public function delete(array|string $key, ...$otherkeys); - /** @return mixed|Redis */ - public function ping(string $message = NULL); - /** * @deprecated * @alias Redis::connect @@ -187,3 +184,180 @@ class Redis { */ public function popen(string $host, int $port = 26379, float $timeout = 0, string $persistent_id = NULL, int $retry_interval = 0, float $read_timeout = 0, array $context = NULL): bool; } + +/* + TODO: + public function _prefix + public function _serialize + public function _unserialize + public function _pack + public function _unpack + public function _compress + public function _uncompress + public function auth + public function bgSave + public function bgrewriteaof + public function blPop + public function brPop + public function brpoplpush + public function bzPopMax + public function bzPopMin + public function clearLastError + public function client + public function command + public function config + public function copy + public function dbSize + public function debug + public function discard + public function dump + public function eval + public function evalsha + public function exec + public function expire + public function expireAt + public function flushAll + public function flushDB + public function geoadd + public function geodist + public function geohash + public function geopos + public function georadius + public function georadius_ro + public function georadiusbymember + public function georadiusbymember_ro + public function getAuth + public function getDBNum + public function getHost + public function getLastError + public function getMode + public function getOption + public function getPersistentID + public function getPort + public function getReadTimeout + public function getSet + public function getTimeout + public function hDel + public function hExists + public function hGet + public function hGetAll + public function hIncrBy + public function hIncrByFloat + public function hKeys + public function hLen + public function hMget + public function hMset + public function hSet + public function hSetNx + public function hStrLen + public function hVals + public function hscan + public function info + public function isConnected + public function lLen + public function lMove + public function lSet + public function lastSave + public function lindex + public function lrange + public function lrem + public function ltrim + public function migrate + public function move + public function mset + public function msetnx + public function multi + public function object + public function persist + public function pexpire + public function pexpireAt + public function pfadd + public function pfcount + public function pfmerge + public function pipeline + public function psubscribe + public function pttl + public function publish + public function pubsub + public function punsubscribe + public function rawcommand + public function restore + public function role + public function rpoplpush + public function sAdd + public function sAddArray + public function sDiff + public function sDiffStore + public function sInter + public function sInterStore + public function sMembers + public function sMisMember + public function sMove + public function sPop + public function sRandMember + public function sUnion + public function sUnionStore + public function save + public function scan + public function scard + public function script + public function select + public function setOption + public function sismember + public function slaveof + public function slowlog + public function sort + public function sortAsc + public function sortAscAlpha + public function sortDesc + public function sortDescAlpha + public function srem + public function sscan + public function subscribe + public function swapdb + public function time + public function ttl + public function unsubscribe + public function wait + public function xack + public function xadd + public function xclaim + public function xdel + public function xgroup + public function xinfo + public function xlen + public function xpending + public function xrange + public function xread + public function xreadgroup + public function xrevrange + public function xtrim + public function zAdd + public function zCard + public function zCount + public function zIncrBy + public function zLexCount + public function zMscore + public function zPopMax + public function zPopMin + public function zRange + public function zRangeByLex + public function zRangeByScore + public function zRank + public function zRem + public function zRemRangeByLex + public function zRemRangeByRank + public function zRemRangeByScore + public function zRevRange + public function zRevRangeByLex + public function zRevRangeByScore + public function zRevRank + public function zScore + public function zdiff + public function zdiffstore + public function zinter + public function zinterstore + public function zscan + public function zunion + public function zunionstore +*/ diff --git a/redis_arginfo.h b/redis_arginfo.h index a2726727..9679a27c 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: b3a02d01273649649ff8627a90ab9c46b9beddbb */ + * Stub hash: 3997a1b8acf7d0a4a3affc95c10d84906d354e6c */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis___construct, 0, 0, 0) ZEND_END_ARG_INFO() @@ -178,10 +178,6 @@ ZEND_END_ARG_INFO() #define arginfo_class_Redis_delete arginfo_class_Redis_del -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_ping, 0, 0, 0) - ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, message, IS_STRING, 0, "NULL") -ZEND_END_ARG_INFO() - #define arginfo_class_Redis_open arginfo_class_Redis_connect #define arginfo_class_Redis_popen arginfo_class_Redis_connect @@ -283,7 +279,6 @@ static const zend_function_entry class_Redis_methods[] = { ZEND_ME(Redis, lPop, arginfo_class_Redis_lPop, ZEND_ACC_PUBLIC) ZEND_ME(Redis, rPop, arginfo_class_Redis_rPop, ZEND_ACC_PUBLIC) ZEND_MALIAS(Redis, delete, del, arginfo_class_Redis_delete, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED) - ZEND_ME(Redis, ping, arginfo_class_Redis_ping, ZEND_ACC_PUBLIC) ZEND_MALIAS(Redis, open, connect, arginfo_class_Redis_open, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED) ZEND_MALIAS(Redis, popen, pconnect, arginfo_class_Redis_popen, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED) ZEND_FE_END diff --git a/redis_legacy_arginfo.h b/redis_legacy_arginfo.h index 6f257eaa..feaae6bb 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: b3a02d01273649649ff8627a90ab9c46b9beddbb */ + * Stub hash: 3997a1b8acf7d0a4a3affc95c10d84906d354e6c */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis___construct, 0, 0, 0) ZEND_END_ARG_INFO() @@ -171,10 +171,6 @@ ZEND_END_ARG_INFO() #define arginfo_class_Redis_delete arginfo_class_Redis_del -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_ping, 0, 0, 0) - ZEND_ARG_INFO(0, message) -ZEND_END_ARG_INFO() - #define arginfo_class_Redis_open arginfo_class_Redis_connect #define arginfo_class_Redis_popen arginfo_class_Redis_connect @@ -276,7 +272,6 @@ static const zend_function_entry class_Redis_methods[] = { ZEND_ME(Redis, lPop, arginfo_class_Redis_lPop, ZEND_ACC_PUBLIC) ZEND_ME(Redis, rPop, arginfo_class_Redis_rPop, ZEND_ACC_PUBLIC) ZEND_MALIAS(Redis, delete, del, arginfo_class_Redis_delete, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED) - ZEND_ME(Redis, ping, arginfo_class_Redis_ping, ZEND_ACC_PUBLIC) ZEND_MALIAS(Redis, open, connect, arginfo_class_Redis_open, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED) ZEND_MALIAS(Redis, popen, pconnect, arginfo_class_Redis_popen, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED) ZEND_FE_END |