Comparison

plugins/mod_storage_sql.lua @ 13242:0d3881bf29a8

mod_storage_sql: Spell out missing dependencies Using util.dependencies appeared to cause problems with running tests in Busted, so this also removes that and uses pcall directly.
author Kim Alvefur <zash@zash.se>
date Sat, 22 Jul 2023 16:15:48 +0200
parent 13241:0419de4e4db1
child 13318:4a437dd62cc9
comparison
equal deleted inserted replaced
13241:0419de4e4db1 13242:0d3881bf29a8
1 1
2 -- luacheck: ignore 212/self 2 -- luacheck: ignore 212/self
3 3
4 local deps = require "prosody.util.dependencies";
5 local cache = require "prosody.util.cache"; 4 local cache = require "prosody.util.cache";
6 local json = require "prosody.util.json"; 5 local json = require "prosody.util.json";
7 local sqlite = deps.softreq "prosody.util.sqlite3";
8 local dbisql = (sqlite and deps.softreq or require) "prosody.util.sql";
9 local xml_parse = require "prosody.util.xml".parse; 6 local xml_parse = require "prosody.util.xml".parse;
10 local uuid = require "prosody.util.uuid"; 7 local uuid = require "prosody.util.uuid";
11 local resolve_relative_path = require "prosody.util.paths".resolve_relative_path; 8 local resolve_relative_path = require "prosody.util.paths".resolve_relative_path;
12 local jid_join = require "prosody.util.jid".join; 9 local jid_join = require "prosody.util.jid".join;
13 10
14 local is_stanza = require"prosody.util.stanza".is_stanza; 11 local is_stanza = require"prosody.util.stanza".is_stanza;
15 local t_concat = table.concat; 12 local t_concat = table.concat;
13
14 local have_dbisql, dbisql = pcall(require, "prosody.util.sql");
15 local have_sqlite, sqlite = pcall(require, "prosody.util.sqlite3");
16 if not have_dbisql then
17 module:log("debug", "Could not load LuaDBI, error was: %s", dbisql)
18 dbisql = nil;
19 end
20 if not have_sqlite then
21 module:log("debug", "Could not load LuaSQLite3, error was: %s", sqlite)
22 sqlite = nil;
23 end
24 if not (have_dbisql or have_sqlite) then
25 module:log("error", "LuaDBI or LuaSQLite3 are required for using SQL databases but neither are installed");
26 module:log("error", "Please install at least one of LuaDBI and LuaSQLite3. See https://prosody.im/doc/depends");
27 error("No SQL library available")
28 end
16 29
17 local noop = function() end 30 local noop = function() end
18 local unpack = table.unpack; 31 local unpack = table.unpack;
19 local function iterator(result) 32 local function iterator(result)
20 return function(result_) 33 return function(result_)