From 7a66697c6ad8ca48244d2defa578c822e9406632 Mon Sep 17 00:00:00 2001
From: Matthew Wild <mwild1@gmail.com>
Date: Thu, 15 Nov 2018 21:55:16 +0000
Subject: mod_storage_sql: Catch errors during schema upgrade (thanks
 Nothing4You)

---
 plugins/mod_storage_sql.lua | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

(limited to 'plugins')

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
-- 
cgit v1.2.3