summaryrefslogtreecommitdiffstats
path: root/aconf/transaction
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2015-01-30 00:09:23 +0200
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2015-01-30 00:09:46 +0200
commit07a0eb180872401b271de40190603df8f3ab3db2 (patch)
tree35de2598fc5013946b2ddefcd9d613f6d4a5fabe /aconf/transaction
parent23d685c951cb52c5a895acda5fca3390eda49c80 (diff)
downloadaconf-07a0eb180872401b271de40190603df8f3ab3db2.tar.bz2
aconf-07a0eb180872401b271de40190603df8f3ab3db2.tar.xz
specify search pattern for references
Diffstat (limited to 'aconf/transaction')
-rw-r--r--aconf/transaction/init.lua9
1 files changed, 4 insertions, 5 deletions
diff --git a/aconf/transaction/init.lua b/aconf/transaction/init.lua
index faa5d7e..2aabec5 100644
--- a/aconf/transaction/init.lua
+++ b/aconf/transaction/init.lua
@@ -1,5 +1,5 @@
--[[
-Copyright (c) 2012-2014 Kaarle Ritvanen
+Copyright (c) 2012-2015 Kaarle Ritvanen
See LICENSE file for license details
--]]
@@ -68,13 +68,12 @@ function ModelTransaction:set_multiple(mods)
end
function ModelTransaction:check_deleted(path)
- -- assume one-level refs for now
- local top = root.topology(pth.parent(path))
+ local top = root.topology(path)
if top then
local errors = ErrorDict()
for _, refs in ipairs(top.referrers) do
- for _, ref in ipairs(self.root:search_refs(refs)) do
- errors:collect(ref.deleted, ref, path)
+ for _, ref in ipairs(getmetatable(self.root).escalate:search(refs)) do
+ errors:collect(ref.deleted, path)
end
end
errors:raise()