diff options
author | Matthew Wild <mwild1@gmail.com> | 2011-03-01 06:12:43 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2011-03-01 06:12:43 +0000 |
commit | 9cf13e5dcd6844be8be5260caa855743c4d94227 (patch) | |
tree | 691834315893ecc799aeb31abb082033ef0225e1 /plugins | |
parent | 2b4811c8430dcbec09c67b73e8f939b4047f1aec (diff) | |
download | prosody-9cf13e5dcd6844be8be5260caa855743c4d94227.tar.gz prosody-9cf13e5dcd6844be8be5260caa855743c4d94227.zip |
mod_storage_sql: Display friendlier error when LuaDBI is missing
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mod_storage_sql.lua | 13 |
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" }; |