From 5d50fef961d35ee8563ca7719d064b8dc7148b04 Mon Sep 17 00:00:00 2001 From: Pavlo Yatsukhnenko Date: Sat, 6 Mar 2021 20:15:36 +0200 Subject: [WIP] Issue #1894 Add Redis::zdiff and Redis::zdiffstore commands --- redis.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'redis.c') diff --git a/redis.c b/redis.c index 91eba589..10b0e159 100644 --- a/redis.c +++ b/redis.c @@ -115,6 +115,16 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_connect, 0, 0, 1) 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_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() @@ -472,6 +482,8 @@ static zend_function_entry redis_functions[] = { 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, zinterstore, arginfo_zstore, ZEND_ACC_PUBLIC) PHP_ME(Redis, zscan, arginfo_kscan, ZEND_ACC_PUBLIC) PHP_ME(Redis, zunionstore, arginfo_zstore, ZEND_ACC_PUBLIC) @@ -2299,6 +2311,18 @@ PHP_METHOD(Redis, zIncrBy) } /* }}} */ +/* {{{ proto array Redis::zdiff(array keys, array options) */ +PHP_METHOD(Redis, zdiff) { + REDIS_PROCESS_CMD(zdiff, redis_zdiff_response); +} +/* }}} */ + +/* {{{ proto array Redis::zdiffstore(string destination, array keys) */ +PHP_METHOD(Redis, zdiffstore) { + REDIS_PROCESS_CMD(zdiffstore, redis_long_response); +} +/* }}} */ + /* zinterstore */ PHP_METHOD(Redis, zinterstore) { REDIS_PROCESS_KW_CMD("ZINTERSTORE", redis_zinter_cmd, redis_long_response); -- cgit v1.2.3