redis-cli: CSV and RAW target for more RESP3 types.
This commit is contained in:
parent
ddb735f03a
commit
c7481c6af1
@ -1006,9 +1006,15 @@ static sds cliFormatReplyRaw(redisReply *r) {
|
|||||||
out = sdscatlen(out,r->str,r->len);
|
out = sdscatlen(out,r->str,r->len);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case REDIS_REPLY_BOOL:
|
||||||
|
out = sdscat(out,r->integer ? "(true)" : "(false)");
|
||||||
|
break;
|
||||||
case REDIS_REPLY_INTEGER:
|
case REDIS_REPLY_INTEGER:
|
||||||
out = sdscatprintf(out,"%lld",r->integer);
|
out = sdscatprintf(out,"%lld",r->integer);
|
||||||
break;
|
break;
|
||||||
|
case REDIS_REPLY_DOUBLE:
|
||||||
|
out = sdscatprintf(out,"%s",r->str);
|
||||||
|
break;
|
||||||
case REDIS_REPLY_ARRAY:
|
case REDIS_REPLY_ARRAY:
|
||||||
for (i = 0; i < r->elements; i++) {
|
for (i = 0; i < r->elements; i++) {
|
||||||
if (i > 0) out = sdscat(out,config.mb_delim);
|
if (i > 0) out = sdscat(out,config.mb_delim);
|
||||||
@ -1017,6 +1023,19 @@ static sds cliFormatReplyRaw(redisReply *r) {
|
|||||||
sdsfree(tmp);
|
sdsfree(tmp);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case REDIS_REPLY_MAP:
|
||||||
|
for (i = 0; i < r->elements; i += 2) {
|
||||||
|
if (i > 0) out = sdscat(out,config.mb_delim);
|
||||||
|
tmp = cliFormatReplyRaw(r->element[i]);
|
||||||
|
out = sdscatlen(out,tmp,sdslen(tmp));
|
||||||
|
sdsfree(tmp);
|
||||||
|
|
||||||
|
out = sdscatlen(out," ",1);
|
||||||
|
tmp = cliFormatReplyRaw(r->element[i+1]);
|
||||||
|
out = sdscatlen(out,tmp,sdslen(tmp));
|
||||||
|
sdsfree(tmp);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
fprintf(stderr,"Unknown reply type: %d\n", r->type);
|
fprintf(stderr,"Unknown reply type: %d\n", r->type);
|
||||||
exit(1);
|
exit(1);
|
||||||
@ -1039,14 +1058,21 @@ static sds cliFormatReplyCSV(redisReply *r) {
|
|||||||
case REDIS_REPLY_INTEGER:
|
case REDIS_REPLY_INTEGER:
|
||||||
out = sdscatprintf(out,"%lld",r->integer);
|
out = sdscatprintf(out,"%lld",r->integer);
|
||||||
break;
|
break;
|
||||||
|
case REDIS_REPLY_DOUBLE:
|
||||||
|
out = sdscatprintf(out,"%s",r->str);
|
||||||
|
break;
|
||||||
case REDIS_REPLY_STRING:
|
case REDIS_REPLY_STRING:
|
||||||
case REDIS_REPLY_VERB:
|
case REDIS_REPLY_VERB:
|
||||||
out = sdscatrepr(out,r->str,r->len);
|
out = sdscatrepr(out,r->str,r->len);
|
||||||
break;
|
break;
|
||||||
case REDIS_REPLY_NIL:
|
case REDIS_REPLY_NIL:
|
||||||
out = sdscat(out,"NIL");
|
out = sdscat(out,"NULL");
|
||||||
|
break;
|
||||||
|
case REDIS_REPLY_BOOL:
|
||||||
|
out = sdscat(out,r->integer ? "true" : "false");
|
||||||
break;
|
break;
|
||||||
case REDIS_REPLY_ARRAY:
|
case REDIS_REPLY_ARRAY:
|
||||||
|
case REDIS_REPLY_MAP: /* CSV has no map type, just output flat list. */
|
||||||
for (i = 0; i < r->elements; i++) {
|
for (i = 0; i < r->elements; i++) {
|
||||||
sds tmp = cliFormatReplyCSV(r->element[i]);
|
sds tmp = cliFormatReplyCSV(r->element[i]);
|
||||||
out = sdscatlen(out,tmp,sdslen(tmp));
|
out = sdscatlen(out,tmp,sdslen(tmp));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user