diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-04-26 15:15:14 +0300 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-04-26 15:15:14 +0300 |
commit | aa778f7cbe0285056516b15044037309f9ec95e7 (patch) | |
tree | df0e2cc8793a0793214e4822362129d722d1c5f1 /acf/persistence/init.lua | |
parent | 22dbd9c5bf56b083311431bb11fb2d988740e3b8 (diff) | |
download | aconf-aa778f7cbe0285056516b15044037309f9ec95e7.tar.bz2 aconf-aa778f7cbe0285056516b15044037309f9ec95e7.tar.xz |
conflict detection: ignore updates where value was not changed
Diffstat (limited to 'acf/persistence/init.lua')
-rw-r--r-- | acf/persistence/init.lua | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/acf/persistence/init.lua b/acf/persistence/init.lua index 479620b..de23a68 100644 --- a/acf/persistence/init.lua +++ b/acf/persistence/init.lua @@ -7,7 +7,6 @@ module(..., package.seeall) local loadmods = require('acf.loader').loadmods local object = require('acf.object') -local super = object.super local pth = require('acf.path') local util = require('acf.util') @@ -15,7 +14,7 @@ local util = require('acf.util') DataStore = object.class(require('acf.transaction.backend').TransactionBackend) function DataStore:init() - super(self, DataStore):init() + object.super(self, DataStore):init() self.backends = util.map( function(m) return m.backend() end, loadmods('persistence/backends') @@ -35,10 +34,9 @@ function DataStore:get(path) return util.copy(backend:get(comps)), self.mod_time[path] or 0 end -function DataStore:set_multiple(mods) - super(self, DataStore):set_multiple(mods) - +function DataStore:_set_multiple(mods) local bms = {} + for _, mod in ipairs(mods) do local path, t, value = unpack(mod) local backend, comps = self:split_path(path) |