summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/src/commands/hpexpire.json
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2026-01-21 22:40:55 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2026-01-21 22:40:55 +0100
commit5d8dfe892a2ea89f706ee140c3bdcfd89fe03fda (patch)
tree1acdfa5220cd13b7be43a2a01368e80d306473ca /examples/redis-unstable/src/commands/hpexpire.json
parentc7ab12bba64d9c20ccd79b132dac475f7bc3923e (diff)
downloadcrep-5d8dfe892a2ea89f706ee140c3bdcfd89fe03fda.tar.gz
Add Redis source code for testing
Diffstat (limited to 'examples/redis-unstable/src/commands/hpexpire.json')
-rw-r--r--examples/redis-unstable/src/commands/hpexpire.json118
1 files changed, 118 insertions, 0 deletions
diff --git a/examples/redis-unstable/src/commands/hpexpire.json b/examples/redis-unstable/src/commands/hpexpire.json
new file mode 100644
index 0000000..269eb4e
--- /dev/null
+++ b/examples/redis-unstable/src/commands/hpexpire.json
@@ -0,0 +1,118 @@
+{
+ "HPEXPIRE": {
+ "summary": "Set expiry for hash field using relative time to expire (milliseconds)",
+ "complexity": "O(N) where N is the number of specified fields",
+ "group": "hash",
+ "since": "7.4.0",
+ "arity": -6,
+ "function": "hpexpireCommand",
+ "history": [],
+ "command_flags": [
+ "WRITE",
+ "FAST"
+ ],
+ "acl_categories": [
+ "HASH"
+ ],
+ "key_specs": [
+ {
+ "flags": [
+ "RW",
+ "UPDATE"
+ ],
+ "begin_search": {
+ "index": {
+ "pos": 1
+ }
+ },
+ "find_keys": {
+ "range": {
+ "lastkey": 0,
+ "step": 1,
+ "limit": 0
+ }
+ }
+ }
+ ],
+ "reply_schema": {
+ "description": "Array of results. Returns empty array if the key does not exist.",
+ "type": "array",
+ "minItems": 0,
+ "maxItems": 4294967295,
+ "items": {
+ "oneOf": [
+ {
+ "description": "The field does not exist.",
+ "const": -2
+ },
+ {
+ "description": "Specified NX | XX | GT | LT condition not met",
+ "const": 0
+ },
+ {
+ "description": "Expiration time was set or updated.",
+ "const": 1
+ },
+ {
+ "description": "Field deleted because the specified expiration time is in the past.",
+ "const": 2
+ }
+ ]
+ }
+ },
+ "arguments": [
+ {
+ "name": "key",
+ "type": "key",
+ "key_spec_index": 0
+ },
+ {
+ "name": "milliseconds",
+ "type": "integer"
+ },
+ {
+ "name": "condition",
+ "type": "oneof",
+ "optional": true,
+ "arguments": [
+ {
+ "name": "nx",
+ "type": "pure-token",
+ "token": "NX"
+ },
+ {
+ "name": "xx",
+ "type": "pure-token",
+ "token": "XX"
+ },
+ {
+ "name": "gt",
+ "type": "pure-token",
+ "token": "GT"
+ },
+ {
+ "name": "lt",
+ "type": "pure-token",
+ "token": "LT"
+ }
+ ]
+ },
+ {
+ "name": "fields",
+ "token": "FIELDS",
+ "type": "block",
+ "arguments": [
+ {
+ "name": "numfields",
+ "type": "integer"
+ },
+ {
+ "name": "field",
+ "type": "string",
+ "multiple": true
+ }
+ ]
+ }
+ ]
+ }
+} \ No newline at end of file