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

Method rename

src/RedisView/RedisLib/RedisClient.cpp:2822–2860  ·  view source on GitHub ↗

* 将key改名为newkey,当key和newkey相同,或者key不存在时,返回一个错误。 * 当newkey已经存在时,RENAME命令将覆盖旧值 * @param[in] key 键 * @param[in] newkey 新键 * @return 设置成功true,设置失败false * @see * @note * */

Source from the content-addressed store, hash-verified

2820 *
2821 */
2822bool RedisClient::rename(const QString & key, const QString & newkey) {
2823 _sErrorInfo.clear();
2824 if(key.trimmed().isEmpty()) {
2825 _sErrorInfo = "key is empty";
2826 return false;
2827 }
2828 if(newkey.trimmed().isEmpty()) {
2829 _sErrorInfo = "newkey is empty";
2830 return false;
2831 }
2832
2833 _vCmdList.clear();
2834 _vCmdList.push_back("RENAME");
2835 _vCmdList.push_back(key);
2836 _vCmdList.push_back(newkey);
2837
2838 _cmdResult = command(_vCmdList);
2839 if(_cmdResult[0] == '-') {
2840 if(parseRespError(_cmdResult,_sValue))
2841 _sErrorInfo = _sValue;
2842 else
2843 _sErrorInfo = "parser resp error info failed";
2844 _bRet = false;
2845 } else if(_cmdResult[0] == '+') {
2846 if(parseRespString(_cmdResult,_sValue)) {
2847 if(_sValue == "OK")
2848 _bRet = true;
2849 else
2850 _bRet = false;
2851 } else {
2852 _sErrorInfo = "parser resp string info failed";
2853 _bRet = false;
2854 }
2855 } else {
2856 _bRet = false;
2857 _sErrorInfo = QString("parser resp type failed:") + _cmdResult[0];
2858 }
2859 return _bRet;
2860}
2861
2862/**
2863 * 当且仅当newkey不存在时,将key改名为newkey

Callers

nothing calls this directly

Calls 1

clearMethod · 0.45

Tested by

no test coverage detected