comparison mod_mam_sql/mod_mam_sql.lua @ 1206:04bf76c3e4c6

mod_mam_sql: Add better error handling
author Rob Hoelz <rob@hoelz.ro>
date Mon, 02 Sep 2013 19:55:51 +0200
parents 1e0d273bcb75
children c6b8ae5a8369
comparison
equal deleted inserted replaced
1205:7d2d440e2fa5 1206:04bf76c3e4c6
112 112
113 function getsql(sql, ...) 113 function getsql(sql, ...)
114 if params.driver == "PostgreSQL" then 114 if params.driver == "PostgreSQL" then
115 sql = sql:gsub("`", "\""); 115 sql = sql:gsub("`", "\"");
116 end 116 end
117 if not connection then
118 return nil, 'connection failed';
119 end
117 -- do prepared statement stuff 120 -- do prepared statement stuff
118 local stmt, err = connection:prepare(sql); 121 local stmt, err = connection:prepare(sql);
119 if not stmt and not test_connection() then error("connection failed"); end 122 if not stmt and not test_connection() then
123 return nil, "connection failed";
124 end
120 if not stmt then module:log("error", "QUERY FAILED: %s %s", err, debug.traceback()); return nil, err; end 125 if not stmt then module:log("error", "QUERY FAILED: %s %s", err, debug.traceback()); return nil, err; end
121 -- run query 126 -- run query
122 local ok, err = stmt:execute(...); 127 local ok, err = stmt:execute(...);
123 if not ok and not test_connection() then error("connection failed"); end 128 if not ok and not test_connection() then
129 return nil, "connection failed";
130 end
124 if not ok then return nil, err; end 131 if not ok then return nil, err; end
125 132
126 return stmt; 133 return stmt;
127 end 134 end
128 function setsql(sql, ...) 135 function setsql(sql, ...)