Перемещение значения ключа (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