Di chuyển giá trị khóa (LCC.kvdb.dict.move_value)
Khai báo
ok, old_value_or_err = LCC.kvdb.dict.move_value(src_name, src_key, dst_name?, dst_key?, timeout?)
Tham số
- src_name
Kiểu chuỗi, tên từ điển nguồn (không được rỗng, tối đa256byte) - src_key
Kiểu chuỗi, tên khóa nguồn (phải là UTF-8 hợp lệ và không được rỗng) - dst_name
Kiểu chuỗi, tùy chọn; tên từ điển đích, mặc định giống từ điển nguồn (không được rỗng, tối đa256byte) - dst_key
Kiểu chuỗi, tùy chọn; tên khóa đích, mặc định giống tên khóa nguồn (phải là UTF-8 hợp lệ và không được rỗng) - timeout
Kiểu số, tùy chọn; thời gian chờ yêu cầu (giây), mặc định là60
Giá trị trả về
- ok
Kiểu boolean, trả vềtruekhi di chuyển thành công vàfalsekhi thất bại - old_value_or_err
Kiểu chuỗi hoặcnil; khi thành công là giá trị cũ tại vị trí đích (nếu không tồn tại thì lànil), khi thất bại thường là mô tả lỗi; khi khóa nguồn không tồn tại, giá trị trả về thứ hai không được đảm bảo là một thông báo cố định
Mô tả
Di chuyển khóa từ từ điển nguồn sang từ điển đích theo cách nguyên tử.
Nếu nguồn và đích giống nhau, đồng thời tên khóa cũng giống nhau, hàm sẽ phát sinh lỗi.
Khi thao tác thành công nhưng trước đó đích không có giá trị, trả vềtrue, nil.
Khi không tìm thấy khóa nguồn, trả vềfalse; giá trị trả về thứ hai không được đảm bảo là một thông báo cố định.
Ví dụ
local ok, old = LCC.kvdb.dict.move_value("Đang chờ xử lý", "task#1", "Đang xử lý", "task#1")
if not ok then
error(old)
end