src/commands.def 13,301 lines View on github.com → Search inside
File is large — showing lines 1–2,000 of 13,301.
1/* Automatically generated by generate-command-code.py, do not edit. */234/* We have fabulous commands from5 * the fantastic6 * Redis Command Table! */78/* Must match redisCommandGroup */9const char *COMMAND_GROUP_STR[] = {10    "generic",11    "string",12    "list",13    "set",14    "sorted-set",15    "hash",16    "pubsub",17    "transactions",18    "connection",19    "server",20    "scripting",21    "hyperloglog",22    "cluster",23    "sentinel",24    "geo",25    "stream",26    "bitmap",27    "array",28    "module",29#ifdef ENABLE_GCRA30    "rate_limit"31#endif32};3334const char *commandGroupStr(int index) {35    return COMMAND_GROUP_STR[index];36}37/********** ARCOUNT ********************/3839#ifndef SKIP_CMD_HISTORY_TABLE40/* ARCOUNT history */41#define ARCOUNT_History NULL42#endif4344#ifndef SKIP_CMD_TIPS_TABLE45/* ARCOUNT tips */46#define ARCOUNT_Tips NULL47#endif4849#ifndef SKIP_CMD_KEY_SPECS_TABLE50/* ARCOUNT key specs */51keySpec ARCOUNT_Keyspecs[1] = {52{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}53};54#endif5556/* ARCOUNT argument table */57struct COMMAND_ARG ARCOUNT_Args[] = {58{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},59};6061/********** ARDEL ********************/6263#ifndef SKIP_CMD_HISTORY_TABLE64/* ARDEL history */65#define ARDEL_History NULL66#endif6768#ifndef SKIP_CMD_TIPS_TABLE69/* ARDEL tips */70#define ARDEL_Tips NULL71#endif7273#ifndef SKIP_CMD_KEY_SPECS_TABLE74/* ARDEL key specs */75keySpec ARDEL_Keyspecs[1] = {76{NULL,CMD_KEY_RW|CMD_KEY_DELETE,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}77};78#endif7980/* ARDEL argument table */81struct COMMAND_ARG ARDEL_Args[] = {82{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},83{MAKE_ARG("index",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,0,NULL)},84};8586/********** ARDELRANGE ********************/8788#ifndef SKIP_CMD_HISTORY_TABLE89/* ARDELRANGE history */90#define ARDELRANGE_History NULL91#endif9293#ifndef SKIP_CMD_TIPS_TABLE94/* ARDELRANGE tips */95#define ARDELRANGE_Tips NULL96#endif9798#ifndef SKIP_CMD_KEY_SPECS_TABLE99/* ARDELRANGE key specs */100keySpec ARDELRANGE_Keyspecs[1] = {101{NULL,CMD_KEY_RW|CMD_KEY_DELETE,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}102};103#endif104105/* ARDELRANGE range argument table */106struct COMMAND_ARG ARDELRANGE_range_Subargs[] = {107{MAKE_ARG("start",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},108{MAKE_ARG("end",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},109};110111/* ARDELRANGE argument table */112struct COMMAND_ARG ARDELRANGE_Args[] = {113{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},114{MAKE_ARG("range",ARG_TYPE_BLOCK,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,2,NULL),.subargs=ARDELRANGE_range_Subargs},115};116117/********** ARGET ********************/118119#ifndef SKIP_CMD_HISTORY_TABLE120/* ARGET history */121#define ARGET_History NULL122#endif123124#ifndef SKIP_CMD_TIPS_TABLE125/* ARGET tips */126#define ARGET_Tips NULL127#endif128129#ifndef SKIP_CMD_KEY_SPECS_TABLE130/* ARGET key specs */131keySpec ARGET_Keyspecs[1] = {132{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}133};134#endif135136/* ARGET argument table */137struct COMMAND_ARG ARGET_Args[] = {138{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},139{MAKE_ARG("index",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},140};141142/********** ARGETRANGE ********************/143144#ifndef SKIP_CMD_HISTORY_TABLE145/* ARGETRANGE history */146#define ARGETRANGE_History NULL147#endif148149#ifndef SKIP_CMD_TIPS_TABLE150/* ARGETRANGE tips */151#define ARGETRANGE_Tips NULL152#endif153154#ifndef SKIP_CMD_KEY_SPECS_TABLE155/* ARGETRANGE key specs */156keySpec ARGETRANGE_Keyspecs[1] = {157{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}158};159#endif160161/* ARGETRANGE argument table */162struct COMMAND_ARG ARGETRANGE_Args[] = {163{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},164{MAKE_ARG("start",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},165{MAKE_ARG("end",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},166};167168/********** ARGREP ********************/169170#ifndef SKIP_CMD_HISTORY_TABLE171/* ARGREP history */172#define ARGREP_History NULL173#endif174175#ifndef SKIP_CMD_TIPS_TABLE176/* ARGREP tips */177#define ARGREP_Tips NULL178#endif179180#ifndef SKIP_CMD_KEY_SPECS_TABLE181/* ARGREP key specs */182keySpec ARGREP_Keyspecs[1] = {183{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}184};185#endif186187/* ARGREP predicate exact argument table */188struct COMMAND_ARG ARGREP_predicate_exact_Subargs[] = {189{MAKE_ARG("exact",ARG_TYPE_PURE_TOKEN,-1,"EXACT",NULL,NULL,CMD_ARG_NONE,0,NULL)},190{MAKE_ARG("string",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},191};192193/* ARGREP predicate match argument table */194struct COMMAND_ARG ARGREP_predicate_match_Subargs[] = {195{MAKE_ARG("match",ARG_TYPE_PURE_TOKEN,-1,"MATCH",NULL,NULL,CMD_ARG_NONE,0,NULL)},196{MAKE_ARG("string",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},197};198199/* ARGREP predicate glob argument table */200struct COMMAND_ARG ARGREP_predicate_glob_Subargs[] = {201{MAKE_ARG("glob",ARG_TYPE_PURE_TOKEN,-1,"GLOB",NULL,NULL,CMD_ARG_NONE,0,NULL)},202{MAKE_ARG("pattern",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},203};204205/* ARGREP predicate re argument table */206struct COMMAND_ARG ARGREP_predicate_re_Subargs[] = {207{MAKE_ARG("re",ARG_TYPE_PURE_TOKEN,-1,"RE",NULL,NULL,CMD_ARG_NONE,0,NULL)},208{MAKE_ARG("pattern",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},209};210211/* ARGREP predicate argument table */212struct COMMAND_ARG ARGREP_predicate_Subargs[] = {213{MAKE_ARG("exact",ARG_TYPE_BLOCK,-1,NULL,NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=ARGREP_predicate_exact_Subargs},214{MAKE_ARG("match",ARG_TYPE_BLOCK,-1,NULL,NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=ARGREP_predicate_match_Subargs},215{MAKE_ARG("glob",ARG_TYPE_BLOCK,-1,NULL,NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=ARGREP_predicate_glob_Subargs},216{MAKE_ARG("re",ARG_TYPE_BLOCK,-1,NULL,NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=ARGREP_predicate_re_Subargs},217};218219/* ARGREP options argument table */220struct COMMAND_ARG ARGREP_options_Subargs[] = {221{MAKE_ARG("and",ARG_TYPE_PURE_TOKEN,-1,"AND",NULL,NULL,CMD_ARG_NONE,0,NULL)},222{MAKE_ARG("or",ARG_TYPE_PURE_TOKEN,-1,"OR",NULL,NULL,CMD_ARG_NONE,0,NULL)},223{MAKE_ARG("limit",ARG_TYPE_INTEGER,-1,"LIMIT",NULL,NULL,CMD_ARG_NONE,0,NULL)},224{MAKE_ARG("withvalues",ARG_TYPE_PURE_TOKEN,-1,"WITHVALUES",NULL,NULL,CMD_ARG_NONE,0,NULL)},225{MAKE_ARG("nocase",ARG_TYPE_PURE_TOKEN,-1,"NOCASE",NULL,NULL,CMD_ARG_NONE,0,NULL)},226};227228/* ARGREP argument table */229struct COMMAND_ARG ARGREP_Args[] = {230{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},231{MAKE_ARG("start",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},232{MAKE_ARG("end",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},233{MAKE_ARG("predicate",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,4,NULL),.subargs=ARGREP_predicate_Subargs},234{MAKE_ARG("options",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_OPTIONAL|CMD_ARG_MULTIPLE,5,NULL),.subargs=ARGREP_options_Subargs},235};236237/********** ARINFO ********************/238239#ifndef SKIP_CMD_HISTORY_TABLE240/* ARINFO history */241#define ARINFO_History NULL242#endif243244#ifndef SKIP_CMD_TIPS_TABLE245/* ARINFO tips */246#define ARINFO_Tips NULL247#endif248249#ifndef SKIP_CMD_KEY_SPECS_TABLE250/* ARINFO key specs */251keySpec ARINFO_Keyspecs[1] = {252{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}253};254#endif255256/* ARINFO argument table */257struct COMMAND_ARG ARINFO_Args[] = {258{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},259{MAKE_ARG("full",ARG_TYPE_PURE_TOKEN,-1,"FULL",NULL,NULL,CMD_ARG_OPTIONAL,0,NULL)},260};261262/********** ARINSERT ********************/263264#ifndef SKIP_CMD_HISTORY_TABLE265/* ARINSERT history */266#define ARINSERT_History NULL267#endif268269#ifndef SKIP_CMD_TIPS_TABLE270/* ARINSERT tips */271#define ARINSERT_Tips NULL272#endif273274#ifndef SKIP_CMD_KEY_SPECS_TABLE275/* ARINSERT key specs */276keySpec ARINSERT_Keyspecs[1] = {277{NULL,CMD_KEY_RW|CMD_KEY_UPDATE,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}278};279#endif280281/* ARINSERT argument table */282struct COMMAND_ARG ARINSERT_Args[] = {283{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},284{MAKE_ARG("value",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,0,NULL)},285};286287/********** ARLASTITEMS ********************/288289#ifndef SKIP_CMD_HISTORY_TABLE290/* ARLASTITEMS history */291#define ARLASTITEMS_History NULL292#endif293294#ifndef SKIP_CMD_TIPS_TABLE295/* ARLASTITEMS tips */296#define ARLASTITEMS_Tips NULL297#endif298299#ifndef SKIP_CMD_KEY_SPECS_TABLE300/* ARLASTITEMS key specs */301keySpec ARLASTITEMS_Keyspecs[1] = {302{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}303};304#endif305306/* ARLASTITEMS argument table */307struct COMMAND_ARG ARLASTITEMS_Args[] = {308{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},309{MAKE_ARG("count",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},310{MAKE_ARG("rev",ARG_TYPE_PURE_TOKEN,-1,"REV",NULL,NULL,CMD_ARG_OPTIONAL,0,NULL)},311};312313/********** ARLEN ********************/314315#ifndef SKIP_CMD_HISTORY_TABLE316/* ARLEN history */317#define ARLEN_History NULL318#endif319320#ifndef SKIP_CMD_TIPS_TABLE321/* ARLEN tips */322#define ARLEN_Tips NULL323#endif324325#ifndef SKIP_CMD_KEY_SPECS_TABLE326/* ARLEN key specs */327keySpec ARLEN_Keyspecs[1] = {328{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}329};330#endif331332/* ARLEN argument table */333struct COMMAND_ARG ARLEN_Args[] = {334{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},335};336337/********** ARMGET ********************/338339#ifndef SKIP_CMD_HISTORY_TABLE340/* ARMGET history */341#define ARMGET_History NULL342#endif343344#ifndef SKIP_CMD_TIPS_TABLE345/* ARMGET tips */346#define ARMGET_Tips NULL347#endif348349#ifndef SKIP_CMD_KEY_SPECS_TABLE350/* ARMGET key specs */351keySpec ARMGET_Keyspecs[1] = {352{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}353};354#endif355356/* ARMGET argument table */357struct COMMAND_ARG ARMGET_Args[] = {358{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},359{MAKE_ARG("index",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,0,NULL)},360};361362/********** ARMSET ********************/363364#ifndef SKIP_CMD_HISTORY_TABLE365/* ARMSET history */366#define ARMSET_History NULL367#endif368369#ifndef SKIP_CMD_TIPS_TABLE370/* ARMSET tips */371#define ARMSET_Tips NULL372#endif373374#ifndef SKIP_CMD_KEY_SPECS_TABLE375/* ARMSET key specs */376keySpec ARMSET_Keyspecs[1] = {377{NULL,CMD_KEY_RW|CMD_KEY_UPDATE,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}378};379#endif380381/* ARMSET data argument table */382struct COMMAND_ARG ARMSET_data_Subargs[] = {383{MAKE_ARG("index",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},384{MAKE_ARG("value",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},385};386387/* ARMSET argument table */388struct COMMAND_ARG ARMSET_Args[] = {389{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},390{MAKE_ARG("data",ARG_TYPE_BLOCK,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,2,NULL),.subargs=ARMSET_data_Subargs},391};392393/********** ARNEXT ********************/394395#ifndef SKIP_CMD_HISTORY_TABLE396/* ARNEXT history */397#define ARNEXT_History NULL398#endif399400#ifndef SKIP_CMD_TIPS_TABLE401/* ARNEXT tips */402#define ARNEXT_Tips NULL403#endif404405#ifndef SKIP_CMD_KEY_SPECS_TABLE406/* ARNEXT key specs */407keySpec ARNEXT_Keyspecs[1] = {408{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}409};410#endif411412/* ARNEXT argument table */413struct COMMAND_ARG ARNEXT_Args[] = {414{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},415};416417/********** AROP ********************/418419#ifndef SKIP_CMD_HISTORY_TABLE420/* AROP history */421#define AROP_History NULL422#endif423424#ifndef SKIP_CMD_TIPS_TABLE425/* AROP tips */426#define AROP_Tips NULL427#endif428429#ifndef SKIP_CMD_KEY_SPECS_TABLE430/* AROP key specs */431keySpec AROP_Keyspecs[1] = {432{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}433};434#endif435436/* AROP operation match argument table */437struct COMMAND_ARG AROP_operation_match_Subargs[] = {438{MAKE_ARG("match",ARG_TYPE_PURE_TOKEN,-1,"MATCH",NULL,NULL,CMD_ARG_NONE,0,NULL)},439{MAKE_ARG("value",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},440};441442/* AROP operation argument table */443struct COMMAND_ARG AROP_operation_Subargs[] = {444{MAKE_ARG("sum",ARG_TYPE_PURE_TOKEN,-1,"SUM",NULL,NULL,CMD_ARG_NONE,0,NULL)},445{MAKE_ARG("min",ARG_TYPE_PURE_TOKEN,-1,"MIN",NULL,NULL,CMD_ARG_NONE,0,NULL)},446{MAKE_ARG("max",ARG_TYPE_PURE_TOKEN,-1,"MAX",NULL,NULL,CMD_ARG_NONE,0,NULL)},447{MAKE_ARG("and",ARG_TYPE_PURE_TOKEN,-1,"AND",NULL,NULL,CMD_ARG_NONE,0,NULL)},448{MAKE_ARG("or",ARG_TYPE_PURE_TOKEN,-1,"OR",NULL,NULL,CMD_ARG_NONE,0,NULL)},449{MAKE_ARG("xor",ARG_TYPE_PURE_TOKEN,-1,"XOR",NULL,NULL,CMD_ARG_NONE,0,NULL)},450{MAKE_ARG("match",ARG_TYPE_BLOCK,-1,NULL,NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=AROP_operation_match_Subargs},451{MAKE_ARG("used",ARG_TYPE_PURE_TOKEN,-1,"USED",NULL,NULL,CMD_ARG_NONE,0,NULL)},452};453454/* AROP argument table */455struct COMMAND_ARG AROP_Args[] = {456{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},457{MAKE_ARG("start",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},458{MAKE_ARG("end",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},459{MAKE_ARG("operation",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_NONE,8,NULL),.subargs=AROP_operation_Subargs},460};461462/********** ARRING ********************/463464#ifndef SKIP_CMD_HISTORY_TABLE465/* ARRING history */466#define ARRING_History NULL467#endif468469#ifndef SKIP_CMD_TIPS_TABLE470/* ARRING tips */471#define ARRING_Tips NULL472#endif473474#ifndef SKIP_CMD_KEY_SPECS_TABLE475/* ARRING key specs */476keySpec ARRING_Keyspecs[1] = {477{NULL,CMD_KEY_RW|CMD_KEY_UPDATE,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}478};479#endif480481/* ARRING argument table */482struct COMMAND_ARG ARRING_Args[] = {483{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},484{MAKE_ARG("size",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},485{MAKE_ARG("value",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,0,NULL)},486};487488/********** ARSCAN ********************/489490#ifndef SKIP_CMD_HISTORY_TABLE491/* ARSCAN history */492#define ARSCAN_History NULL493#endif494495#ifndef SKIP_CMD_TIPS_TABLE496/* ARSCAN tips */497#define ARSCAN_Tips NULL498#endif499500#ifndef SKIP_CMD_KEY_SPECS_TABLE501/* ARSCAN key specs */502keySpec ARSCAN_Keyspecs[1] = {503{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}504};505#endif506507/* ARSCAN argument table */508struct COMMAND_ARG ARSCAN_Args[] = {509{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},510{MAKE_ARG("start",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},511{MAKE_ARG("end",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},512{MAKE_ARG("limit",ARG_TYPE_INTEGER,-1,"LIMIT",NULL,NULL,CMD_ARG_OPTIONAL,0,NULL)},513};514515/********** ARSEEK ********************/516517#ifndef SKIP_CMD_HISTORY_TABLE518/* ARSEEK history */519#define ARSEEK_History NULL520#endif521522#ifndef SKIP_CMD_TIPS_TABLE523/* ARSEEK tips */524#define ARSEEK_Tips NULL525#endif526527#ifndef SKIP_CMD_KEY_SPECS_TABLE528/* ARSEEK key specs */529keySpec ARSEEK_Keyspecs[1] = {530{NULL,CMD_KEY_RW|CMD_KEY_UPDATE,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}531};532#endif533534/* ARSEEK argument table */535struct COMMAND_ARG ARSEEK_Args[] = {536{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},537{MAKE_ARG("index",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},538};539540/********** ARSET ********************/541542#ifndef SKIP_CMD_HISTORY_TABLE543/* ARSET history */544#define ARSET_History NULL545#endif546547#ifndef SKIP_CMD_TIPS_TABLE548/* ARSET tips */549#define ARSET_Tips NULL550#endif551552#ifndef SKIP_CMD_KEY_SPECS_TABLE553/* ARSET key specs */554keySpec ARSET_Keyspecs[1] = {555{NULL,CMD_KEY_RW|CMD_KEY_UPDATE,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}556};557#endif558559/* ARSET argument table */560struct COMMAND_ARG ARSET_Args[] = {561{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},562{MAKE_ARG("index",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},563{MAKE_ARG("value",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,0,NULL)},564};565566/********** BITCONVERT ********************/567568#ifndef SKIP_CMD_HISTORY_TABLE569/* BITCONVERT history */570#define BITCONVERT_History NULL571#endif572573#ifndef SKIP_CMD_TIPS_TABLE574/* BITCONVERT tips */575#define BITCONVERT_Tips NULL576#endif577578#ifndef SKIP_CMD_KEY_SPECS_TABLE579/* BITCONVERT key specs */580keySpec BITCONVERT_Keyspecs[1] = {581{NULL,CMD_KEY_RW|CMD_KEY_ACCESS|CMD_KEY_UPDATE,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}582};583#endif584585/* BITCONVERT argument table */586struct COMMAND_ARG BITCONVERT_Args[] = {587{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},588};589590/********** BITCOUNT ********************/591592#ifndef SKIP_CMD_HISTORY_TABLE593/* BITCOUNT history */594commandHistory BITCOUNT_History[] = {595{"7.0.0","Added the `BYTE|BIT` option."},596};597#endif598599#ifndef SKIP_CMD_TIPS_TABLE600/* BITCOUNT tips */601#define BITCOUNT_Tips NULL602#endif603604#ifndef SKIP_CMD_KEY_SPECS_TABLE605/* BITCOUNT key specs */606keySpec BITCOUNT_Keyspecs[1] = {607{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}608};609#endif610611/* BITCOUNT range unit argument table */612struct COMMAND_ARG BITCOUNT_range_unit_Subargs[] = {613{MAKE_ARG("byte",ARG_TYPE_PURE_TOKEN,-1,"BYTE",NULL,NULL,CMD_ARG_NONE,0,NULL)},614{MAKE_ARG("bit",ARG_TYPE_PURE_TOKEN,-1,"BIT",NULL,NULL,CMD_ARG_NONE,0,NULL)},615};616617/* BITCOUNT range argument table */618struct COMMAND_ARG BITCOUNT_range_Subargs[] = {619{MAKE_ARG("start",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},620{MAKE_ARG("end",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},621{MAKE_ARG("unit",ARG_TYPE_ONEOF,-1,NULL,NULL,"7.0.0",CMD_ARG_OPTIONAL,2,NULL),.subargs=BITCOUNT_range_unit_Subargs},622};623624/* BITCOUNT argument table */625struct COMMAND_ARG BITCOUNT_Args[] = {626{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},627{MAKE_ARG("range",ARG_TYPE_BLOCK,-1,NULL,NULL,NULL,CMD_ARG_OPTIONAL,3,NULL),.subargs=BITCOUNT_range_Subargs},628};629630/********** BITFIELD ********************/631632#ifndef SKIP_CMD_HISTORY_TABLE633/* BITFIELD history */634#define BITFIELD_History NULL635#endif636637#ifndef SKIP_CMD_TIPS_TABLE638/* BITFIELD tips */639#define BITFIELD_Tips NULL640#endif641642#ifndef SKIP_CMD_KEY_SPECS_TABLE643/* BITFIELD key specs */644keySpec BITFIELD_Keyspecs[1] = {645{"This command allows both access and modification of the key",CMD_KEY_RW|CMD_KEY_UPDATE|CMD_KEY_ACCESS|CMD_KEY_VARIABLE_FLAGS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}646};647#endif648649/* BITFIELD operation get_block argument table */650struct COMMAND_ARG BITFIELD_operation_get_block_Subargs[] = {651{MAKE_ARG("encoding",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},652{MAKE_ARG("offset",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},653};654655/* BITFIELD operation write overflow_block argument table */656struct COMMAND_ARG BITFIELD_operation_write_overflow_block_Subargs[] = {657{MAKE_ARG("wrap",ARG_TYPE_PURE_TOKEN,-1,"WRAP",NULL,NULL,CMD_ARG_NONE,0,NULL)},658{MAKE_ARG("sat",ARG_TYPE_PURE_TOKEN,-1,"SAT",NULL,NULL,CMD_ARG_NONE,0,NULL)},659{MAKE_ARG("fail",ARG_TYPE_PURE_TOKEN,-1,"FAIL",NULL,NULL,CMD_ARG_NONE,0,NULL)},660};661662/* BITFIELD operation write write_operation set_block argument table */663struct COMMAND_ARG BITFIELD_operation_write_write_operation_set_block_Subargs[] = {664{MAKE_ARG("encoding",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},665{MAKE_ARG("offset",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},666{MAKE_ARG("value",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},667};668669/* BITFIELD operation write write_operation incrby_block argument table */670struct COMMAND_ARG BITFIELD_operation_write_write_operation_incrby_block_Subargs[] = {671{MAKE_ARG("encoding",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},672{MAKE_ARG("offset",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},673{MAKE_ARG("increment",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},674};675676/* BITFIELD operation write write_operation argument table */677struct COMMAND_ARG BITFIELD_operation_write_write_operation_Subargs[] = {678{MAKE_ARG("set-block",ARG_TYPE_BLOCK,-1,"SET",NULL,NULL,CMD_ARG_NONE,3,NULL),.subargs=BITFIELD_operation_write_write_operation_set_block_Subargs},679{MAKE_ARG("incrby-block",ARG_TYPE_BLOCK,-1,"INCRBY",NULL,NULL,CMD_ARG_NONE,3,NULL),.subargs=BITFIELD_operation_write_write_operation_incrby_block_Subargs},680};681682/* BITFIELD operation write argument table */683struct COMMAND_ARG BITFIELD_operation_write_Subargs[] = {684{MAKE_ARG("overflow-block",ARG_TYPE_ONEOF,-1,"OVERFLOW",NULL,NULL,CMD_ARG_OPTIONAL,3,NULL),.subargs=BITFIELD_operation_write_overflow_block_Subargs},685{MAKE_ARG("write-operation",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=BITFIELD_operation_write_write_operation_Subargs},686};687688/* BITFIELD operation argument table */689struct COMMAND_ARG BITFIELD_operation_Subargs[] = {690{MAKE_ARG("get-block",ARG_TYPE_BLOCK,-1,"GET",NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=BITFIELD_operation_get_block_Subargs},691{MAKE_ARG("write",ARG_TYPE_BLOCK,-1,NULL,NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=BITFIELD_operation_write_Subargs},692};693694/* BITFIELD argument table */695struct COMMAND_ARG BITFIELD_Args[] = {696{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},697{MAKE_ARG("operation",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_OPTIONAL|CMD_ARG_MULTIPLE,2,NULL),.subargs=BITFIELD_operation_Subargs},698};699700/********** BITFIELD_RO ********************/701702#ifndef SKIP_CMD_HISTORY_TABLE703/* BITFIELD_RO history */704#define BITFIELD_RO_History NULL705#endif706707#ifndef SKIP_CMD_TIPS_TABLE708/* BITFIELD_RO tips */709#define BITFIELD_RO_Tips NULL710#endif711712#ifndef SKIP_CMD_KEY_SPECS_TABLE713/* BITFIELD_RO key specs */714keySpec BITFIELD_RO_Keyspecs[1] = {715{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}716};717#endif718719/* BITFIELD_RO get_block argument table */720struct COMMAND_ARG BITFIELD_RO_get_block_Subargs[] = {721{MAKE_ARG("encoding",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},722{MAKE_ARG("offset",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},723};724725/* BITFIELD_RO argument table */726struct COMMAND_ARG BITFIELD_RO_Args[] = {727{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},728{MAKE_ARG("get-block",ARG_TYPE_BLOCK,-1,"GET",NULL,NULL,CMD_ARG_OPTIONAL|CMD_ARG_MULTIPLE|CMD_ARG_MULTIPLE_TOKEN,2,NULL),.subargs=BITFIELD_RO_get_block_Subargs},729};730731/********** BITOP ********************/732733#ifndef SKIP_CMD_HISTORY_TABLE734/* BITOP history */735#define BITOP_History NULL736#endif737738#ifndef SKIP_CMD_TIPS_TABLE739/* BITOP tips */740#define BITOP_Tips NULL741#endif742743#ifndef SKIP_CMD_KEY_SPECS_TABLE744/* BITOP key specs */745keySpec BITOP_Keyspecs[2] = {746{NULL,CMD_KEY_OW|CMD_KEY_UPDATE,KSPEC_BS_INDEX,.bs.index={2},KSPEC_FK_RANGE,.fk.range={0,1,0}},{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={3},KSPEC_FK_RANGE,.fk.range={-1,1,0}}747};748#endif749750/* BITOP operation argument table */751struct COMMAND_ARG BITOP_operation_Subargs[] = {752{MAKE_ARG("and",ARG_TYPE_PURE_TOKEN,-1,"AND",NULL,NULL,CMD_ARG_NONE,0,NULL)},753{MAKE_ARG("or",ARG_TYPE_PURE_TOKEN,-1,"OR",NULL,NULL,CMD_ARG_NONE,0,NULL)},754{MAKE_ARG("xor",ARG_TYPE_PURE_TOKEN,-1,"XOR",NULL,NULL,CMD_ARG_NONE,0,NULL)},755{MAKE_ARG("not",ARG_TYPE_PURE_TOKEN,-1,"NOT",NULL,NULL,CMD_ARG_NONE,0,NULL)},756{MAKE_ARG("diff",ARG_TYPE_PURE_TOKEN,-1,"DIFF",NULL,NULL,CMD_ARG_NONE,0,NULL)},757{MAKE_ARG("diff1",ARG_TYPE_PURE_TOKEN,-1,"DIFF1",NULL,NULL,CMD_ARG_NONE,0,NULL)},758{MAKE_ARG("andor",ARG_TYPE_PURE_TOKEN,-1,"ANDOR",NULL,NULL,CMD_ARG_NONE,0,NULL)},759{MAKE_ARG("one",ARG_TYPE_PURE_TOKEN,-1,"ONE",NULL,NULL,CMD_ARG_NONE,0,NULL)},760};761762/* BITOP argument table */763struct COMMAND_ARG BITOP_Args[] = {764{MAKE_ARG("operation",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_NONE,8,NULL),.subargs=BITOP_operation_Subargs},765{MAKE_ARG("destkey",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},766{MAKE_ARG("key",ARG_TYPE_KEY,1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,0,NULL)},767};768769/********** BITPOS ********************/770771#ifndef SKIP_CMD_HISTORY_TABLE772/* BITPOS history */773commandHistory BITPOS_History[] = {774{"7.0.0","Added the `BYTE|BIT` option."},775};776#endif777778#ifndef SKIP_CMD_TIPS_TABLE779/* BITPOS tips */780#define BITPOS_Tips NULL781#endif782783#ifndef SKIP_CMD_KEY_SPECS_TABLE784/* BITPOS key specs */785keySpec BITPOS_Keyspecs[1] = {786{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}787};788#endif789790/* BITPOS range end_unit_block unit argument table */791struct COMMAND_ARG BITPOS_range_end_unit_block_unit_Subargs[] = {792{MAKE_ARG("byte",ARG_TYPE_PURE_TOKEN,-1,"BYTE",NULL,NULL,CMD_ARG_NONE,0,NULL)},793{MAKE_ARG("bit",ARG_TYPE_PURE_TOKEN,-1,"BIT",NULL,NULL,CMD_ARG_NONE,0,NULL)},794};795796/* BITPOS range end_unit_block argument table */797struct COMMAND_ARG BITPOS_range_end_unit_block_Subargs[] = {798{MAKE_ARG("end",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},799{MAKE_ARG("unit",ARG_TYPE_ONEOF,-1,NULL,NULL,"7.0.0",CMD_ARG_OPTIONAL,2,NULL),.subargs=BITPOS_range_end_unit_block_unit_Subargs},800};801802/* BITPOS range argument table */803struct COMMAND_ARG BITPOS_range_Subargs[] = {804{MAKE_ARG("start",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},805{MAKE_ARG("end-unit-block",ARG_TYPE_BLOCK,-1,NULL,NULL,NULL,CMD_ARG_OPTIONAL,2,NULL),.subargs=BITPOS_range_end_unit_block_Subargs},806};807808/* BITPOS argument table */809struct COMMAND_ARG BITPOS_Args[] = {810{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},811{MAKE_ARG("bit",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},812{MAKE_ARG("range",ARG_TYPE_BLOCK,-1,NULL,NULL,NULL,CMD_ARG_OPTIONAL,2,NULL),.subargs=BITPOS_range_Subargs},813};814815/********** BITROAROP ********************/816817#ifndef SKIP_CMD_HISTORY_TABLE818/* BITROAROP history */819#define BITROAROP_History NULL820#endif821822#ifndef SKIP_CMD_TIPS_TABLE823/* BITROAROP tips */824#define BITROAROP_Tips NULL825#endif826827#ifndef SKIP_CMD_KEY_SPECS_TABLE828/* BITROAROP key specs */829keySpec BITROAROP_Keyspecs[2] = {830{NULL,CMD_KEY_OW|CMD_KEY_UPDATE,KSPEC_BS_INDEX,.bs.index={2},KSPEC_FK_RANGE,.fk.range={0,1,0}},{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={3},KSPEC_FK_RANGE,.fk.range={-1,1,0}}831};832#endif833834/* BITROAROP operation argument table */835struct COMMAND_ARG BITROAROP_operation_Subargs[] = {836{MAKE_ARG("and",ARG_TYPE_PURE_TOKEN,-1,"AND",NULL,NULL,CMD_ARG_NONE,0,NULL)},837{MAKE_ARG("or",ARG_TYPE_PURE_TOKEN,-1,"OR",NULL,NULL,CMD_ARG_NONE,0,NULL)},838{MAKE_ARG("xor",ARG_TYPE_PURE_TOKEN,-1,"XOR",NULL,NULL,CMD_ARG_NONE,0,NULL)},839{MAKE_ARG("not",ARG_TYPE_PURE_TOKEN,-1,"NOT",NULL,NULL,CMD_ARG_NONE,0,NULL)},840{MAKE_ARG("diff",ARG_TYPE_PURE_TOKEN,-1,"DIFF",NULL,NULL,CMD_ARG_NONE,0,NULL)},841{MAKE_ARG("diff1",ARG_TYPE_PURE_TOKEN,-1,"DIFF1",NULL,NULL,CMD_ARG_NONE,0,NULL)},842{MAKE_ARG("andor",ARG_TYPE_PURE_TOKEN,-1,"ANDOR",NULL,NULL,CMD_ARG_NONE,0,NULL)},843{MAKE_ARG("one",ARG_TYPE_PURE_TOKEN,-1,"ONE",NULL,NULL,CMD_ARG_NONE,0,NULL)},844};845846/* BITROAROP argument table */847struct COMMAND_ARG BITROAROP_Args[] = {848{MAKE_ARG("operation",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_NONE,8,NULL),.subargs=BITROAROP_operation_Subargs},849{MAKE_ARG("destkey",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},850{MAKE_ARG("key",ARG_TYPE_KEY,1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,0,NULL)},851};852853/********** GETBIT ********************/854855#ifndef SKIP_CMD_HISTORY_TABLE856/* GETBIT history */857#define GETBIT_History NULL858#endif859860#ifndef SKIP_CMD_TIPS_TABLE861/* GETBIT tips */862#define GETBIT_Tips NULL863#endif864865#ifndef SKIP_CMD_KEY_SPECS_TABLE866/* GETBIT key specs */867keySpec GETBIT_Keyspecs[1] = {868{NULL,CMD_KEY_RO|CMD_KEY_ACCESS,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}869};870#endif871872/* GETBIT argument table */873struct COMMAND_ARG GETBIT_Args[] = {874{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},875{MAKE_ARG("offset",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},876};877878/********** SETBIT ********************/879880#ifndef SKIP_CMD_HISTORY_TABLE881/* SETBIT history */882#define SETBIT_History NULL883#endif884885#ifndef SKIP_CMD_TIPS_TABLE886/* SETBIT tips */887#define SETBIT_Tips NULL888#endif889890#ifndef SKIP_CMD_KEY_SPECS_TABLE891/* SETBIT key specs */892keySpec SETBIT_Keyspecs[1] = {893{NULL,CMD_KEY_RW|CMD_KEY_ACCESS|CMD_KEY_UPDATE,KSPEC_BS_INDEX,.bs.index={1},KSPEC_FK_RANGE,.fk.range={0,1,0}}894};895#endif896897/* SETBIT argument table */898struct COMMAND_ARG SETBIT_Args[] = {899{MAKE_ARG("key",ARG_TYPE_KEY,0,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},900{MAKE_ARG("offset",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},901{MAKE_ARG("value",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},902};903904/********** ASKING ********************/905906#ifndef SKIP_CMD_HISTORY_TABLE907/* ASKING history */908#define ASKING_History NULL909#endif910911#ifndef SKIP_CMD_TIPS_TABLE912/* ASKING tips */913#define ASKING_Tips NULL914#endif915916#ifndef SKIP_CMD_KEY_SPECS_TABLE917/* ASKING key specs */918#define ASKING_Keyspecs NULL919#endif920921/********** CLUSTER ADDSLOTS ********************/922923#ifndef SKIP_CMD_HISTORY_TABLE924/* CLUSTER ADDSLOTS history */925#define CLUSTER_ADDSLOTS_History NULL926#endif927928#ifndef SKIP_CMD_TIPS_TABLE929/* CLUSTER ADDSLOTS tips */930#define CLUSTER_ADDSLOTS_Tips NULL931#endif932933#ifndef SKIP_CMD_KEY_SPECS_TABLE934/* CLUSTER ADDSLOTS key specs */935#define CLUSTER_ADDSLOTS_Keyspecs NULL936#endif937938/* CLUSTER ADDSLOTS argument table */939struct COMMAND_ARG CLUSTER_ADDSLOTS_Args[] = {940{MAKE_ARG("slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,0,NULL)},941};942943/********** CLUSTER ADDSLOTSRANGE ********************/944945#ifndef SKIP_CMD_HISTORY_TABLE946/* CLUSTER ADDSLOTSRANGE history */947#define CLUSTER_ADDSLOTSRANGE_History NULL948#endif949950#ifndef SKIP_CMD_TIPS_TABLE951/* CLUSTER ADDSLOTSRANGE tips */952#define CLUSTER_ADDSLOTSRANGE_Tips NULL953#endif954955#ifndef SKIP_CMD_KEY_SPECS_TABLE956/* CLUSTER ADDSLOTSRANGE key specs */957#define CLUSTER_ADDSLOTSRANGE_Keyspecs NULL958#endif959960/* CLUSTER ADDSLOTSRANGE range argument table */961struct COMMAND_ARG CLUSTER_ADDSLOTSRANGE_range_Subargs[] = {962{MAKE_ARG("start-slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},963{MAKE_ARG("end-slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},964};965966/* CLUSTER ADDSLOTSRANGE argument table */967struct COMMAND_ARG CLUSTER_ADDSLOTSRANGE_Args[] = {968{MAKE_ARG("range",ARG_TYPE_BLOCK,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,2,NULL),.subargs=CLUSTER_ADDSLOTSRANGE_range_Subargs},969};970971/********** CLUSTER BUMPEPOCH ********************/972973#ifndef SKIP_CMD_HISTORY_TABLE974/* CLUSTER BUMPEPOCH history */975#define CLUSTER_BUMPEPOCH_History NULL976#endif977978#ifndef SKIP_CMD_TIPS_TABLE979/* CLUSTER BUMPEPOCH tips */980const char *CLUSTER_BUMPEPOCH_Tips[] = {981"nondeterministic_output",982};983#endif984985#ifndef SKIP_CMD_KEY_SPECS_TABLE986/* CLUSTER BUMPEPOCH key specs */987#define CLUSTER_BUMPEPOCH_Keyspecs NULL988#endif989990/********** CLUSTER COUNT_FAILURE_REPORTS ********************/991992#ifndef SKIP_CMD_HISTORY_TABLE993/* CLUSTER COUNT_FAILURE_REPORTS history */994#define CLUSTER_COUNT_FAILURE_REPORTS_History NULL995#endif996997#ifndef SKIP_CMD_TIPS_TABLE998/* CLUSTER COUNT_FAILURE_REPORTS tips */999const char *CLUSTER_COUNT_FAILURE_REPORTS_Tips[] = {1000"nondeterministic_output",1001};1002#endif10031004#ifndef SKIP_CMD_KEY_SPECS_TABLE1005/* CLUSTER COUNT_FAILURE_REPORTS key specs */1006#define CLUSTER_COUNT_FAILURE_REPORTS_Keyspecs NULL1007#endif10081009/* CLUSTER COUNT_FAILURE_REPORTS argument table */1010struct COMMAND_ARG CLUSTER_COUNT_FAILURE_REPORTS_Args[] = {1011{MAKE_ARG("node-id",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1012};10131014/********** CLUSTER COUNTKEYSINSLOT ********************/10151016#ifndef SKIP_CMD_HISTORY_TABLE1017/* CLUSTER COUNTKEYSINSLOT history */1018#define CLUSTER_COUNTKEYSINSLOT_History NULL1019#endif10201021#ifndef SKIP_CMD_TIPS_TABLE1022/* CLUSTER COUNTKEYSINSLOT tips */1023#define CLUSTER_COUNTKEYSINSLOT_Tips NULL1024#endif10251026#ifndef SKIP_CMD_KEY_SPECS_TABLE1027/* CLUSTER COUNTKEYSINSLOT key specs */1028#define CLUSTER_COUNTKEYSINSLOT_Keyspecs NULL1029#endif10301031/* CLUSTER COUNTKEYSINSLOT argument table */1032struct COMMAND_ARG CLUSTER_COUNTKEYSINSLOT_Args[] = {1033{MAKE_ARG("slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1034};10351036/********** CLUSTER DELSLOTS ********************/10371038#ifndef SKIP_CMD_HISTORY_TABLE1039/* CLUSTER DELSLOTS history */1040#define CLUSTER_DELSLOTS_History NULL1041#endif10421043#ifndef SKIP_CMD_TIPS_TABLE1044/* CLUSTER DELSLOTS tips */1045#define CLUSTER_DELSLOTS_Tips NULL1046#endif10471048#ifndef SKIP_CMD_KEY_SPECS_TABLE1049/* CLUSTER DELSLOTS key specs */1050#define CLUSTER_DELSLOTS_Keyspecs NULL1051#endif10521053/* CLUSTER DELSLOTS argument table */1054struct COMMAND_ARG CLUSTER_DELSLOTS_Args[] = {1055{MAKE_ARG("slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,0,NULL)},1056};10571058/********** CLUSTER DELSLOTSRANGE ********************/10591060#ifndef SKIP_CMD_HISTORY_TABLE1061/* CLUSTER DELSLOTSRANGE history */1062#define CLUSTER_DELSLOTSRANGE_History NULL1063#endif10641065#ifndef SKIP_CMD_TIPS_TABLE1066/* CLUSTER DELSLOTSRANGE tips */1067#define CLUSTER_DELSLOTSRANGE_Tips NULL1068#endif10691070#ifndef SKIP_CMD_KEY_SPECS_TABLE1071/* CLUSTER DELSLOTSRANGE key specs */1072#define CLUSTER_DELSLOTSRANGE_Keyspecs NULL1073#endif10741075/* CLUSTER DELSLOTSRANGE range argument table */1076struct COMMAND_ARG CLUSTER_DELSLOTSRANGE_range_Subargs[] = {1077{MAKE_ARG("start-slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1078{MAKE_ARG("end-slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1079};10801081/* CLUSTER DELSLOTSRANGE argument table */1082struct COMMAND_ARG CLUSTER_DELSLOTSRANGE_Args[] = {1083{MAKE_ARG("range",ARG_TYPE_BLOCK,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,2,NULL),.subargs=CLUSTER_DELSLOTSRANGE_range_Subargs},1084};10851086/********** CLUSTER FAILOVER ********************/10871088#ifndef SKIP_CMD_HISTORY_TABLE1089/* CLUSTER FAILOVER history */1090#define CLUSTER_FAILOVER_History NULL1091#endif10921093#ifndef SKIP_CMD_TIPS_TABLE1094/* CLUSTER FAILOVER tips */1095#define CLUSTER_FAILOVER_Tips NULL1096#endif10971098#ifndef SKIP_CMD_KEY_SPECS_TABLE1099/* CLUSTER FAILOVER key specs */1100#define CLUSTER_FAILOVER_Keyspecs NULL1101#endif11021103/* CLUSTER FAILOVER options argument table */1104struct COMMAND_ARG CLUSTER_FAILOVER_options_Subargs[] = {1105{MAKE_ARG("force",ARG_TYPE_PURE_TOKEN,-1,"FORCE",NULL,NULL,CMD_ARG_NONE,0,NULL)},1106{MAKE_ARG("takeover",ARG_TYPE_PURE_TOKEN,-1,"TAKEOVER",NULL,NULL,CMD_ARG_NONE,0,NULL)},1107};11081109/* CLUSTER FAILOVER argument table */1110struct COMMAND_ARG CLUSTER_FAILOVER_Args[] = {1111{MAKE_ARG("options",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_OPTIONAL,2,NULL),.subargs=CLUSTER_FAILOVER_options_Subargs},1112};11131114/********** CLUSTER FLUSHSLOTS ********************/11151116#ifndef SKIP_CMD_HISTORY_TABLE1117/* CLUSTER FLUSHSLOTS history */1118#define CLUSTER_FLUSHSLOTS_History NULL1119#endif11201121#ifndef SKIP_CMD_TIPS_TABLE1122/* CLUSTER FLUSHSLOTS tips */1123#define CLUSTER_FLUSHSLOTS_Tips NULL1124#endif11251126#ifndef SKIP_CMD_KEY_SPECS_TABLE1127/* CLUSTER FLUSHSLOTS key specs */1128#define CLUSTER_FLUSHSLOTS_Keyspecs NULL1129#endif11301131/********** CLUSTER FORGET ********************/11321133#ifndef SKIP_CMD_HISTORY_TABLE1134/* CLUSTER FORGET history */1135#define CLUSTER_FORGET_History NULL1136#endif11371138#ifndef SKIP_CMD_TIPS_TABLE1139/* CLUSTER FORGET tips */1140#define CLUSTER_FORGET_Tips NULL1141#endif11421143#ifndef SKIP_CMD_KEY_SPECS_TABLE1144/* CLUSTER FORGET key specs */1145#define CLUSTER_FORGET_Keyspecs NULL1146#endif11471148/* CLUSTER FORGET argument table */1149struct COMMAND_ARG CLUSTER_FORGET_Args[] = {1150{MAKE_ARG("node-id",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1151};11521153/********** CLUSTER GETKEYSINSLOT ********************/11541155#ifndef SKIP_CMD_HISTORY_TABLE1156/* CLUSTER GETKEYSINSLOT history */1157#define CLUSTER_GETKEYSINSLOT_History NULL1158#endif11591160#ifndef SKIP_CMD_TIPS_TABLE1161/* CLUSTER GETKEYSINSLOT tips */1162const char *CLUSTER_GETKEYSINSLOT_Tips[] = {1163"nondeterministic_output",1164};1165#endif11661167#ifndef SKIP_CMD_KEY_SPECS_TABLE1168/* CLUSTER GETKEYSINSLOT key specs */1169#define CLUSTER_GETKEYSINSLOT_Keyspecs NULL1170#endif11711172/* CLUSTER GETKEYSINSLOT argument table */1173struct COMMAND_ARG CLUSTER_GETKEYSINSLOT_Args[] = {1174{MAKE_ARG("slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1175{MAKE_ARG("count",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1176};11771178/********** CLUSTER HELP ********************/11791180#ifndef SKIP_CMD_HISTORY_TABLE1181/* CLUSTER HELP history */1182#define CLUSTER_HELP_History NULL1183#endif11841185#ifndef SKIP_CMD_TIPS_TABLE1186/* CLUSTER HELP tips */1187#define CLUSTER_HELP_Tips NULL1188#endif11891190#ifndef SKIP_CMD_KEY_SPECS_TABLE1191/* CLUSTER HELP key specs */1192#define CLUSTER_HELP_Keyspecs NULL1193#endif11941195/********** CLUSTER INFO ********************/11961197#ifndef SKIP_CMD_HISTORY_TABLE1198/* CLUSTER INFO history */1199#define CLUSTER_INFO_History NULL1200#endif12011202#ifndef SKIP_CMD_TIPS_TABLE1203/* CLUSTER INFO tips */1204const char *CLUSTER_INFO_Tips[] = {1205"nondeterministic_output",1206};1207#endif12081209#ifndef SKIP_CMD_KEY_SPECS_TABLE1210/* CLUSTER INFO key specs */1211#define CLUSTER_INFO_Keyspecs NULL1212#endif12131214/********** CLUSTER KEYSLOT ********************/12151216#ifndef SKIP_CMD_HISTORY_TABLE1217/* CLUSTER KEYSLOT history */1218#define CLUSTER_KEYSLOT_History NULL1219#endif12201221#ifndef SKIP_CMD_TIPS_TABLE1222/* CLUSTER KEYSLOT tips */1223#define CLUSTER_KEYSLOT_Tips NULL1224#endif12251226#ifndef SKIP_CMD_KEY_SPECS_TABLE1227/* CLUSTER KEYSLOT key specs */1228#define CLUSTER_KEYSLOT_Keyspecs NULL1229#endif12301231/* CLUSTER KEYSLOT argument table */1232struct COMMAND_ARG CLUSTER_KEYSLOT_Args[] = {1233{MAKE_ARG("key",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1234};12351236/********** CLUSTER LINKS ********************/12371238#ifndef SKIP_CMD_HISTORY_TABLE1239/* CLUSTER LINKS history */1240#define CLUSTER_LINKS_History NULL1241#endif12421243#ifndef SKIP_CMD_TIPS_TABLE1244/* CLUSTER LINKS tips */1245const char *CLUSTER_LINKS_Tips[] = {1246"nondeterministic_output",1247};1248#endif12491250#ifndef SKIP_CMD_KEY_SPECS_TABLE1251/* CLUSTER LINKS key specs */1252#define CLUSTER_LINKS_Keyspecs NULL1253#endif12541255/********** CLUSTER MEET ********************/12561257#ifndef SKIP_CMD_HISTORY_TABLE1258/* CLUSTER MEET history */1259commandHistory CLUSTER_MEET_History[] = {1260{"4.0.0","Added the optional `cluster_bus_port` argument."},1261};1262#endif12631264#ifndef SKIP_CMD_TIPS_TABLE1265/* CLUSTER MEET tips */1266#define CLUSTER_MEET_Tips NULL1267#endif12681269#ifndef SKIP_CMD_KEY_SPECS_TABLE1270/* CLUSTER MEET key specs */1271#define CLUSTER_MEET_Keyspecs NULL1272#endif12731274/* CLUSTER MEET argument table */1275struct COMMAND_ARG CLUSTER_MEET_Args[] = {1276{MAKE_ARG("ip",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1277{MAKE_ARG("port",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1278{MAKE_ARG("cluster-bus-port",ARG_TYPE_INTEGER,-1,NULL,NULL,"4.0.0",CMD_ARG_OPTIONAL,0,NULL)},1279};12801281/********** CLUSTER MIGRATION ********************/12821283#ifndef SKIP_CMD_HISTORY_TABLE1284/* CLUSTER MIGRATION history */1285#define CLUSTER_MIGRATION_History NULL1286#endif12871288#ifndef SKIP_CMD_TIPS_TABLE1289/* CLUSTER MIGRATION tips */1290#define CLUSTER_MIGRATION_Tips NULL1291#endif12921293#ifndef SKIP_CMD_KEY_SPECS_TABLE1294/* CLUSTER MIGRATION key specs */1295#define CLUSTER_MIGRATION_Keyspecs NULL1296#endif12971298/* CLUSTER MIGRATION subcommand import argument table */1299struct COMMAND_ARG CLUSTER_MIGRATION_subcommand_import_Subargs[] = {1300{MAKE_ARG("start-slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1301{MAKE_ARG("end-slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1302};13031304/* CLUSTER MIGRATION subcommand cancel argument table */1305struct COMMAND_ARG CLUSTER_MIGRATION_subcommand_cancel_Subargs[] = {1306{MAKE_ARG("task-id",ARG_TYPE_STRING,-1,"ID",NULL,NULL,CMD_ARG_NONE,0,NULL)},1307{MAKE_ARG("all",ARG_TYPE_PURE_TOKEN,-1,"ALL",NULL,NULL,CMD_ARG_NONE,0,NULL)},1308};13091310/* CLUSTER MIGRATION subcommand status argument table */1311struct COMMAND_ARG CLUSTER_MIGRATION_subcommand_status_Subargs[] = {1312{MAKE_ARG("task-id",ARG_TYPE_STRING,-1,"ID",NULL,NULL,CMD_ARG_OPTIONAL,0,NULL)},1313{MAKE_ARG("all",ARG_TYPE_PURE_TOKEN,-1,"ALL",NULL,NULL,CMD_ARG_OPTIONAL,0,NULL)},1314};13151316/* CLUSTER MIGRATION subcommand argument table */1317struct COMMAND_ARG CLUSTER_MIGRATION_subcommand_Subargs[] = {1318{MAKE_ARG("import",ARG_TYPE_BLOCK,-1,"IMPORT",NULL,NULL,CMD_ARG_MULTIPLE,2,NULL),.subargs=CLUSTER_MIGRATION_subcommand_import_Subargs},1319{MAKE_ARG("cancel",ARG_TYPE_ONEOF,-1,"CANCEL",NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=CLUSTER_MIGRATION_subcommand_cancel_Subargs},1320{MAKE_ARG("status",ARG_TYPE_ONEOF,-1,"STATUS",NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=CLUSTER_MIGRATION_subcommand_status_Subargs},1321};13221323/* CLUSTER MIGRATION argument table */1324struct COMMAND_ARG CLUSTER_MIGRATION_Args[] = {1325{MAKE_ARG("subcommand",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_NONE,3,NULL),.subargs=CLUSTER_MIGRATION_subcommand_Subargs},1326};13271328/********** CLUSTER MYID ********************/13291330#ifndef SKIP_CMD_HISTORY_TABLE1331/* CLUSTER MYID history */1332#define CLUSTER_MYID_History NULL1333#endif13341335#ifndef SKIP_CMD_TIPS_TABLE1336/* CLUSTER MYID tips */1337#define CLUSTER_MYID_Tips NULL1338#endif13391340#ifndef SKIP_CMD_KEY_SPECS_TABLE1341/* CLUSTER MYID key specs */1342#define CLUSTER_MYID_Keyspecs NULL1343#endif13441345/********** CLUSTER MYSHARDID ********************/13461347#ifndef SKIP_CMD_HISTORY_TABLE1348/* CLUSTER MYSHARDID history */1349#define CLUSTER_MYSHARDID_History NULL1350#endif13511352#ifndef SKIP_CMD_TIPS_TABLE1353/* CLUSTER MYSHARDID tips */1354const char *CLUSTER_MYSHARDID_Tips[] = {1355"nondeterministic_output",1356};1357#endif13581359#ifndef SKIP_CMD_KEY_SPECS_TABLE1360/* CLUSTER MYSHARDID key specs */1361#define CLUSTER_MYSHARDID_Keyspecs NULL1362#endif13631364/********** CLUSTER NODES ********************/13651366#ifndef SKIP_CMD_HISTORY_TABLE1367/* CLUSTER NODES history */1368#define CLUSTER_NODES_History NULL1369#endif13701371#ifndef SKIP_CMD_TIPS_TABLE1372/* CLUSTER NODES tips */1373const char *CLUSTER_NODES_Tips[] = {1374"nondeterministic_output",1375};1376#endif13771378#ifndef SKIP_CMD_KEY_SPECS_TABLE1379/* CLUSTER NODES key specs */1380#define CLUSTER_NODES_Keyspecs NULL1381#endif13821383/********** CLUSTER REPLICAS ********************/13841385#ifndef SKIP_CMD_HISTORY_TABLE1386/* CLUSTER REPLICAS history */1387#define CLUSTER_REPLICAS_History NULL1388#endif13891390#ifndef SKIP_CMD_TIPS_TABLE1391/* CLUSTER REPLICAS tips */1392const char *CLUSTER_REPLICAS_Tips[] = {1393"nondeterministic_output",1394};1395#endif13961397#ifndef SKIP_CMD_KEY_SPECS_TABLE1398/* CLUSTER REPLICAS key specs */1399#define CLUSTER_REPLICAS_Keyspecs NULL1400#endif14011402/* CLUSTER REPLICAS argument table */1403struct COMMAND_ARG CLUSTER_REPLICAS_Args[] = {1404{MAKE_ARG("node-id",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1405};14061407/********** CLUSTER REPLICATE ********************/14081409#ifndef SKIP_CMD_HISTORY_TABLE1410/* CLUSTER REPLICATE history */1411#define CLUSTER_REPLICATE_History NULL1412#endif14131414#ifndef SKIP_CMD_TIPS_TABLE1415/* CLUSTER REPLICATE tips */1416#define CLUSTER_REPLICATE_Tips NULL1417#endif14181419#ifndef SKIP_CMD_KEY_SPECS_TABLE1420/* CLUSTER REPLICATE key specs */1421#define CLUSTER_REPLICATE_Keyspecs NULL1422#endif14231424/* CLUSTER REPLICATE argument table */1425struct COMMAND_ARG CLUSTER_REPLICATE_Args[] = {1426{MAKE_ARG("node-id",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1427};14281429/********** CLUSTER RESET ********************/14301431#ifndef SKIP_CMD_HISTORY_TABLE1432/* CLUSTER RESET history */1433#define CLUSTER_RESET_History NULL1434#endif14351436#ifndef SKIP_CMD_TIPS_TABLE1437/* CLUSTER RESET tips */1438#define CLUSTER_RESET_Tips NULL1439#endif14401441#ifndef SKIP_CMD_KEY_SPECS_TABLE1442/* CLUSTER RESET key specs */1443#define CLUSTER_RESET_Keyspecs NULL1444#endif14451446/* CLUSTER RESET reset_type argument table */1447struct COMMAND_ARG CLUSTER_RESET_reset_type_Subargs[] = {1448{MAKE_ARG("hard",ARG_TYPE_PURE_TOKEN,-1,"HARD",NULL,NULL,CMD_ARG_NONE,0,NULL)},1449{MAKE_ARG("soft",ARG_TYPE_PURE_TOKEN,-1,"SOFT",NULL,NULL,CMD_ARG_NONE,0,NULL)},1450};14511452/* CLUSTER RESET argument table */1453struct COMMAND_ARG CLUSTER_RESET_Args[] = {1454{MAKE_ARG("reset-type",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_OPTIONAL,2,NULL),.subargs=CLUSTER_RESET_reset_type_Subargs},1455};14561457/********** CLUSTER SAVECONFIG ********************/14581459#ifndef SKIP_CMD_HISTORY_TABLE1460/* CLUSTER SAVECONFIG history */1461#define CLUSTER_SAVECONFIG_History NULL1462#endif14631464#ifndef SKIP_CMD_TIPS_TABLE1465/* CLUSTER SAVECONFIG tips */1466#define CLUSTER_SAVECONFIG_Tips NULL1467#endif14681469#ifndef SKIP_CMD_KEY_SPECS_TABLE1470/* CLUSTER SAVECONFIG key specs */1471#define CLUSTER_SAVECONFIG_Keyspecs NULL1472#endif14731474/********** CLUSTER SET_CONFIG_EPOCH ********************/14751476#ifndef SKIP_CMD_HISTORY_TABLE1477/* CLUSTER SET_CONFIG_EPOCH history */1478#define CLUSTER_SET_CONFIG_EPOCH_History NULL1479#endif14801481#ifndef SKIP_CMD_TIPS_TABLE1482/* CLUSTER SET_CONFIG_EPOCH tips */1483#define CLUSTER_SET_CONFIG_EPOCH_Tips NULL1484#endif14851486#ifndef SKIP_CMD_KEY_SPECS_TABLE1487/* CLUSTER SET_CONFIG_EPOCH key specs */1488#define CLUSTER_SET_CONFIG_EPOCH_Keyspecs NULL1489#endif14901491/* CLUSTER SET_CONFIG_EPOCH argument table */1492struct COMMAND_ARG CLUSTER_SET_CONFIG_EPOCH_Args[] = {1493{MAKE_ARG("config-epoch",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1494};14951496/********** CLUSTER SETSLOT ********************/14971498#ifndef SKIP_CMD_HISTORY_TABLE1499/* CLUSTER SETSLOT history */1500#define CLUSTER_SETSLOT_History NULL1501#endif15021503#ifndef SKIP_CMD_TIPS_TABLE1504/* CLUSTER SETSLOT tips */1505#define CLUSTER_SETSLOT_Tips NULL1506#endif15071508#ifndef SKIP_CMD_KEY_SPECS_TABLE1509/* CLUSTER SETSLOT key specs */1510#define CLUSTER_SETSLOT_Keyspecs NULL1511#endif15121513/* CLUSTER SETSLOT subcommand argument table */1514struct COMMAND_ARG CLUSTER_SETSLOT_subcommand_Subargs[] = {1515{MAKE_ARG("importing",ARG_TYPE_STRING,-1,"IMPORTING",NULL,NULL,CMD_ARG_NONE,0,NULL),.display_text="node-id"},1516{MAKE_ARG("migrating",ARG_TYPE_STRING,-1,"MIGRATING",NULL,NULL,CMD_ARG_NONE,0,NULL),.display_text="node-id"},1517{MAKE_ARG("node",ARG_TYPE_STRING,-1,"NODE",NULL,NULL,CMD_ARG_NONE,0,NULL),.display_text="node-id"},1518{MAKE_ARG("stable",ARG_TYPE_PURE_TOKEN,-1,"STABLE",NULL,NULL,CMD_ARG_NONE,0,NULL)},1519};15201521/* CLUSTER SETSLOT argument table */1522struct COMMAND_ARG CLUSTER_SETSLOT_Args[] = {1523{MAKE_ARG("slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1524{MAKE_ARG("subcommand",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_NONE,4,NULL),.subargs=CLUSTER_SETSLOT_subcommand_Subargs},1525};15261527/********** CLUSTER SHARDS ********************/15281529#ifndef SKIP_CMD_HISTORY_TABLE1530/* CLUSTER SHARDS history */1531#define CLUSTER_SHARDS_History NULL1532#endif15331534#ifndef SKIP_CMD_TIPS_TABLE1535/* CLUSTER SHARDS tips */1536const char *CLUSTER_SHARDS_Tips[] = {1537"nondeterministic_output",1538};1539#endif15401541#ifndef SKIP_CMD_KEY_SPECS_TABLE1542/* CLUSTER SHARDS key specs */1543#define CLUSTER_SHARDS_Keyspecs NULL1544#endif15451546/********** CLUSTER SLAVES ********************/15471548#ifndef SKIP_CMD_HISTORY_TABLE1549/* CLUSTER SLAVES history */1550#define CLUSTER_SLAVES_History NULL1551#endif15521553#ifndef SKIP_CMD_TIPS_TABLE1554/* CLUSTER SLAVES tips */1555const char *CLUSTER_SLAVES_Tips[] = {1556"nondeterministic_output",1557};1558#endif15591560#ifndef SKIP_CMD_KEY_SPECS_TABLE1561/* CLUSTER SLAVES key specs */1562#define CLUSTER_SLAVES_Keyspecs NULL1563#endif15641565/* CLUSTER SLAVES argument table */1566struct COMMAND_ARG CLUSTER_SLAVES_Args[] = {1567{MAKE_ARG("node-id",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1568};15691570/********** CLUSTER SLOT_STATS ********************/15711572#ifndef SKIP_CMD_HISTORY_TABLE1573/* CLUSTER SLOT_STATS history */1574#define CLUSTER_SLOT_STATS_History NULL1575#endif15761577#ifndef SKIP_CMD_TIPS_TABLE1578/* CLUSTER SLOT_STATS tips */1579const char *CLUSTER_SLOT_STATS_Tips[] = {1580"nondeterministic_output",1581"request_policy:all_shards",1582};1583#endif15841585#ifndef SKIP_CMD_KEY_SPECS_TABLE1586/* CLUSTER SLOT_STATS key specs */1587#define CLUSTER_SLOT_STATS_Keyspecs NULL1588#endif15891590/* CLUSTER SLOT_STATS filter slotsrange argument table */1591struct COMMAND_ARG CLUSTER_SLOT_STATS_filter_slotsrange_Subargs[] = {1592{MAKE_ARG("start-slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1593{MAKE_ARG("end-slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1594};15951596/* CLUSTER SLOT_STATS filter orderby order argument table */1597struct COMMAND_ARG CLUSTER_SLOT_STATS_filter_orderby_order_Subargs[] = {1598{MAKE_ARG("asc",ARG_TYPE_PURE_TOKEN,-1,"ASC",NULL,NULL,CMD_ARG_NONE,0,NULL)},1599{MAKE_ARG("desc",ARG_TYPE_PURE_TOKEN,-1,"DESC",NULL,NULL,CMD_ARG_NONE,0,NULL)},1600};16011602/* CLUSTER SLOT_STATS filter orderby argument table */1603struct COMMAND_ARG CLUSTER_SLOT_STATS_filter_orderby_Subargs[] = {1604{MAKE_ARG("metric",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1605{MAKE_ARG("limit",ARG_TYPE_INTEGER,-1,"LIMIT",NULL,NULL,CMD_ARG_OPTIONAL,0,NULL)},1606{MAKE_ARG("order",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_OPTIONAL,2,NULL),.subargs=CLUSTER_SLOT_STATS_filter_orderby_order_Subargs},1607};16081609/* CLUSTER SLOT_STATS filter argument table */1610struct COMMAND_ARG CLUSTER_SLOT_STATS_filter_Subargs[] = {1611{MAKE_ARG("slotsrange",ARG_TYPE_BLOCK,-1,"SLOTSRANGE",NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=CLUSTER_SLOT_STATS_filter_slotsrange_Subargs},1612{MAKE_ARG("orderby",ARG_TYPE_BLOCK,-1,"ORDERBY",NULL,NULL,CMD_ARG_NONE,3,NULL),.subargs=CLUSTER_SLOT_STATS_filter_orderby_Subargs},1613};16141615/* CLUSTER SLOT_STATS argument table */1616struct COMMAND_ARG CLUSTER_SLOT_STATS_Args[] = {1617{MAKE_ARG("filter",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=CLUSTER_SLOT_STATS_filter_Subargs},1618};16191620/********** CLUSTER SLOTS ********************/16211622#ifndef SKIP_CMD_HISTORY_TABLE1623/* CLUSTER SLOTS history */1624commandHistory CLUSTER_SLOTS_History[] = {1625{"4.0.0","Added node IDs."},1626{"7.0.0","Added additional networking metadata field."},1627};1628#endif16291630#ifndef SKIP_CMD_TIPS_TABLE1631/* CLUSTER SLOTS tips */1632const char *CLUSTER_SLOTS_Tips[] = {1633"nondeterministic_output",1634};1635#endif16361637#ifndef SKIP_CMD_KEY_SPECS_TABLE1638/* CLUSTER SLOTS key specs */1639#define CLUSTER_SLOTS_Keyspecs NULL1640#endif16411642/********** CLUSTER SYNCSLOTS ********************/16431644#ifndef SKIP_CMD_HISTORY_TABLE1645/* CLUSTER SYNCSLOTS history */1646#define CLUSTER_SYNCSLOTS_History NULL1647#endif16481649#ifndef SKIP_CMD_TIPS_TABLE1650/* CLUSTER SYNCSLOTS tips */1651const char *CLUSTER_SYNCSLOTS_Tips[] = {1652"nondeterministic_output",1653};1654#endif16551656#ifndef SKIP_CMD_KEY_SPECS_TABLE1657/* CLUSTER SYNCSLOTS key specs */1658#define CLUSTER_SYNCSLOTS_Keyspecs NULL1659#endif16601661/* CLUSTER SYNCSLOTS subcommand sync slot_range argument table */1662struct COMMAND_ARG CLUSTER_SYNCSLOTS_subcommand_sync_slot_range_Subargs[] = {1663{MAKE_ARG("start-slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1664{MAKE_ARG("end-slot",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1665};16661667/* CLUSTER SYNCSLOTS subcommand sync argument table */1668struct COMMAND_ARG CLUSTER_SYNCSLOTS_subcommand_sync_Subargs[] = {1669{MAKE_ARG("task-id",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1670{MAKE_ARG("slot-range",ARG_TYPE_BLOCK,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,2,NULL),.subargs=CLUSTER_SYNCSLOTS_subcommand_sync_slot_range_Subargs},1671};16721673/* CLUSTER SYNCSLOTS subcommand ack argument table */1674struct COMMAND_ARG CLUSTER_SYNCSLOTS_subcommand_ack_Subargs[] = {1675{MAKE_ARG("state",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1676{MAKE_ARG("offset",ARG_TYPE_INTEGER,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1677};16781679/* CLUSTER SYNCSLOTS subcommand conf argument table */1680struct COMMAND_ARG CLUSTER_SYNCSLOTS_subcommand_conf_Subargs[] = {1681{MAKE_ARG("option",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,0,NULL)},1682{MAKE_ARG("value",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,0,NULL)},1683};16841685/* CLUSTER SYNCSLOTS subcommand argument table */1686struct COMMAND_ARG CLUSTER_SYNCSLOTS_subcommand_Subargs[] = {1687{MAKE_ARG("sync",ARG_TYPE_BLOCK,-1,"SYNC",NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=CLUSTER_SYNCSLOTS_subcommand_sync_Subargs},1688{MAKE_ARG("task-id",ARG_TYPE_STRING,-1,"RDBCHANNEL",NULL,NULL,CMD_ARG_NONE,0,NULL)},1689{MAKE_ARG("snapshot-eof",ARG_TYPE_PURE_TOKEN,-1,"SNAPSHOT-EOF",NULL,NULL,CMD_ARG_NONE,0,NULL)},1690{MAKE_ARG("stream-eof",ARG_TYPE_PURE_TOKEN,-1,"STREAM-EOF",NULL,NULL,CMD_ARG_NONE,0,NULL)},1691{MAKE_ARG("ack",ARG_TYPE_BLOCK,-1,"ACK",NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=CLUSTER_SYNCSLOTS_subcommand_ack_Subargs},1692{MAKE_ARG("error",ARG_TYPE_STRING,-1,"FAIL",NULL,NULL,CMD_ARG_NONE,0,NULL)},1693{MAKE_ARG("conf",ARG_TYPE_BLOCK,-1,"CONF",NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=CLUSTER_SYNCSLOTS_subcommand_conf_Subargs},1694};16951696/* CLUSTER SYNCSLOTS argument table */1697struct COMMAND_ARG CLUSTER_SYNCSLOTS_Args[] = {1698{MAKE_ARG("subcommand",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_NONE,7,NULL),.subargs=CLUSTER_SYNCSLOTS_subcommand_Subargs},1699};17001701/* CLUSTER command table */1702struct COMMAND_STRUCT CLUSTER_Subcommands[] = {1703{MAKE_CMD("addslots","Assigns new hash slots to a node.","O(N) where N is the total number of hash slot arguments","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_ADDSLOTS_History,0,CLUSTER_ADDSLOTS_Tips,0,clusterCommand,-3,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_ADDSLOTS_Keyspecs,0,NULL,1),.args=CLUSTER_ADDSLOTS_Args},1704{MAKE_CMD("addslotsrange","Assigns new hash slot ranges to a node.","O(N) where N is the total number of the slots between the start slot and end slot arguments.","7.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_ADDSLOTSRANGE_History,0,CLUSTER_ADDSLOTSRANGE_Tips,0,clusterCommand,-4,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_ADDSLOTSRANGE_Keyspecs,0,NULL,1),.args=CLUSTER_ADDSLOTSRANGE_Args},1705{MAKE_CMD("bumpepoch","Advances the cluster config epoch.","O(1)","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_BUMPEPOCH_History,0,CLUSTER_BUMPEPOCH_Tips,1,clusterCommand,2,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_BUMPEPOCH_Keyspecs,0,NULL,0)},1706{MAKE_CMD("count-failure-reports","Returns the number of active failure reports active for a node.","O(N) where N is the number of failure reports","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_COUNT_FAILURE_REPORTS_History,0,CLUSTER_COUNT_FAILURE_REPORTS_Tips,1,clusterCommand,3,CMD_ADMIN|CMD_LOADING|CMD_STALE,0,CLUSTER_COUNT_FAILURE_REPORTS_Keyspecs,0,NULL,1),.args=CLUSTER_COUNT_FAILURE_REPORTS_Args},1707{MAKE_CMD("countkeysinslot","Returns the number of keys in a hash slot.","O(1)","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_COUNTKEYSINSLOT_History,0,CLUSTER_COUNTKEYSINSLOT_Tips,0,clusterCommand,3,CMD_STALE,0,CLUSTER_COUNTKEYSINSLOT_Keyspecs,0,NULL,1),.args=CLUSTER_COUNTKEYSINSLOT_Args},1708{MAKE_CMD("delslots","Sets hash slots as unbound for a node.","O(N) where N is the total number of hash slot arguments","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_DELSLOTS_History,0,CLUSTER_DELSLOTS_Tips,0,clusterCommand,-3,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_DELSLOTS_Keyspecs,0,NULL,1),.args=CLUSTER_DELSLOTS_Args},1709{MAKE_CMD("delslotsrange","Sets hash slot ranges as unbound for a node.","O(N) where N is the total number of the slots between the start slot and end slot arguments.","7.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_DELSLOTSRANGE_History,0,CLUSTER_DELSLOTSRANGE_Tips,0,clusterCommand,-4,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_DELSLOTSRANGE_Keyspecs,0,NULL,1),.args=CLUSTER_DELSLOTSRANGE_Args},1710{MAKE_CMD("failover","Forces a replica to perform a manual failover of its master.","O(1)","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_FAILOVER_History,0,CLUSTER_FAILOVER_Tips,0,clusterCommand,-2,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_FAILOVER_Keyspecs,0,NULL,1),.args=CLUSTER_FAILOVER_Args},1711{MAKE_CMD("flushslots","Deletes all slots information from a node.","O(1)","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_FLUSHSLOTS_History,0,CLUSTER_FLUSHSLOTS_Tips,0,clusterCommand,2,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_FLUSHSLOTS_Keyspecs,0,NULL,0)},1712{MAKE_CMD("forget","Removes a node from the nodes table.","O(1)","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_FORGET_History,0,CLUSTER_FORGET_Tips,0,clusterCommand,3,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_FORGET_Keyspecs,0,NULL,1),.args=CLUSTER_FORGET_Args},1713{MAKE_CMD("getkeysinslot","Returns the key names in a hash slot.","O(N) where N is the number of requested keys","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_GETKEYSINSLOT_History,0,CLUSTER_GETKEYSINSLOT_Tips,1,clusterCommand,4,CMD_STALE,0,CLUSTER_GETKEYSINSLOT_Keyspecs,0,NULL,2),.args=CLUSTER_GETKEYSINSLOT_Args},1714{MAKE_CMD("help","Returns helpful text about the different subcommands.","O(1)","5.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_HELP_History,0,CLUSTER_HELP_Tips,0,clusterCommand,2,CMD_LOADING|CMD_STALE,0,CLUSTER_HELP_Keyspecs,0,NULL,0)},1715{MAKE_CMD("info","Returns information about the state of a node.","O(1)","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_INFO_History,0,CLUSTER_INFO_Tips,1,clusterCommand,2,CMD_LOADING|CMD_STALE,0,CLUSTER_INFO_Keyspecs,0,NULL,0)},1716{MAKE_CMD("keyslot","Returns the hash slot for a key.","O(N) where N is the number of bytes in the key","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_KEYSLOT_History,0,CLUSTER_KEYSLOT_Tips,0,clusterCommand,3,CMD_LOADING|CMD_STALE,0,CLUSTER_KEYSLOT_Keyspecs,0,NULL,1),.args=CLUSTER_KEYSLOT_Args},1717{MAKE_CMD("links","Returns a list of all TCP links to and from peer nodes.","O(N) where N is the total number of Cluster nodes","7.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_LINKS_History,0,CLUSTER_LINKS_Tips,1,clusterCommand,2,CMD_LOADING|CMD_STALE,0,CLUSTER_LINKS_Keyspecs,0,NULL,0)},1718{MAKE_CMD("meet","Forces a node to handshake with another node.","O(1)","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_MEET_History,1,CLUSTER_MEET_Tips,0,clusterCommand,-4,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_MEET_Keyspecs,0,NULL,3),.args=CLUSTER_MEET_Args},1719{MAKE_CMD("migration","Start, monitor and cancel slot migration.","O(N) where N is the total number of the slots between the start slot and end slot arguments.","8.4.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_MIGRATION_History,0,CLUSTER_MIGRATION_Tips,0,clusterCommand,-4,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_MIGRATION_Keyspecs,0,NULL,1),.args=CLUSTER_MIGRATION_Args},1720{MAKE_CMD("myid","Returns the ID of a node.","O(1)","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_MYID_History,0,CLUSTER_MYID_Tips,0,clusterCommand,2,CMD_LOADING|CMD_STALE,0,CLUSTER_MYID_Keyspecs,0,NULL,0)},1721{MAKE_CMD("myshardid","Returns the shard ID of a node.","O(1)","7.2.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_MYSHARDID_History,0,CLUSTER_MYSHARDID_Tips,1,clusterCommand,2,CMD_LOADING|CMD_STALE,0,CLUSTER_MYSHARDID_Keyspecs,0,NULL,0)},1722{MAKE_CMD("nodes","Returns the cluster configuration for a node.","O(N) where N is the total number of Cluster nodes","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_NODES_History,0,CLUSTER_NODES_Tips,1,clusterCommand,2,CMD_LOADING|CMD_STALE,0,CLUSTER_NODES_Keyspecs,0,NULL,0)},1723{MAKE_CMD("replicas","Lists the replica nodes of a master node.","O(N) where N is the number of replicas.","5.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_REPLICAS_History,0,CLUSTER_REPLICAS_Tips,1,clusterCommand,3,CMD_ADMIN|CMD_LOADING|CMD_STALE,0,CLUSTER_REPLICAS_Keyspecs,0,NULL,1),.args=CLUSTER_REPLICAS_Args},1724{MAKE_CMD("replicate","Configure a node as replica of a master node.","O(1)","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_REPLICATE_History,0,CLUSTER_REPLICATE_Tips,0,clusterCommand,3,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_REPLICATE_Keyspecs,0,NULL,1),.args=CLUSTER_REPLICATE_Args},1725{MAKE_CMD("reset","Resets a node.","O(N) where N is the number of known nodes. The command may execute a FLUSHALL as a side effect.","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_RESET_History,0,CLUSTER_RESET_Tips,0,clusterCommand,-2,CMD_ADMIN|CMD_STALE|CMD_NOSCRIPT,0,CLUSTER_RESET_Keyspecs,0,NULL,1),.args=CLUSTER_RESET_Args},1726{MAKE_CMD("saveconfig","Forces a node to save the cluster configuration to disk.","O(1)","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_SAVECONFIG_History,0,CLUSTER_SAVECONFIG_Tips,0,clusterCommand,2,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_SAVECONFIG_Keyspecs,0,NULL,0)},1727{MAKE_CMD("set-config-epoch","Sets the configuration epoch for a new node.","O(1)","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_SET_CONFIG_EPOCH_History,0,CLUSTER_SET_CONFIG_EPOCH_Tips,0,clusterCommand,3,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_SET_CONFIG_EPOCH_Keyspecs,0,NULL,1),.args=CLUSTER_SET_CONFIG_EPOCH_Args},1728{MAKE_CMD("setslot","Binds a hash slot to a node.","O(1)","3.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_SETSLOT_History,0,CLUSTER_SETSLOT_Tips,0,clusterCommand,-4,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_SETSLOT_Keyspecs,0,NULL,2),.args=CLUSTER_SETSLOT_Args},1729{MAKE_CMD("shards","Returns the mapping of cluster slots to shards.","O(N) where N is the total number of cluster nodes","7.0.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_SHARDS_History,0,CLUSTER_SHARDS_Tips,1,clusterCommand,2,CMD_LOADING|CMD_STALE,0,CLUSTER_SHARDS_Keyspecs,0,NULL,0)},1730{MAKE_CMD("slaves","Lists the replica nodes of a master node.","O(N) where N is the number of replicas.","3.0.0",CMD_DOC_DEPRECATED,"`CLUSTER REPLICAS`","5.0.0","cluster",COMMAND_GROUP_CLUSTER,CLUSTER_SLAVES_History,0,CLUSTER_SLAVES_Tips,1,clusterCommand,3,CMD_ADMIN|CMD_LOADING|CMD_STALE,0,CLUSTER_SLAVES_Keyspecs,0,NULL,1),.args=CLUSTER_SLAVES_Args},1731{MAKE_CMD("slot-stats","Return an array of slot usage statistics for slots assigned to the current node.","O(N) where N is the total number of slots based on arguments. O(N*log(N)) with ORDERBY subcommand.","8.2.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_SLOT_STATS_History,0,CLUSTER_SLOT_STATS_Tips,2,clusterSlotStatsCommand,-4,CMD_STALE|CMD_LOADING,0,CLUSTER_SLOT_STATS_Keyspecs,0,NULL,1),.args=CLUSTER_SLOT_STATS_Args},1732{MAKE_CMD("slots","Returns the mapping of cluster slots to nodes.","O(N) where N is the total number of Cluster nodes","3.0.0",CMD_DOC_DEPRECATED,"`CLUSTER SHARDS`","7.0.0","cluster",COMMAND_GROUP_CLUSTER,CLUSTER_SLOTS_History,2,CLUSTER_SLOTS_Tips,1,clusterCommand,2,CMD_LOADING|CMD_STALE,0,CLUSTER_SLOTS_Keyspecs,0,NULL,0)},1733{MAKE_CMD("syncslots","Internal command for atomic slot migration protocol between cluster nodes.","O(1)","8.4.0",CMD_DOC_NONE,NULL,NULL,"cluster",COMMAND_GROUP_CLUSTER,CLUSTER_SYNCSLOTS_History,0,CLUSTER_SYNCSLOTS_Tips,1,clusterCommand,-3,CMD_NO_ASYNC_LOADING|CMD_ADMIN|CMD_STALE,0,CLUSTER_SYNCSLOTS_Keyspecs,0,NULL,1),.args=CLUSTER_SYNCSLOTS_Args},1734{0}1735};17361737/********** CLUSTER ********************/17381739#ifndef SKIP_CMD_HISTORY_TABLE1740/* CLUSTER history */1741#define CLUSTER_History NULL1742#endif17431744#ifndef SKIP_CMD_TIPS_TABLE1745/* CLUSTER tips */1746#define CLUSTER_Tips NULL1747#endif17481749#ifndef SKIP_CMD_KEY_SPECS_TABLE1750/* CLUSTER key specs */1751#define CLUSTER_Keyspecs NULL1752#endif17531754/********** READONLY ********************/17551756#ifndef SKIP_CMD_HISTORY_TABLE1757/* READONLY history */1758#define READONLY_History NULL1759#endif17601761#ifndef SKIP_CMD_TIPS_TABLE1762/* READONLY tips */1763#define READONLY_Tips NULL1764#endif17651766#ifndef SKIP_CMD_KEY_SPECS_TABLE1767/* READONLY key specs */1768#define READONLY_Keyspecs NULL1769#endif17701771/********** READWRITE ********************/17721773#ifndef SKIP_CMD_HISTORY_TABLE1774/* READWRITE history */1775#define READWRITE_History NULL1776#endif17771778#ifndef SKIP_CMD_TIPS_TABLE1779/* READWRITE tips */1780#define READWRITE_Tips NULL1781#endif17821783#ifndef SKIP_CMD_KEY_SPECS_TABLE1784/* READWRITE key specs */1785#define READWRITE_Keyspecs NULL1786#endif17871788/********** AUTH ********************/17891790#ifndef SKIP_CMD_HISTORY_TABLE1791/* AUTH history */1792commandHistory AUTH_History[] = {1793{"6.0.0","Added ACL style (username and password)."},1794};1795#endif17961797#ifndef SKIP_CMD_TIPS_TABLE1798/* AUTH tips */1799#define AUTH_Tips NULL1800#endif18011802#ifndef SKIP_CMD_KEY_SPECS_TABLE1803/* AUTH key specs */1804#define AUTH_Keyspecs NULL1805#endif18061807/* AUTH argument table */1808struct COMMAND_ARG AUTH_Args[] = {1809{MAKE_ARG("username",ARG_TYPE_STRING,-1,NULL,NULL,"6.0.0",CMD_ARG_OPTIONAL,0,NULL)},1810{MAKE_ARG("password",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,NULL)},1811};18121813/********** CLIENT CACHING ********************/18141815#ifndef SKIP_CMD_HISTORY_TABLE1816/* CLIENT CACHING history */1817#define CLIENT_CACHING_History NULL1818#endif18191820#ifndef SKIP_CMD_TIPS_TABLE1821/* CLIENT CACHING tips */1822#define CLIENT_CACHING_Tips NULL1823#endif18241825#ifndef SKIP_CMD_KEY_SPECS_TABLE1826/* CLIENT CACHING key specs */1827#define CLIENT_CACHING_Keyspecs NULL1828#endif18291830/* CLIENT CACHING mode argument table */1831struct COMMAND_ARG CLIENT_CACHING_mode_Subargs[] = {1832{MAKE_ARG("yes",ARG_TYPE_PURE_TOKEN,-1,"YES",NULL,NULL,CMD_ARG_NONE,0,NULL)},1833{MAKE_ARG("no",ARG_TYPE_PURE_TOKEN,-1,"NO",NULL,NULL,CMD_ARG_NONE,0,NULL)},1834};18351836/* CLIENT CACHING argument table */1837struct COMMAND_ARG CLIENT_CACHING_Args[] = {1838{MAKE_ARG("mode",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=CLIENT_CACHING_mode_Subargs},1839};18401841/********** CLIENT GETNAME ********************/18421843#ifndef SKIP_CMD_HISTORY_TABLE1844/* CLIENT GETNAME history */1845#define CLIENT_GETNAME_History NULL1846#endif18471848#ifndef SKIP_CMD_TIPS_TABLE1849/* CLIENT GETNAME tips */1850#define CLIENT_GETNAME_Tips NULL1851#endif18521853#ifndef SKIP_CMD_KEY_SPECS_TABLE1854/* CLIENT GETNAME key specs */1855#define CLIENT_GETNAME_Keyspecs NULL1856#endif18571858/********** CLIENT GETREDIR ********************/18591860#ifndef SKIP_CMD_HISTORY_TABLE1861/* CLIENT GETREDIR history */1862#define CLIENT_GETREDIR_History NULL1863#endif18641865#ifndef SKIP_CMD_TIPS_TABLE1866/* CLIENT GETREDIR tips */1867#define CLIENT_GETREDIR_Tips NULL1868#endif18691870#ifndef SKIP_CMD_KEY_SPECS_TABLE1871/* CLIENT GETREDIR key specs */1872#define CLIENT_GETREDIR_Keyspecs NULL1873#endif18741875/********** CLIENT HELP ********************/18761877#ifndef SKIP_CMD_HISTORY_TABLE1878/* CLIENT HELP history */1879#define CLIENT_HELP_History NULL1880#endif18811882#ifndef SKIP_CMD_TIPS_TABLE1883/* CLIENT HELP tips */1884#define CLIENT_HELP_Tips NULL1885#endif18861887#ifndef SKIP_CMD_KEY_SPECS_TABLE1888/* CLIENT HELP key specs */1889#define CLIENT_HELP_Keyspecs NULL1890#endif18911892/********** CLIENT ID ********************/18931894#ifndef SKIP_CMD_HISTORY_TABLE1895/* CLIENT ID history */1896#define CLIENT_ID_History NULL1897#endif18981899#ifndef SKIP_CMD_TIPS_TABLE1900/* CLIENT ID tips */1901#define CLIENT_ID_Tips NULL1902#endif19031904#ifndef SKIP_CMD_KEY_SPECS_TABLE1905/* CLIENT ID key specs */1906#define CLIENT_ID_Keyspecs NULL1907#endif19081909/********** CLIENT INFO ********************/19101911#ifndef SKIP_CMD_HISTORY_TABLE1912/* CLIENT INFO history */1913#define CLIENT_INFO_History NULL1914#endif19151916#ifndef SKIP_CMD_TIPS_TABLE1917/* CLIENT INFO tips */1918const char *CLIENT_INFO_Tips[] = {1919"nondeterministic_output",1920};1921#endif19221923#ifndef SKIP_CMD_KEY_SPECS_TABLE1924/* CLIENT INFO key specs */1925#define CLIENT_INFO_Keyspecs NULL1926#endif19271928/********** CLIENT KILL ********************/19291930#ifndef SKIP_CMD_HISTORY_TABLE1931/* CLIENT KILL history */1932commandHistory CLIENT_KILL_History[] = {1933{"2.8.12","Added new filter format."},1934{"2.8.12","`ID` option."},1935{"3.2.0","Added `master` type in for `TYPE` option."},1936{"5.0.0","Replaced `slave` `TYPE` with `replica`. `slave` still supported for backward compatibility."},1937{"6.2.0","`LADDR` option."},1938{"7.4.0","`MAXAGE` option."},1939};1940#endif19411942#ifndef SKIP_CMD_TIPS_TABLE1943/* CLIENT KILL tips */1944#define CLIENT_KILL_Tips NULL1945#endif19461947#ifndef SKIP_CMD_KEY_SPECS_TABLE1948/* CLIENT KILL key specs */1949#define CLIENT_KILL_Keyspecs NULL1950#endif19511952/* CLIENT KILL filter new_format client_type argument table */1953struct COMMAND_ARG CLIENT_KILL_filter_new_format_client_type_Subargs[] = {1954{MAKE_ARG("normal",ARG_TYPE_PURE_TOKEN,-1,"NORMAL",NULL,NULL,CMD_ARG_NONE,0,NULL)},1955{MAKE_ARG("master",ARG_TYPE_PURE_TOKEN,-1,"MASTER",NULL,"3.2.0",CMD_ARG_NONE,0,NULL)},1956{MAKE_ARG("slave",ARG_TYPE_PURE_TOKEN,-1,"SLAVE",NULL,NULL,CMD_ARG_NONE,0,NULL)},1957{MAKE_ARG("replica",ARG_TYPE_PURE_TOKEN,-1,"REPLICA",NULL,"5.0.0",CMD_ARG_NONE,0,NULL)},1958{MAKE_ARG("pubsub",ARG_TYPE_PURE_TOKEN,-1,"PUBSUB",NULL,NULL,CMD_ARG_NONE,0,NULL)},1959};19601961/* CLIENT KILL filter new_format skipme argument table */1962struct COMMAND_ARG CLIENT_KILL_filter_new_format_skipme_Subargs[] = {1963{MAKE_ARG("yes",ARG_TYPE_PURE_TOKEN,-1,"YES",NULL,NULL,CMD_ARG_NONE,0,NULL)},1964{MAKE_ARG("no",ARG_TYPE_PURE_TOKEN,-1,"NO",NULL,NULL,CMD_ARG_NONE,0,NULL)},1965};19661967/* CLIENT KILL filter new_format argument table */1968struct COMMAND_ARG CLIENT_KILL_filter_new_format_Subargs[] = {1969{MAKE_ARG("client-id",ARG_TYPE_INTEGER,-1,"ID",NULL,"2.8.12",CMD_ARG_OPTIONAL,0,NULL)},1970{MAKE_ARG("client-type",ARG_TYPE_ONEOF,-1,"TYPE",NULL,"2.8.12",CMD_ARG_OPTIONAL,5,NULL),.subargs=CLIENT_KILL_filter_new_format_client_type_Subargs},1971{MAKE_ARG("username",ARG_TYPE_STRING,-1,"USER",NULL,NULL,CMD_ARG_OPTIONAL,0,NULL)},1972{MAKE_ARG("addr",ARG_TYPE_STRING,-1,"ADDR",NULL,NULL,CMD_ARG_OPTIONAL,0,NULL),.display_text="ip:port"},1973{MAKE_ARG("laddr",ARG_TYPE_STRING,-1,"LADDR",NULL,"6.2.0",CMD_ARG_OPTIONAL,0,NULL),.display_text="ip:port"},1974{MAKE_ARG("skipme",ARG_TYPE_ONEOF,-1,"SKIPME",NULL,NULL,CMD_ARG_OPTIONAL,2,NULL),.subargs=CLIENT_KILL_filter_new_format_skipme_Subargs},1975{MAKE_ARG("maxage",ARG_TYPE_INTEGER,-1,"MAXAGE",NULL,"7.4.0",CMD_ARG_OPTIONAL,0,NULL)},1976};19771978/* CLIENT KILL filter argument table */1979struct COMMAND_ARG CLIENT_KILL_filter_Subargs[] = {1980{MAKE_ARG("old-format",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,"2.8.12"),.display_text="ip:port"},1981{MAKE_ARG("new-format",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,7,NULL),.subargs=CLIENT_KILL_filter_new_format_Subargs},1982};19831984/* CLIENT KILL argument table */1985struct COMMAND_ARG CLIENT_KILL_Args[] = {1986{MAKE_ARG("filter",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_NONE,2,NULL),.subargs=CLIENT_KILL_filter_Subargs},1987};19881989/********** CLIENT LIST ********************/19901991#ifndef SKIP_CMD_HISTORY_TABLE1992/* CLIENT LIST history */1993commandHistory CLIENT_LIST_History[] = {1994{"2.8.12","Added unique client `id` field."},1995{"5.0.0","Added optional `TYPE` filter."},1996{"6.0.0","Added `user` field."},1997{"6.2.0","Added `argv-mem`, `tot-mem`, `laddr` and `redir` fields and the optional `ID` filter."},1998{"7.0.0","Added `resp`, `multi-mem`, `rbs` and `rbp` fields."},1999{"7.0.3","Added `ssub` field."},2000{"7.2.0","Added `lib-name` and `lib-ver` fields."},

Findings

✓ No findings reported for this file.

Get this view in your editor

Same data, no extra tab — call code_get_file + code_get_findings over MCP from Claude/Cursor/Copilot.

Generated by searchcode.com · powered by code_get_file + code_get_findings