diff options
author | Matthew Wild <mwild1@gmail.com> | 2018-11-15 21:55:16 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2018-11-15 21:55:16 +0000 |
commit | 813f69fd2b4020313f5fc6de635523e681dafe38 (patch) | |
tree | 85f9df59a86d77d9b51fdbd3c227d9f956b3edd9 | |
parent | 66bad361470d64c36f34d9da888387b096713739 (diff) | |
download | prosody-813f69fd2b4020313f5fc6de635523e681dafe38.tar.gz prosody-813f69fd2b4020313f5fc6de635523e681dafe38.zip |
mod_storage_sql: Catch errors during schema upgrade (thanks Nothing4You)
-rw-r--r-- | plugins/mod_storage_sql.lua | 8 |
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 |