summaryrefslogtreecommitdiffstats
path: root/src/commands/migrate.json
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 17:31:02 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 17:31:02 +0000
commitbb12c1fd00eb51118749bbbc69c5596835fcbd3b (patch)
tree88038a98bd31c1b765f3390767a2ec12e37c79ec /src/commands/migrate.json
parentInitial commit. (diff)
downloadredis-upstream.tar.xz
redis-upstream.zip
Adding upstream version 5:7.0.15.upstream/5%7.0.15upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/commands/migrate.json')
-rw-r--r--src/commands/migrate.json169
1 files changed, 169 insertions, 0 deletions
diff --git a/src/commands/migrate.json b/src/commands/migrate.json
new file mode 100644
index 0000000..b9a52aa
--- /dev/null
+++ b/src/commands/migrate.json
@@ -0,0 +1,169 @@
+{
+ "MIGRATE": {
+ "summary": "Atomically transfer a key from a Redis instance to another one.",
+ "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
+ }
+ }
+ }
+ ],
+ "arguments": [
+ {
+ "name": "host",
+ "type": "string"
+ },
+ {
+ "name": "port",
+ "type": "integer"
+ },
+ {
+ "name": "key_or_empty_string",
+ "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": "password",
+ "type": "string",
+ "optional": true,
+ "since": "4.0.7"
+ },
+ {
+ "token": "AUTH2",
+ "name": "username_password",
+ "type": "block",
+ "optional": true,
+ "since": "6.0.0",
+ "arguments": [
+ {
+ "name": "username",
+ "type": "string"
+ },
+ {
+ "name": "password",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "token": "KEYS",
+ "name": "key",
+ "type": "key",
+ "key_spec_index": 1,
+ "optional": true,
+ "multiple": true,
+ "since": "3.0.6"
+ }
+ ]
+ }
+} \ No newline at end of file