Merge 0.8->trunk
authorMatthew Wild <mwild1@gmail.com>
Tue, 01 Mar 2011 06:14:03 +0000
changeset 4219 bffce780999d
parent 4217 c56a29d4346d (current diff)
parent 4218 8a271b3fcaa7 (diff)
child 4222 2805ebd57d7d
Merge 0.8->trunk
--- a/plugins/mod_storage_sql.lua	Sat Feb 26 00:24:23 2011 +0000
+++ b/plugins/mod_storage_sql.lua	Tue Mar 01 06:14:03 2011 +0000
@@ -96,7 +96,18 @@
 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" };