set and save: Memory
This commit is contained in:
parent
ea0fceac5e
commit
33f1f5411b
38
colddb.lua
38
colddb.lua
|
@ -361,7 +361,7 @@ function colddb.Colddb(dir)
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
|
|
||||||
self.append_entry_file = function(name, key, tag_name)
|
self.append_entry_file = function(name, key, op, tag_name)
|
||||||
local t = ""
|
local t = ""
|
||||||
if tag_name then
|
if tag_name then
|
||||||
t = self.get_tag(tag_name)
|
t = self.get_tag(tag_name)
|
||||||
|
@ -392,11 +392,19 @@ function colddb.Colddb(dir)
|
||||||
end
|
end
|
||||||
indexes_pool[cs].needs_flushing = true
|
indexes_pool[cs].needs_flushing = true
|
||||||
local c = 0
|
local c = 0
|
||||||
|
if op and op == "key" then
|
||||||
for i in pairs(key) do
|
for i in pairs(key) do
|
||||||
fl:seek("end")
|
fl:seek("end")
|
||||||
fl:write(string.format("\n%s", i))
|
fl:write(string.format("\n%s", i))
|
||||||
c = c + 1
|
c = c + 1
|
||||||
end
|
end
|
||||||
|
elseif not op or op == "value" then
|
||||||
|
for i, j in pairs(key) do
|
||||||
|
fl:seek("end")
|
||||||
|
fl:write(string.format("\n%s", j))
|
||||||
|
c = c + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
fl:seek("set")
|
fl:seek("set")
|
||||||
local count = tonumber(fl:read("*l"))
|
local count = tonumber(fl:read("*l"))
|
||||||
count = count + c
|
count = count + c
|
||||||
|
@ -490,6 +498,34 @@ function colddb.Colddb(dir)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
self.set_mem = function(name, _table, tag_name)
|
||||||
|
local t = ""
|
||||||
|
if tag_name then
|
||||||
|
t = self.get_tag(tag_name)
|
||||||
|
end
|
||||||
|
load_into_mem(name, _table, tag_name)
|
||||||
|
local cs = string.format("%s%s", t, name)
|
||||||
|
mem_pool_del[cs] = nil
|
||||||
|
end
|
||||||
|
|
||||||
|
self.save_mem = function(name, tag_name)
|
||||||
|
local t = ""
|
||||||
|
|
||||||
|
if tag_name then
|
||||||
|
t = self.get_tag(tag_name)
|
||||||
|
end
|
||||||
|
|
||||||
|
local cs = string.format("%s%s", t, name)
|
||||||
|
|
||||||
|
async.queue_task(function()
|
||||||
|
if mem_pool[cs] ~= nil then
|
||||||
|
save_table(name, mem_pool[cs].mem, tag_name)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
mem_pool_del[cs] = nil
|
||||||
|
end
|
||||||
|
|
||||||
self.set = function(name, _table, tag_name)
|
self.set = function(name, _table, tag_name)
|
||||||
local t = ""
|
local t = ""
|
||||||
if tag_name then
|
if tag_name then
|
||||||
|
|
Loading…
Reference in New Issue
Block a user