From 317c0644ccf108aa23ef3fd8358bd66c2840bfc0 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 14 Apr 2024 15:40:54 +0200 Subject: Adding upstream version 5:7.2.4. Signed-off-by: Daniel Baumann --- src/commands/zinter.json | 115 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 src/commands/zinter.json (limited to 'src/commands/zinter.json') diff --git a/src/commands/zinter.json b/src/commands/zinter.json new file mode 100644 index 0000000..4828e21 --- /dev/null +++ b/src/commands/zinter.json @@ -0,0 +1,115 @@ +{ + "ZINTER": { + "summary": "Returns the intersect of multiple sorted sets.", + "complexity": "O(N*K)+O(M*log(M)) worst case with N being the smallest input sorted set, K being the number of input sorted sets and M being the number of elements in the resulting sorted set.", + "group": "sorted_set", + "since": "6.2.0", + "arity": -3, + "function": "zinterCommand", + "get_keys_function": "zunionInterDiffGetKeys", + "command_flags": [ + "READONLY" + ], + "acl_categories": [ + "SORTEDSET" + ], + "key_specs": [ + { + "flags": [ + "RO", + "ACCESS" + ], + "begin_search": { + "index": { + "pos": 1 + } + }, + "find_keys": { + "keynum": { + "keynumidx": 0, + "firstkey": 1, + "step": 1 + } + } + } + ], + "reply_schema": { + "anyOf": [ + { + "description": "Result of intersection, containing only the member names. Returned in case `WITHSCORES` was not used.", + "type": "array", + "items": { + "type": "string" + } + }, + { + "description": "Result of intersection, containing members and their scores. Returned in case `WITHSCORES` was used. In RESP2 this is returned as a flat array", + "type": "array", + "items": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": [ + { + "description": "Member", + "type": "string" + }, + { + "description": "Score", + "type": "number" + } + ] + } + } + ] + }, + "arguments": [ + { + "name": "numkeys", + "type": "integer" + }, + { + "name": "key", + "type": "key", + "key_spec_index": 0, + "multiple": true + }, + { + "token": "WEIGHTS", + "name": "weight", + "type": "integer", + "optional": true, + "multiple": true + }, + { + "token": "AGGREGATE", + "name": "aggregate", + "type": "oneof", + "optional": true, + "arguments": [ + { + "name": "sum", + "type": "pure-token", + "token": "SUM" + }, + { + "name": "min", + "type": "pure-token", + "token": "MIN" + }, + { + "name": "max", + "type": "pure-token", + "token": "MAX" + } + ] + }, + { + "name": "withscores", + "token": "WITHSCORES", + "type": "pure-token", + "optional": true + } + ] + } +} -- cgit v1.2.3