diff options
Diffstat (limited to 'src/commands/linsert.json')
-rw-r--r-- | src/commands/linsert.json | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/src/commands/linsert.json b/src/commands/linsert.json new file mode 100644 index 0000000..8059dc5 --- /dev/null +++ b/src/commands/linsert.json @@ -0,0 +1,85 @@ +{ + "LINSERT": { + "summary": "Inserts an element before or after another element in a list.", + "complexity": "O(N) where N is the number of elements to traverse before seeing the value pivot. This means that inserting somewhere on the left end on the list (head) can be considered O(1) and inserting somewhere on the right end (tail) is O(N).", + "group": "list", + "since": "2.2.0", + "arity": 5, + "function": "linsertCommand", + "command_flags": [ + "WRITE", + "DENYOOM" + ], + "acl_categories": [ + "LIST" + ], + "key_specs": [ + { + "flags": [ + "RW", + "INSERT" + ], + "begin_search": { + "index": { + "pos": 1 + } + }, + "find_keys": { + "range": { + "lastkey": 0, + "step": 1, + "limit": 0 + } + } + } + ], + "reply_schema": { + "oneOf": [ + { + "description": "List length after a successful insert operation.", + "type": "integer", + "minimum": 1 + }, + { + "description": "in case key doesn't exist.", + "const": 0 + }, + { + "description": "when the pivot wasn't found.", + "const": -1 + } + ] + }, + "arguments": [ + { + "name": "key", + "type": "key", + "key_spec_index": 0 + }, + { + "name": "where", + "type": "oneof", + "arguments": [ + { + "name": "before", + "type": "pure-token", + "token": "BEFORE" + }, + { + "name": "after", + "type": "pure-token", + "token": "AFTER" + } + ] + }, + { + "name": "pivot", + "type": "string" + }, + { + "name": "element", + "type": "string" + } + ] + } +} |