aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2018-11-15 21:55:16 +0000
committerMatthew Wild <mwild1@gmail.com>2018-11-15 21:55:16 +0000
commitc29fb458fe068abf3c8ba0a021d01fb33752e9a0 (patch)
tree85f9df59a86d77d9b51fdbd3c227d9f956b3edd9
parent2c089d2404f8f22689fc9b97099b51bccabc1a84 (diff)
downloadprosody-c29fb458fe068abf3c8ba0a021d01fb33752e9a0.tar.gz
prosody-c29fb458fe068abf3c8ba0a021d01fb33752e9a0.zip
mod_storage_sql: Catch errors during schema upgrade (thanks Nothing4You)
-rw-r--r--plugins/mod_storage_sql.lua8
1 files changed, 4 insertions, 4 deletions
diff --git a/plugins/mod_storage_sql.lua b/plugins/mod_storage_sql.lua
index cf92e31c..56cef569 100644
--- a/plugins/mod_storage_sql.lua
+++ b/plugins/mod_storage_sql.lua
@@ -510,12 +510,12 @@ local function upgrade_table(engine, params, apply_changes) -- luacheck: ignore
if params.driver == "MySQL" then
local success,err = engine:transaction(function()
do
- local result = engine:execute("SHOW COLUMNS FROM \"prosody\" WHERE \"Field\"='value' and \"Type\"='text'");
+ local result = assert(engine:execute("SHOW COLUMNS FROM \"prosody\" WHERE \"Field\"='value' and \"Type\"='text'"));
if result:rowcount() > 0 then
changes = true;
if apply_changes then
module:log("info", "Upgrading database schema (value column size)...");
- engine:execute("ALTER TABLE \"prosody\" MODIFY COLUMN \"value\" MEDIUMTEXT");
+ assert(engine:execute("ALTER TABLE \"prosody\" MODIFY COLUMN \"value\" MEDIUMTEXT"));
module:log("info", "Database table automatically upgraded");
end
end
@@ -528,9 +528,9 @@ local function upgrade_table(engine, params, apply_changes) -- luacheck: ignore
changes = true;
if apply_changes then
module:log("info", "Upgrading database schema (prosodyarchive_index)...");
- engine:execute[[ALTER TABLE "prosodyarchive" DROP INDEX prosodyarchive_index;]];
+ assert(engine:execute[[ALTER TABLE "prosodyarchive" DROP INDEX prosodyarchive_index;]]);
local new_index = sql.Index { table = "prosodyarchive", name="prosodyarchive_index", "host", "user", "store", "key" };
- engine:_create_index(new_index);
+ assert(engine:_create_index(new_index));
module:log("info", "Database table automatically upgraded");
end
end