futriix/src/commands/migrate.json
Viktor Söderqvist 3782446a40
Untrademark json files (#35)
Replaces #26

Name agnostic. Now without spelling errors, ready to merge if you ask me.
2024-03-26 11:53:34 -07:00

182 lines
5.2 KiB
JSON

{
"MIGRATE": {
"summary": "Atomically transfers a key from one instance to another.",
"complexity": "This command actually executes a DUMP+DEL in the source instance, and a RESTORE in the target instance. See the pages of these commands for time complexity. Also an O(N) data transfer between the two instances is performed.",
"group": "generic",
"since": "2.6.0",
"arity": -6,
"function": "migrateCommand",
"get_keys_function": "migrateGetKeys",
"history": [
[
"3.0.0",
"Added the `COPY` and `REPLACE` options."
],
[
"3.0.6",
"Added the `KEYS` option."
],
[
"4.0.7",
"Added the `AUTH` option."
],
[
"6.0.0",
"Added the `AUTH2` option."
]
],
"command_flags": [
"WRITE"
],
"acl_categories": [
"KEYSPACE",
"DANGEROUS"
],
"command_tips": [
"NONDETERMINISTIC_OUTPUT"
],
"key_specs": [
{
"flags": [
"RW",
"ACCESS",
"DELETE"
],
"begin_search": {
"index": {
"pos": 3
}
},
"find_keys": {
"range": {
"lastkey": 0,
"step": 1,
"limit": 0
}
}
},
{
"flags": [
"RW",
"ACCESS",
"DELETE",
"INCOMPLETE"
],
"begin_search": {
"keyword": {
"keyword": "KEYS",
"startfrom": -2
}
},
"find_keys": {
"range": {
"lastkey": -1,
"step": 1,
"limit": 0
}
}
}
],
"reply_schema": {
"oneOf": [
{
"const": "OK",
"description": "Success."
},
{
"const": "NOKEY",
"description": "No keys were found in the source instance."
}
]
},
"arguments": [
{
"name": "host",
"type": "string"
},
{
"name": "port",
"type": "integer"
},
{
"name": "key-selector",
"type": "oneof",
"arguments": [
{
"name": "key",
"type": "key",
"key_spec_index": 0
},
{
"name": "empty-string",
"type": "pure-token",
"token": "\"\""
}
]
},
{
"name": "destination-db",
"type": "integer"
},
{
"name": "timeout",
"type": "integer"
},
{
"name": "copy",
"token": "COPY",
"type": "pure-token",
"optional": true,
"since": "3.0.0"
},
{
"name": "replace",
"token": "REPLACE",
"type": "pure-token",
"optional": true,
"since": "3.0.0"
},
{
"name": "authentication",
"type": "oneof",
"optional": true,
"arguments": [
{
"token": "AUTH",
"name": "auth",
"display": "password",
"type": "string",
"since": "4.0.7"
},
{
"token": "AUTH2",
"name": "auth2",
"type": "block",
"since": "6.0.0",
"arguments": [
{
"name": "username",
"type": "string"
},
{
"name": "password",
"type": "string"
}
]
}
]
},
{
"token": "KEYS",
"name": "keys",
"display": "key",
"type": "key",
"key_spec_index": 1,
"optional": true,
"multiple": true,
"since": "3.0.6"
}
]
}
}