aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2016-11-29 08:20:42 +0100
committerKim Alvefur <zash@zash.se>2016-11-29 08:20:42 +0100
commit42f67b2a729db0b48129109ef9cd41f0fd476ec1 (patch)
treefcd54e0e26a738643cba039c055b240a12ce8cb2
parent5c7a04bc7b0b4fac73fa2259715ba030aa792ff4 (diff)
downloadprosody-42f67b2a729db0b48129109ef9cd41f0fd476ec1.tar.gz
prosody-42f67b2a729db0b48129109ef9cd41f0fd476ec1.zip
mod_storage_sql: Create a new table to hold normalized database parameters (fixes #636)
-rw-r--r--plugins/mod_storage_sql.lua22
1 files changed, 15 insertions, 7 deletions
diff --git a/plugins/mod_storage_sql.lua b/plugins/mod_storage_sql.lua
index b7ade340..fa241ed9 100644
--- a/plugins/mod_storage_sql.lua
+++ b/plugins/mod_storage_sql.lua
@@ -433,14 +433,22 @@ local function upgrade_table(params, apply_changes)
return changes;
end
-local function normalize_params(params)
- if params.driver == "SQLite3" then
- if params.database ~= ":memory:" then
- params.database = resolve_relative_path(prosody.paths.data or ".", params.database or "prosody.sqlite");
- end
+local function normalize_database(driver, database)
+ if driver == "SQLite3" and database ~= ":memory:" then
+ return resolve_relative_path(prosody.paths.data or ".", database or "prosody.sqlite");
end
- assert(params.driver and params.database, "Configuration error: Both the SQL driver and the database need to be specified");
- return params;
+ return database;
+end
+
+local function normalize_params(params)
+ return {
+ driver = assert(params.driver, "Configuration error: Both the SQL driver and the database need to be specified");
+ database = assert(normalize_database(params.driver, params.database), "Configuration error: Both the SQL driver and the database need to be specified");
+ username = params.username;
+ password = params.password;
+ host = params.host;
+ params.port;
+ };
end
function module.load()