changeset 14002:f82be93b61a5

mod_storage_sql: optimization: use table.move for copying items between arrays
author Matthew Wild <mwild1@gmail.com>
date Sat, 06 Dec 2025 15:58:40 +0000
parents df970d2dac45
children 2c95239d0b92
files plugins/mod_storage_sql.lua
diffstat 1 files changed, 2 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/mod_storage_sql.lua	Sat Dec 06 15:57:36 2025 +0000
+++ b/plugins/mod_storage_sql.lua	Sat Dec 06 15:58:40 2025 +0000
@@ -10,6 +10,7 @@
 
 local is_stanza = require"prosody.util.stanza".is_stanza;
 local t_concat = table.concat;
+local t_move = require "prosody.util.table".move;
 
 local have_dbisql, dbisql = pcall(require, "prosody.util.sql");
 local have_sqlite, sqlite = pcall(require, "prosody.util.sqlite3");
@@ -430,9 +431,7 @@
 	if query.ids then
 		local nids, nargs = #query.ids, #args;
 		where[#where + 1] = "\"key\" IN (" .. string.rep("?", nids, ",") .. ")";
-		for i, id in ipairs(query.ids) do
-			args[nargs+i] = id;
-		end
+		t_move(query.ids, 1, nids, nargs + 1, args);
 	end
 end
 local function archive_where_id_range(query, args, where)