Skip to content

Commit d2565be

Browse files
win5923rueian
andauthored
Generate new HGETDEL, HGETEX, HSETEX command builders (#825)
* Generate new HGETDEL, HGETEX, HSETEX command builders Signed-off-by: win5923 <[email protected]> * Generate new HGETDEL, HGETEX, HSETEX command builders Signed-off-by: Rueian <[email protected]> --------- Signed-off-by: win5923 <[email protected]> Signed-off-by: Rueian <[email protected]> Co-authored-by: Rueian <[email protected]>
1 parent 9c59b24 commit d2565be

File tree

4 files changed

+538
-1
lines changed

4 files changed

+538
-1
lines changed

hack/cmds/commands.json

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3087,6 +3087,172 @@
30873087
"since": "2.0.0",
30883088
"group": "hash"
30893089
},
3090+
"HGETDEL": {
3091+
"summary": "Returns the value of a field and deletes it from the hash",
3092+
"complexity": "O(N) where N is the number of specified fields",
3093+
"arguments": [
3094+
{
3095+
"name": "key",
3096+
"type": "key"
3097+
},
3098+
{
3099+
"name": "fields",
3100+
"type": "enum",
3101+
"enum": ["FIELDS"]
3102+
},
3103+
{
3104+
"name": "numfields",
3105+
"type": "integer"
3106+
},
3107+
{
3108+
"name": "field",
3109+
"type": "string",
3110+
"multiple": true
3111+
}
3112+
],
3113+
"since": "8.0.0",
3114+
"group": "hash"
3115+
},
3116+
"HGETEX": {
3117+
"summary": "Get the value of one or more fields of a given hash key, and optionally set their expiration.",
3118+
"complexity": "O(N) where N is the number of specified fields",
3119+
"arguments": [
3120+
{
3121+
"name": "key",
3122+
"type": "key"
3123+
},
3124+
{
3125+
"name": "expiration",
3126+
"type": "oneof",
3127+
"optional": true,
3128+
"arguments": [
3129+
{
3130+
"name": "EX",
3131+
"type": "integer",
3132+
"token": "EX"
3133+
},
3134+
{
3135+
"name": "PX",
3136+
"type": "integer",
3137+
"token": "PX"
3138+
},
3139+
{
3140+
"name": "EXAT",
3141+
"type": "unix-time",
3142+
"token": "EXAT"
3143+
},
3144+
{
3145+
"name": "PXAT",
3146+
"type": "unix-time",
3147+
"token": "PXAT"
3148+
},
3149+
{
3150+
"name": "PERSIST",
3151+
"type": "pure-token",
3152+
"token": "PERSIST"
3153+
}
3154+
]
3155+
},
3156+
{
3157+
"name": "fields",
3158+
"type": "enum",
3159+
"enum": ["FIELDS"]
3160+
},
3161+
{
3162+
"name": "numfields",
3163+
"type": "integer"
3164+
},
3165+
{
3166+
"name": "field",
3167+
"type": "string",
3168+
"multiple": true
3169+
}
3170+
],
3171+
"since": "8.0.0",
3172+
"group": "hash"
3173+
},
3174+
"HSETEX": {
3175+
"summary": "Set the value of one or more fields of a given hash key, and optionally set their expiration.",
3176+
"complexity": "O(N) where N is the number of fields being set.",
3177+
"arguments": [
3178+
{
3179+
"name": "key",
3180+
"type": "key",
3181+
"key_spec_index": 0
3182+
},
3183+
{
3184+
"name": "condition",
3185+
"type": "oneof",
3186+
"optional": true,
3187+
"arguments": [
3188+
{
3189+
"name": "fnx",
3190+
"type": "pure-token",
3191+
"token": "FNX"
3192+
},
3193+
{
3194+
"name": "fxx",
3195+
"type": "pure-token",
3196+
"token": "FXX"
3197+
}
3198+
]
3199+
},
3200+
{
3201+
"name": "expiration",
3202+
"type": "oneof",
3203+
"optional": true,
3204+
"arguments": [
3205+
{
3206+
"name": "EX",
3207+
"type": "integer",
3208+
"token": "EX"
3209+
},
3210+
{
3211+
"name": "PX",
3212+
"type": "integer",
3213+
"token": "PX"
3214+
},
3215+
{
3216+
"name": "EXAT",
3217+
"type": "unix-time",
3218+
"token": "EXAT"
3219+
},
3220+
{
3221+
"name": "PXAT",
3222+
"type": "unix-time",
3223+
"token": "PXAT"
3224+
},
3225+
{
3226+
"name": "KEEPTTL",
3227+
"type": "pure-token",
3228+
"token": "KEEPTTL"
3229+
}
3230+
]
3231+
},
3232+
{
3233+
"name": "fields",
3234+
"type": "enum",
3235+
"enum": ["FIELDS"]
3236+
},
3237+
{
3238+
"name": "numfields",
3239+
"type": "integer"
3240+
},
3241+
{
3242+
"name": [
3243+
"field",
3244+
"value"
3245+
],
3246+
"type": [
3247+
"string",
3248+
"string"
3249+
],
3250+
"multiple": true
3251+
}
3252+
],
3253+
"since": "8.0.0",
3254+
"group": "hash"
3255+
},
30903256
"HINCRBY": {
30913257
"summary": "Increment the integer value of a hash field by the given number",
30923258
"complexity": "O(1)",

hack/cmds/gen.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -681,7 +681,7 @@ func toGoType(paramType string) string {
681681
return "string"
682682
case "double":
683683
return "float64"
684-
case "integer", "posix time":
684+
case "integer", "posix time", "unix-time":
685685
return "int64"
686686
case "unsigned integer":
687687
return "uint64"

0 commit comments

Comments
 (0)