aboutsummaryrefslogtreecommitdiffstats
path: root/tools/migration/migrator/mtools.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2019-05-05 21:32:34 +0200
committerKim Alvefur <zash@zash.se>2019-05-05 21:32:34 +0200
commit6041d3e4e83ca60fb16fb4f61d83084a76632da9 (patch)
tree2af20a08d372142ea37aa168e8bb684b8566e13a /tools/migration/migrator/mtools.lua
parent40040cdfbca7a934bb5e1256a9fdd403350eeaae (diff)
downloadprosody-6041d3e4e83ca60fb16fb4f61d83084a76632da9.tar.gz
prosody-6041d3e4e83ca60fb16fb4f61d83084a76632da9.zip
migrator: Rewrite to use storage modules
This allows migrating to and from any storage module that supports the right methods. Based on experimental mod_migrate work.
Diffstat (limited to 'tools/migration/migrator/mtools.lua')
-rw-r--r--tools/migration/migrator/mtools.lua58
1 files changed, 0 insertions, 58 deletions
diff --git a/tools/migration/migrator/mtools.lua b/tools/migration/migrator/mtools.lua
deleted file mode 100644
index cfbfcce8..00000000
--- a/tools/migration/migrator/mtools.lua
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-local print = print;
-local t_insert = table.insert;
-local t_sort = table.sort;
-
-
-local function sorted(params)
-
- local reader = params.reader; -- iterator to get items from
- local sorter = params.sorter; -- sorting function
- local filter = params.filter; -- filter function
-
- local cache = {};
- for item in reader do
- if filter then item = filter(item); end
- if item then t_insert(cache, item); end
- end
- if sorter then
- t_sort(cache, sorter);
- end
- local i = 0;
- return function()
- i = i + 1;
- return cache[i];
- end;
-
-end
-
-local function merged(reader, merger)
-
- local item1 = reader();
- local merged = { item1 };
- return function()
- while true do
- if not item1 then return nil; end
- local item2 = reader();
- if not item2 then item1 = nil; return merged; end
- if merger(item1, item2) then
- --print("merged")
- item1 = item2;
- t_insert(merged, item1);
- else
- --print("unmerged", merged)
- item1 = item2;
- local tmp = merged;
- merged = { item1 };
- return tmp;
- end
- end
- end;
-
-end
-
-return {
- sorted = sorted;
- merged = merged;
-}