mod_storage_memory: Support full ID range queries
authorKim Alvefur <zash@zash.se>
Tue, 12 Jan 2021 16:58:10 +0100
changeset 11278 ecbfde402364
parent 11277 9f1355689648
child 11279 b8fada57faf0
mod_storage_memory: Support full ID range queries
plugins/mod_storage_memory.lua
--- a/plugins/mod_storage_memory.lua	Tue Jan 12 15:52:14 2021 +0100
+++ b/plugins/mod_storage_memory.lua	Tue Jan 12 16:58:10 2021 +0100
@@ -57,6 +57,7 @@
 	total = true;
 	quota = archive_item_limit;
 	truncate = true;
+	full_id_range = true;
 };
 
 function archive_store:append(username, key, value, when, with)
@@ -142,8 +143,7 @@
 					return nil, "item-not-found";
 				end
 			end
-		elseif query.before then
-			last_key = query.before;
+			last_key = query.after;
 		elseif query.after then
 			local found = false;
 			for j = 1, #items do
@@ -156,6 +156,9 @@
 			if not found then
 				return nil, "item-not-found";
 			end
+			last_key = query.before;
+		elseif query.before then
+			last_key = query.before;
 		end
 		if query.limit and #items - i > query.limit then
 			items[i+query.limit+1] = nil;