diff options
author | Kim Alvefur <zash@zash.se> | 2016-03-13 17:38:49 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2016-03-13 17:38:49 +0100 |
commit | b65ec4aebe68d0810faa076c7ae68acc2abe34e3 (patch) | |
tree | 59690cb5d2a5d04796a8e9c7188ebd320c711154 /util | |
parent | 89df062a5e59c9bad2e15b0b11a89361cc439cb1 (diff) | |
download | prosody-b65ec4aebe68d0810faa076c7ae68acc2abe34e3.tar.gz prosody-b65ec4aebe68d0810faa076c7ae68acc2abe34e3.zip |
util.sql: Move per-driver (currenly only PostgreSQL) query transform into its own method
Diffstat (limited to 'util')
-rw-r--r-- | util/sql.lua | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/util/sql.lua b/util/sql.lua index 9981ac3c..85664567 100644 --- a/util/sql.lua +++ b/util/sql.lua @@ -124,6 +124,14 @@ end function engine:onconnect() -- Override from create_engine() end + +function engine:prepquery(sql) + if self.params.driver == "PostgreSQL" then + sql = sql:gsub("`", "\""); + end + return sql; +end + function engine:execute(sql, ...) local success, err = self:connect(); if not success then return success, err; end @@ -153,17 +161,13 @@ local function debugquery(where, sql, ...) end function engine:execute_query(sql, ...) - if self.params.driver == "PostgreSQL" then - sql = sql:gsub("`", "\""); - end + sql = self:prepquery(sql); local stmt = assert(self.conn:prepare(sql)); assert(stmt:execute(...)); return stmt:rows(); end function engine:execute_update(sql, ...) - if self.params.driver == "PostgreSQL" then - sql = sql:gsub("`", "\""); - end + sql = self:prepquery(sql); local prepared = self.prepared; local stmt = prepared[sql]; if not stmt then |