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

Method doDelKeyWork

src/RedisView/Public/WorkThread.cpp:779–824  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

777}
778
779void WorkThread::doDelKeyWork() {
780 if(_cmd.size() <= 0) {
781 emit finishWork(_taskMsg->_taskid);
782 return;
783 }
784
785 if(!prepare(WORK_THREAD_MODE1, _taskMsg->_clientIndex)) {
786 emit runError(_taskMsg->_taskid,_string);
787 emit finishWork(_taskMsg->_taskid);
788 return;
789 }
790
791 if(_taskMsg->_clientIndex) {
792 qlonglong qllRet;
793 for(int i =0; i < _cmd.size(); ++i) {
794 if(!_redisClusterClient->del(_cmd[i]._key, qllRet)) {
795 _string = "delete key failed";
796 emit runError(_taskMsg->_taskid,_string);
797 continue;
798 }
799 }
800 } else {
801 int iLastIndex = -1;
802 qlonglong qllRet;
803 for(int i = 0; i < _cmd.size(); ++i) {
804 if(iLastIndex != _cmd[i]._dbIndex) {
805 if(!_redisClient->select(_cmd[i]._dbIndex)) {
806 _string = "select db failed";
807 iLastIndex = -1;
808 emit runError(_taskMsg->_taskid,_string);
809 continue;
810 } else {
811 iLastIndex = _cmd[i]._dbIndex;
812 }
813 }
814
815 if(!_redisClient->del(_cmd[i]._key, qllRet)) {
816 _string = "delete key failed";
817 emit runError(_taskMsg->_taskid,_string);
818 continue;
819 }
820 }
821 }
822
823 destroy(WORK_THREAD_MODE1);
824}
825
826void WorkThread::doBatchDelKeyWork() {
827

Callers

nothing calls this directly

Calls 2

delMethod · 0.45
selectMethod · 0.45

Tested by

no test coverage detected