Software /
code /
prosody
Diff
plugins/mod_storage_sql.lua @ 9628:2fcf517b811e 0.11
mod_storage_sql: Catch errors during schema upgrade (thanks Nothing4You)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 15 Nov 2018 21:55:16 +0000 |
parent | 9537:5fe1b08e6353 |
child | 9691:e11e076f0eb8 |
child | 10011:2408e6362c15 |
line wrap: on
line diff
--- a/plugins/mod_storage_sql.lua Thu Nov 15 10:25:48 2018 +0000 +++ b/plugins/mod_storage_sql.lua Thu Nov 15 21:55:16 2018 +0000 @@ -510,12 +510,12 @@ 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 @@ 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