diff options
-rw-r--r-- | library.h | 19 | ||||
-rw-r--r-- | redis_legacy_arginfo.h | 202 | ||||
-rw-r--r-- | redis_sentinel.c | 4 | ||||
-rw-r--r-- | redis_sentinel_legacy_arginfo.h | 65 |
4 files changed, 271 insertions, 19 deletions
@@ -23,31 +23,12 @@ #define redis_sock_write_sstr(redis_sock, sstr) \ redis_sock_write(redis_sock, (sstr)->c, (sstr)->len) -#if PHP_VERSION_ID < 70200 -/* drop return type hinting in PHP 7.0 and 7.1*/ -#undef ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX -#define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \ - ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args) -#endif - #if PHP_VERSION_ID < 80000 #define redis_hash_fetch_ops(zstr) php_hash_fetch_ops(ZSTR_VAL((zstr)), ZSTR_LEN((zstr))) /* use RedisException when ValueError not available */ #define REDIS_VALUE_EXCEPTION(m) REDIS_THROW_EXCEPTION(m, 0) #define RETURN_THROWS() RETURN_FALSE - - /* default value only managed in 8+ */ - #define ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(pass_by_ref, name, type_hint, allow_null, default_value) \ - ZEND_ARG_TYPE_INFO(pass_by_ref, name, type_hint, allow_null) - - /* union type only managed in 8+ */ - #define ZEND_ARG_TYPE_MASK(pass_by_ref, name, type_mask, default_value) ZEND_ARG_INFO(pass_by_ref, name) - - #define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(name, return_reference, required_num_args, type) \ - ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args) - - #define IS_MIXED 0 #else #define redis_hash_fetch_ops(zstr) php_hash_fetch_ops(zstr) diff --git a/redis_legacy_arginfo.h b/redis_legacy_arginfo.h new file mode 100644 index 00000000..3e3a8cfc --- /dev/null +++ b/redis_legacy_arginfo.h @@ -0,0 +1,202 @@ +/* This is a generated file, edit the .stub.php file instead. + * Stub hash: be75361e8e76c8a25455d7c40a36735b56a9e8a0 */ + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis___construct, 0, 0, 0) +ZEND_END_ARG_INFO() + +#define arginfo_class_Redis___destruct arginfo_class_Redis___construct + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_connect, 0, 0, 1) + ZEND_ARG_INFO(0, host) + ZEND_ARG_INFO(0, port) + ZEND_ARG_INFO(0, timeout) + ZEND_ARG_INFO(0, persistent_id) + ZEND_ARG_INFO(0, retry_interval) + ZEND_ARG_INFO(0, read_timeout) + ZEND_ARG_INFO(0, context) +ZEND_END_ARG_INFO() + +#define arginfo_class_Redis_pconnect arginfo_class_Redis_connect + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_bitop, 0, 0, 3) + ZEND_ARG_INFO(0, operation) + ZEND_ARG_INFO(0, deskey) + ZEND_ARG_INFO(0, srckey) + ZEND_ARG_VARIADIC_INFO(0, otherkeys) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_bitcount, 0, 0, 1) + 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_class_Redis_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() + +#define arginfo_class_Redis_close arginfo_class_Redis___construct + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_set, 0, 0, 2) + ZEND_ARG_INFO(0, key) + ZEND_ARG_INFO(0, value) + ZEND_ARG_INFO(0, opt) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_setex, 0, 0, 3) + ZEND_ARG_INFO(0, key) + ZEND_ARG_INFO(0, expire) + ZEND_ARG_INFO(0, value) +ZEND_END_ARG_INFO() + +#define arginfo_class_Redis_psetex arginfo_class_Redis_setex + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_setnx, 0, 0, 2) + ZEND_ARG_INFO(0, key) + ZEND_ARG_INFO(0, value) +ZEND_END_ARG_INFO() + +#define arginfo_class_Redis_getset arginfo_class_Redis_setnx + +#define arginfo_class_Redis_randomKey arginfo_class_Redis___construct + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_echo, 0, 0, 1) + ZEND_ARG_INFO(0, str) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_rename, 0, 0, 2) + ZEND_ARG_INFO(0, key_src) + ZEND_ARG_INFO(0, key_dst) +ZEND_END_ARG_INFO() + +#define arginfo_class_Redis_renameNx arginfo_class_Redis_rename + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_get, 0, 0, 1) + ZEND_ARG_INFO(0, key) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_ping, 0, 0, 0) + ZEND_ARG_INFO(0, key) +ZEND_END_ARG_INFO() + +#define arginfo_class_Redis_incr arginfo_class_Redis_get + +#define arginfo_class_Redis_incrBy arginfo_class_Redis_setnx + +#define arginfo_class_Redis_incrByFloat arginfo_class_Redis_setnx + +#define arginfo_class_Redis_decr arginfo_class_Redis_get + +#define arginfo_class_Redis_decrBy arginfo_class_Redis_setnx + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_mget, 0, 0, 1) + ZEND_ARG_INFO(0, keys) +ZEND_END_ARG_INFO() + +#define arginfo_class_Redis_exists arginfo_class_Redis_get + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_del, 0, 0, 1) + ZEND_ARG_INFO(0, key) + ZEND_ARG_VARIADIC_INFO(0, otherkeys) +ZEND_END_ARG_INFO() + +#define arginfo_class_Redis_unlink arginfo_class_Redis_del + +#define arginfo_class_Redis_watch arginfo_class_Redis_del + +#define arginfo_class_Redis_unwatch arginfo_class_Redis___construct + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_keys, 0, 0, 1) + ZEND_ARG_INFO(0, pattern) +ZEND_END_ARG_INFO() + +#define arginfo_class_Redis_keys arginfo_class_Redis_get + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_acl, 0, 0, 1) + ZEND_ARG_INFO(0, subcmd) + ZEND_ARG_VARIADIC_INFO(0, args) +ZEND_END_ARG_INFO() + +#define arginfo_class_Redis_delete arginfo_class_Redis_del + +#define arginfo_class_Redis_open arginfo_class_Redis_connect + +#define arginfo_class_Redis_popen arginfo_class_Redis_connect + + +ZEND_METHOD(Redis, __construct); +ZEND_METHOD(Redis, __destruct); +ZEND_METHOD(Redis, connect); +ZEND_METHOD(Redis, pconnect); +ZEND_METHOD(Redis, bitop); +ZEND_METHOD(Redis, bitcount); +ZEND_METHOD(Redis, bitpos); +ZEND_METHOD(Redis, close); +ZEND_METHOD(Redis, set); +ZEND_METHOD(Redis, setex); +ZEND_METHOD(Redis, psetex); +ZEND_METHOD(Redis, setnx); +ZEND_METHOD(Redis, getset); +ZEND_METHOD(Redis, randomKey); +ZEND_METHOD(Redis, echo); +ZEND_METHOD(Redis, rename); +ZEND_METHOD(Redis, renameNx); +ZEND_METHOD(Redis, get); +ZEND_METHOD(Redis, ping); +ZEND_METHOD(Redis, incr); +ZEND_METHOD(Redis, incrBy); +ZEND_METHOD(Redis, incrByFloat); +ZEND_METHOD(Redis, decr); +ZEND_METHOD(Redis, decrBy); +ZEND_METHOD(Redis, mget); +ZEND_METHOD(Redis, exists); +ZEND_METHOD(Redis, del); +ZEND_METHOD(Redis, unlink); +ZEND_METHOD(Redis, watch); +ZEND_METHOD(Redis, unwatch); +ZEND_METHOD(Redis, keys); +ZEND_METHOD(Redis, acl); + + +static const zend_function_entry class_Redis_methods[] = { + ZEND_ME(Redis, __construct, arginfo_class_Redis___construct, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, __destruct, arginfo_class_Redis___destruct, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, connect, arginfo_class_Redis_connect, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, pconnect, arginfo_class_Redis_pconnect, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, bitop, arginfo_class_Redis_bitop, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, bitcount, arginfo_class_Redis_bitcount, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, bitpos, arginfo_class_Redis_bitpos, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, close, arginfo_class_Redis_close, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, set, arginfo_class_Redis_set, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, setex, arginfo_class_Redis_setex, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, psetex, arginfo_class_Redis_psetex, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, setnx, arginfo_class_Redis_setnx, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, getset, arginfo_class_Redis_getset, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, randomKey, arginfo_class_Redis_randomKey, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, echo, arginfo_class_Redis_echo, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, rename, arginfo_class_Redis_rename, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, renameNx, arginfo_class_Redis_renameNx, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, get, arginfo_class_Redis_get, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, ping, arginfo_class_Redis_ping, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, incr, arginfo_class_Redis_incr, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, incrBy, arginfo_class_Redis_incrBy, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, incrByFloat, arginfo_class_Redis_incrByFloat, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, decr, arginfo_class_Redis_decr, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, decrBy, arginfo_class_Redis_decrBy, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, mget, arginfo_class_Redis_mget, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, exists, arginfo_class_Redis_exists, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, del, arginfo_class_Redis_del, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, unlink, arginfo_class_Redis_unlink, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, watch, arginfo_class_Redis_watch, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, unwatch, arginfo_class_Redis_unwatch, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, keys, arginfo_class_Redis_keys, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, keys, arginfo_class_Redis_keys, ZEND_ACC_PUBLIC) + ZEND_ME(Redis, acl, arginfo_class_Redis_acl, ZEND_ACC_PUBLIC) + ZEND_MALIAS(Redis, delete, del, arginfo_class_Redis_delete, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED) + 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_sentinel.c b/redis_sentinel.c index b89cdb3d..ca72640e 100644 --- a/redis_sentinel.c +++ b/redis_sentinel.c @@ -23,7 +23,11 @@ zend_class_entry *redis_sentinel_ce; extern zend_class_entry *redis_exception_ce; +#if PHP_VERSION_ID < 80000 +#include "redis_sentinel_legacy_arginfo.h" +#else #include "redis_sentinel_arginfo.h" +#endif extern const zend_function_entry *redis_sentinel_get_methods(void) { diff --git a/redis_sentinel_legacy_arginfo.h b/redis_sentinel_legacy_arginfo.h new file mode 100644 index 00000000..76d222ce --- /dev/null +++ b/redis_sentinel_legacy_arginfo.h @@ -0,0 +1,65 @@ +/* This is a generated file, edit the .stub.php file instead. + * Stub hash: 779d2b82a083131e73402389db47d08355a2417e */ + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisSentinel___construct, 0, 0, 1) + ZEND_ARG_INFO(0, host) + ZEND_ARG_INFO(0, port) + ZEND_ARG_INFO(0, timeout) + ZEND_ARG_INFO(0, persistent) + ZEND_ARG_INFO(0, retry_interval) + ZEND_ARG_INFO(0, read_timeout) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisSentinel_ckquorum, 0, 0, 1) + ZEND_ARG_INFO(0, master) +ZEND_END_ARG_INFO() + +#define arginfo_class_RedisSentinel_failover arginfo_class_RedisSentinel_ckquorum + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisSentinel_flushconfig, 0, 0, 0) +ZEND_END_ARG_INFO() + +#define arginfo_class_RedisSentinel_getMasterAddrByName arginfo_class_RedisSentinel_ckquorum + +#define arginfo_class_RedisSentinel_master arginfo_class_RedisSentinel_ckquorum + +#define arginfo_class_RedisSentinel_masters arginfo_class_RedisSentinel_flushconfig + +#define arginfo_class_RedisSentinel_ping arginfo_class_RedisSentinel_flushconfig + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisSentinel_reset, 0, 0, 1) + ZEND_ARG_INFO(0, pattern) +ZEND_END_ARG_INFO() + +#define arginfo_class_RedisSentinel_sentinels arginfo_class_RedisSentinel_ckquorum + +#define arginfo_class_RedisSentinel_slaves arginfo_class_RedisSentinel_ckquorum + + +ZEND_METHOD(RedisSentinel, __construct); +ZEND_METHOD(RedisSentinel, ckquorum); +ZEND_METHOD(RedisSentinel, failover); +ZEND_METHOD(RedisSentinel, flushconfig); +ZEND_METHOD(RedisSentinel, getMasterAddrByName); +ZEND_METHOD(RedisSentinel, master); +ZEND_METHOD(RedisSentinel, masters); +ZEND_METHOD(RedisSentinel, ping); +ZEND_METHOD(RedisSentinel, reset); +ZEND_METHOD(RedisSentinel, sentinels); +ZEND_METHOD(RedisSentinel, slaves); + + +static const zend_function_entry class_RedisSentinel_methods[] = { + ZEND_ME(RedisSentinel, __construct, arginfo_class_RedisSentinel___construct, ZEND_ACC_PUBLIC) + ZEND_ME(RedisSentinel, ckquorum, arginfo_class_RedisSentinel_ckquorum, ZEND_ACC_PUBLIC) + ZEND_ME(RedisSentinel, failover, arginfo_class_RedisSentinel_failover, ZEND_ACC_PUBLIC) + ZEND_ME(RedisSentinel, flushconfig, arginfo_class_RedisSentinel_flushconfig, ZEND_ACC_PUBLIC) + ZEND_ME(RedisSentinel, getMasterAddrByName, arginfo_class_RedisSentinel_getMasterAddrByName, ZEND_ACC_PUBLIC) + ZEND_ME(RedisSentinel, master, arginfo_class_RedisSentinel_master, ZEND_ACC_PUBLIC) + ZEND_ME(RedisSentinel, masters, arginfo_class_RedisSentinel_masters, ZEND_ACC_PUBLIC) + ZEND_ME(RedisSentinel, ping, arginfo_class_RedisSentinel_ping, ZEND_ACC_PUBLIC) + ZEND_ME(RedisSentinel, reset, arginfo_class_RedisSentinel_reset, ZEND_ACC_PUBLIC) + ZEND_ME(RedisSentinel, sentinels, arginfo_class_RedisSentinel_sentinels, ZEND_ACC_PUBLIC) + ZEND_ME(RedisSentinel, slaves, arginfo_class_RedisSentinel_slaves, ZEND_ACC_PUBLIC) + ZEND_FE_END +}; |