/
commands.h
76 lines (69 loc) · 3.3 KB
/
commands.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*
* Copyright Redis Ltd. 2016 - present
* Licensed under your choice of the Redis Source Available License 2.0 (RSALv2) or
* the Server Side Public License v1 (SSPLv1).
*/
#ifndef RS_COMMANDS_H_
#define RS_COMMANDS_H_
/** RS_CMD_PREFIX can be defined with -D from the Makefile */
#ifdef RS_CLUSTER_ENTERPRISE
#define RS_CMD_WRITE_PREFIX "FT"
#define RS_CMD_READ_PREFIX "_FT"
#elif defined(RS_CLUSTER_OSS)
#define RS_CMD_WRITE_PREFIX "_FT"
#define RS_CMD_READ_PREFIX "_FT"
#else
#define RS_CMD_WRITE_PREFIX "FT"
#define RS_CMD_READ_PREFIX "FT"
#endif
// write commands
#define RS_CREATE_CMD RS_CMD_WRITE_PREFIX ".CREATE"
#define RS_CREATE_IF_NX_CMD RS_CMD_WRITE_PREFIX "._CREATEIFNX" // for replica of support
#define RS_ADD_CMD RS_CMD_WRITE_PREFIX ".ADD"
#define RS_SAFEADD_CMD RS_CMD_WRITE_PREFIX ".SAFEADD"
#define LEGACY_RS_SAFEADD_CMD "_FT.SAFEADD"
#define RS_SETPAYLOAD_CMD RS_CMD_WRITE_PREFIX ".SETPAYLOAD"
#define RS_DEL_CMD RS_CMD_WRITE_PREFIX ".DEL"
#define LEGACY_RS_DEL_CMD "_FT.DEL"
#define RS_DROP_CMD RS_CMD_WRITE_PREFIX ".DROP"
#define RS_DROP_INDEX_CMD RS_CMD_WRITE_PREFIX ".DROPINDEX"
#define RS_DROP_IF_X_CMD RS_CMD_WRITE_PREFIX "._DROPIFX" // for replica of support
#define RS_DROP_INDEX_IF_X_CMD RS_CMD_WRITE_PREFIX "._DROPINDEXIFX" // for replica of support
#define RS_SYNUPDATE_CMD RS_CMD_WRITE_PREFIX ".SYNUPDATE"
#define RS_ALTER_CMD RS_CMD_WRITE_PREFIX ".ALTER"
#define RS_ALTER_IF_NX_CMD RS_CMD_WRITE_PREFIX "._ALTERIFNX" // for replica of support
#define RS_DICT_ADD RS_CMD_WRITE_PREFIX ".DICTADD"
#define RS_DICT_DEL RS_CMD_WRITE_PREFIX ".DICTDEL"
#define RS_ALIASADD RS_CMD_WRITE_PREFIX ".ALIASADD"
#define RS_ALIASADD_IF_NX RS_CMD_WRITE_PREFIX "._ALIASADDIFNX" // for replica of support
#define RS_ALIASDEL RS_CMD_WRITE_PREFIX ".ALIASDEL"
#define RS_ALIASDEL_IF_EX RS_CMD_WRITE_PREFIX "._ALIASDELIFX" // for replica of support
#define RS_ALIASUPDATE RS_CMD_WRITE_PREFIX ".ALIASUPDATE"
// Suggestion commands are key-bounded, but gets redirection for OSS cluster.
// So on standalone and enterprise, we need only the local `FT.` variations,
// but on OSS cluster we need both the local and the remote variations, and
// have the local variations with `_FT.` prefix.
#define RS_SUGADD_CMD RS_CMD_WRITE_PREFIX ".SUGADD"
#define RS_SUGGET_CMD RS_CMD_WRITE_PREFIX ".SUGGET"
#define RS_SUGDEL_CMD RS_CMD_WRITE_PREFIX ".SUGDEL"
#define RS_SUGLEN_CMD RS_CMD_WRITE_PREFIX ".SUGLEN"
// read commands that are always performed locally
#define RS_EXPLAIN_CMD "FT.EXPLAIN"
#define RS_EXPLAINCLI_CMD "FT.EXPLAINCLI"
#define RS_DICT_DUMP "FT.DICTDUMP"
#define RS_SYNDUMP_CMD "FT.SYNDUMP"
#define RS_INDEX_LIST_CMD "FT._LIST"
#define RS_SYNADD_CMD "FT.SYNADD" // Deprecated, always returns an error
// read commands
#define RS_INFO_CMD RS_CMD_READ_PREFIX ".INFO"
#define RS_SEARCH_CMD RS_CMD_READ_PREFIX ".SEARCH"
#define RS_AGGREGATE_CMD RS_CMD_READ_PREFIX ".AGGREGATE"
#define RS_PROFILE_CMD RS_CMD_READ_PREFIX ".PROFILE"
#define RS_GET_CMD RS_CMD_WRITE_PREFIX ".GET" // "write" so it won't be redirected on enterprise cluster
#define RS_MGET_CMD RS_CMD_READ_PREFIX ".MGET"
#define RS_TAGVALS_CMD RS_CMD_READ_PREFIX ".TAGVALS"
#define RS_CURSOR_CMD RS_CMD_READ_PREFIX ".CURSOR"
#define RS_DEBUG RS_CMD_READ_PREFIX ".DEBUG"
#define RS_SPELL_CHECK RS_CMD_READ_PREFIX ".SPELLCHECK"
#define RS_CONFIG RS_CMD_READ_PREFIX ".CONFIG"
#endif