MCPcopy Create free account
hub / github.com/cc20110101/RedisView / doCommitValueWork

Method doCommitValueWork

src/RedisView/Public/WorkThread.cpp:640–777  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

638}
639
640void WorkThread::doCommitValueWork() {
641
642 if(_cmd.size() <= 0) {
643 emit finishWork(_taskMsg->_taskid);
644 return;
645 }
646
647 if(!prepare()) {
648 emit runError(_taskMsg->_taskid,_string);
649 emit finishWork(_taskMsg->_taskid);
650 return;
651 }
652
653 qlonglong llret;
654 for(int i =0; i < _cmd.size(); ++i) {
655 switch (_cmd[i]._operate) {
656 case OPERATION_ADD:
657 if(_cmd[i]._type == KEY_HASH) {
658 if(!_redisClient->hset(_cmd[i]._key,_cmd[i]._filed,_cmd[i]._value,llret)) {
659 _string = _redisClient->getErrorInfo();
660 emit runError(_taskMsg->_taskid,_string);
661 continue;
662 }
663 } else if(_cmd[i]._type == KEY_ZSET) {
664 if(!_redisClient->zadd(_cmd[i]._key,_cmd[i]._value,_cmd[i]._score,llret)) {
665 _string = _redisClient->getErrorInfo();
666 emit runError(_taskMsg->_taskid,_string);
667 continue;
668 }
669 } else if(_cmd[i]._type == KEY_SET) {
670 if(!_redisClient->sadd(_cmd[i]._key,_cmd[i]._value,llret)) {
671 _string = _redisClient->getErrorInfo();
672 emit runError(_taskMsg->_taskid,_string);
673 continue;
674 }
675 } else if(_cmd[i]._type == KEY_LIST) {
676 if(_cmd[i]._valueIndex == 1) {
677 if(!_redisClient->rpush(_cmd[i]._key,_cmd[i]._value,llret)) {
678 _string = _redisClient->getErrorInfo();
679 emit runError(_taskMsg->_taskid,_string);
680 continue;
681 }
682 } else if(_cmd[i]._valueIndex == -1) {
683 if(!_redisClient->lpush(_cmd[i]._key,_cmd[i]._value,llret)) {
684 _string = _redisClient->getErrorInfo();
685 emit runError(_taskMsg->_taskid,_string);
686 continue;
687 }
688 }
689 }
690 break;
691 case OPERATION_DELETE:
692 if(_cmd[i]._type == KEY_HASH) {
693 if(!_redisClient->hdel(_cmd[i]._key,_cmd[i]._filed,llret)) {
694 _string = _redisClient->getErrorInfo();
695 emit runError(_taskMsg->_taskid,_string);
696 continue;
697 }

Callers

nothing calls this directly

Calls 15

rpushMethod · 0.80
hdelMethod · 0.80
zremMethod · 0.80
sremMethod · 0.80
rpopMethod · 0.80
lpopMethod · 0.80
lsetMethod · 0.80
hsetMethod · 0.45
getErrorInfoMethod · 0.45
zaddMethod · 0.45
saddMethod · 0.45
lpushMethod · 0.45

Tested by

no test coverage detected