본문으로 건너뛰기

키값 이동 (LCC.kvdb.dict.move_value)

선언​

ok, old_value_or_err = LCC.kvdb.dict.move_value(src_name, src_key, dst_name?, dst_key?, timeout?)

매개변수​

  • src_name
    문자열 형태, 소스 사전의 이름(빈 값 불가, 최대 길이는 256 바이트)
  • src_key
    문자열 형태, 소스 키의 이름(유효한 UTF-8 형식이어야 하며 빈 값이 아니어야 함)
  • dst_name
    문자열 형태, 선택 사항; 대상 사전의 이름, 기본적으로 소스와 동일함(빈 값 불가, 최대 길이는 256 바이트)
  • dst_key
    문자열 형태, 선택 사항; 대상 키의 이름, 기본적으로 소스 키와 동일함(유효한 UTF-8 형식이어야 하며 빈 값이 아니어야 함)
  • timeout
    수치 형태, 선택 사항; 요청 시간 초과 시간(초), 기본값은 60

반환 값​

  • ok
    부울 형태, 이동에 성공할 경우 true를 반환하고 실패할 경우 false를 반환함
  • old_value_or_err
    문자열 형태 또는 nil; 성공할 경우 대상 위치의 기존 값(존재하지 않을 경우 nil), 실패할 경우 일반적으로 오류 설명이 반환됨. 소스 키가 존재하지 않을 경우 두 번째 반환값이 고정된 문구일 것이라고 보장되지 않음

설명​

키를 소스 사전에서 대상 사전으로 원자적으로 이동시킵니다.
소스와 대상이 동일하고 키명도 일치할 경우 함수는 오류를 발생시킵니다.
이동에 성공했지만 대상에 기존 값이 없었던 경우 true, nil이 반환됩니다.
소스 키를 찾을 수 없는 경우 false가 반환되며, 두 번째 반환값이 고정된 문구일 것이라고 보장되지 않습니다.

예시​

local ok, old = LCC.kvdb.dict.move_value("처리 대기", "task#1", "진행 중", "task#1")
if not ok then
error(old)
end