aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2011-03-01 06:12:43 +0000
committerMatthew Wild <mwild1@gmail.com>2011-03-01 06:12:43 +0000
commit9cf13e5dcd6844be8be5260caa855743c4d94227 (patch)
tree691834315893ecc799aeb31abb082033ef0225e1
parent2b4811c8430dcbec09c67b73e8f939b4047f1aec (diff)
downloadprosody-9cf13e5dcd6844be8be5260caa855743c4d94227.tar.gz
prosody-9cf13e5dcd6844be8be5260caa855743c4d94227.zip
mod_storage_sql: Display friendlier error when LuaDBI is missing
-rw-r--r--plugins/mod_storage_sql.lua13
1 files changed, 12 insertions, 1 deletions
diff --git a/plugins/mod_storage_sql.lua b/plugins/mod_storage_sql.lua
index 7917958d..b88efb64 100644
--- a/plugins/mod_storage_sql.lua
+++ b/plugins/mod_storage_sql.lua
@@ -96,7 +96,18 @@ local function create_table()
end
do -- process options to get a db connection
- DBI = require "DBI";
+ local ok;
+ prosody.unlock_globals();
+ ok, DBI = pcall(require, "DBI");
+ if not ok then
+ package.loaded["DBI"] = {};
+ module:log("error", "Failed to load the LuaDBI library for accessing SQL databases: %s", DBI);
+ module:log("error", "More information on installing LuaDBI can be found at http://prosody.im/doc/depends#luadbi");
+ end
+ prosody.lock_globals();
+ if not ok or not DBI.Connect then
+ return; -- Halt loading of this module
+ end
params = params or { driver = "SQLite3" };