# HG changeset patch # User Waqas Hussain # Date 1293412235 -18000 # Node ID 16170a66e140e02fe91fd909798e4884c29e033a # Parent aa5e93e617606ce9e0120357bc9a1d1a87a5f66b mod_storage_sql: Dynamically replace backquotes with double quotes when connecting to PostgreSQL... diff -r aa5e93e61760 -r 16170a66e140 plugins/mod_storage_sql.lua --- a/plugins/mod_storage_sql.lua Mon Dec 27 06:10:35 2010 +0500 +++ b/plugins/mod_storage_sql.lua Mon Dec 27 06:10:35 2010 +0500 @@ -29,12 +29,13 @@ 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 @@ 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