aboutsummaryrefslogtreecommitdiff
path: root/weed/filer/redis_lua/stored_procedure/delete_entry.lua
diff options
context:
space:
mode:
authorbanjiaojuhao <banjiaojuhao@qq.com>2022-02-15 20:54:57 +0800
committerbanjiaojuhao <banjiaojuhao@qq.com>2022-02-15 20:54:57 +0800
commitb5ec3467003b2becca9a91f9cf56ab6b24ede25e (patch)
tree8f6ec607ec7311720c6e56bfefc2fa7fa955ee0b /weed/filer/redis_lua/stored_procedure/delete_entry.lua
parent17ac5244c31d06f7065bd8ed9a416d00e048b23c (diff)
downloadseaweedfs-b5ec3467003b2becca9a91f9cf56ab6b24ede25e.tar.xz
seaweedfs-b5ec3467003b2becca9a91f9cf56ab6b24ede25e.zip
FilerStore: add redis_lua
Diffstat (limited to 'weed/filer/redis_lua/stored_procedure/delete_entry.lua')
-rw-r--r--weed/filer/redis_lua/stored_procedure/delete_entry.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/weed/filer/redis_lua/stored_procedure/delete_entry.lua b/weed/filer/redis_lua/stored_procedure/delete_entry.lua
new file mode 100644
index 000000000..445337c77
--- /dev/null
+++ b/weed/filer/redis_lua/stored_procedure/delete_entry.lua
@@ -0,0 +1,19 @@
+-- KEYS[1]: full path of entry
+local fullpath = KEYS[1]
+-- KEYS[2]: full path of entry
+local fullpath_list_key = KEYS[2]
+-- KEYS[3]: dir of the entry
+local dir_list_key = KEYS[3]
+
+-- ARGV[1]: isSuperLargeDirectory
+local isSuperLargeDirectory = ARGV[1] == "1"
+-- ARGV[2]: name of the entry
+local name = ARGV[2]
+
+redis.call("DEL", fullpath, fullpath_list_key)
+
+if not isSuperLargeDirectory and name ~= "" then
+ redis.call("ZREM", dir_list_key, name)
+end
+
+return 0 \ No newline at end of file