diff options
author | Waqas Hussain <waqas20@gmail.com> | 2010-12-27 06:10:35 +0500 |
---|---|---|
committer | Waqas Hussain <waqas20@gmail.com> | 2010-12-27 06:10:35 +0500 |
commit | e96a87344cf41cf392f29692b43225995f271c2c (patch) | |
tree | 05ead05ddd293549cb1d0a5814c48aa072eef3ff /plugins/mod_storage_sql.lua | |
parent | 92c4204ee2bedfdf279e7d2051ed1a9293a61802 (diff) | |
download | prosody-e96a87344cf41cf392f29692b43225995f271c2c.tar.gz prosody-e96a87344cf41cf392f29692b43225995f271c2c.zip |
mod_storage_sql: Dynamically replace backquotes with double quotes when connecting to PostgreSQL...
Diffstat (limited to 'plugins/mod_storage_sql.lua')
-rw-r--r-- | plugins/mod_storage_sql.lua | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/plugins/mod_storage_sql.lua b/plugins/mod_storage_sql.lua index 12c8eebe..ca024329 100644 --- a/plugins/mod_storage_sql.lua +++ b/plugins/mod_storage_sql.lua @@ -29,12 +29,13 @@ local json = { stringify = function(s) return require"util.serialization".serial local connection = ...; local host,user,store = module.host; +local params = module:get_option("sql"); do -- process options to get a db connection local DBI = require "DBI"; - local params = module:get_option("sql") or { driver = "SQLite3", database = "prosody.sqlite" }; - assert(params and params.driver and params.database, "invalid params"); + params = params or { driver = "SQLite3", database = "prosody.sqlite" }; + assert(params.driver and params.database, "invalid params"); prosody.unlock_globals(); local dbh, err = DBI.Connect( @@ -85,6 +86,9 @@ local function deserialize(t, value) end local function getsql(sql, ...) + if params.driver == "PostgreSQL" then + sql = sql:gsub("`", "\""); + end -- do prepared statement stuff local stmt, err = connection:prepare(sql); if not stmt then return nil, err; end |