Mercurial > prosody-hg
diff plugins/mod_storage_sql.lua @ 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 | 1b300c5a79d7 |
| children |
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)
