MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / hsetCommand

Function hsetCommand

src/t_hash.cpp:659–686  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

657}
658
659void hsetCommand(client *c) {
660 int i, created = 0;
661 robj *o;
662
663 if ((c->argc % 2) == 1) {
664 addReplyErrorFormat(c,"wrong number of arguments for '%s' command",c->cmd->name);
665 return;
666 }
667
668 if ((o = hashTypeLookupWriteOrCreate(c,c->argv[1])) == NULL) return;
669 hashTypeTryConversion(o,c->argv,2,c->argc-1);
670
671 for (i = 2; i < c->argc; i += 2)
672 created += !hashTypeSet(o,szFromObj(c->argv[i]),szFromObj(c->argv[i+1]),HASH_SET_COPY);
673
674 /* HMSET (deprecated) and HSET return value is different. */
675 char *cmdname = szFromObj(c->argv[0]);
676 if (cmdname[1] == 's' || cmdname[1] == 'S') {
677 /* HSET */
678 addReplyLongLong(c, created);
679 } else {
680 /* HMSET */
681 addReply(c, shared.ok);
682 }
683 signalModifiedKey(c,c->db,c->argv[1]);
684 notifyKeyspaceEvent(NOTIFY_HASH,"hset",c->argv[1],c->db->id);
685 g_pserver->dirty += (c->argc - 2)/2;
686}
687
688void hincrbyCommand(client *c) {
689 long long value, incr, oldvalue;

Callers

nothing calls this directly

Calls 9

addReplyErrorFormatFunction · 0.85
hashTypeTryConversionFunction · 0.85
hashTypeSetFunction · 0.85
szFromObjFunction · 0.85
addReplyLongLongFunction · 0.85
addReplyFunction · 0.85
signalModifiedKeyFunction · 0.85
notifyKeyspaceEventFunction · 0.85

Tested by

no test coverage detected